(向左滑动,查看完整代码) 核心代码行: reward_numerator = get_base_reward(state, index) * (attesting_balance // increment) rewards[index] += reward_numerator // (total_balance // increment) (向左滑动,查看完整代码) 在理想状态下验证人的收益就是 4 倍的 BaseReward ,而 BaseReward 的计算公式如下: def get_base_reward(state: BeaconState, index: ValidatorIndex) -> Gwei: total_balance = get_total_active_balance(state) effective_balance = state.validators[index].effective_balance return Gwei(effective_balance * BASE_REWARD_FACTOR // integer_squareroot(total_balance) // BASE_REWARDS_PER_EPOCH) # BASE_REWARD_FACTOR = 64 基础奖励倍数 # BASE_REWARDS_PER_EPOCH = 4 每个 Epoch 的基础奖励 # effective_balance 验证人的有效余额 # integer_squareroot(total_balance) 所有有效余额的开平方 (向左滑动,查看完整代码) 出块人将会得到 BaseReward / 8 的出块奖励: def get_proposer_reward(state: BeaconState, attesting_index: ValidatorIndex) -> Gwei: return Gwei(get_base_reward(state, attesting_index) // PROPOSER_REWARD_QUOTIENT) (向左滑动,查看完整代码)
(责任编辑:admin) |