欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
全部教程·
区块链·
ETH
[目录]
·
以太坊 挖矿奖励
以太坊 教程
以太坊 智能合约
以太坊 ETH GAS
以太坊 虚拟机
以太坊 分布式应用
以太坊 账号
以太坊 虚拟机架构
以太坊 网络节点
以太坊 以太币单位
以太坊 挖矿
以太坊 Ethash共识算法
以太坊 Gas
以太坊 epoch
以太坊 区块结构
以太坊 LSM树
以太坊源码分析
以太坊 启动流程 以太坊 命令行库 以太坊 RPC 以太坊 账户管理 以太坊 交易 以太坊 共识引擎 以太坊 stateObject 以太坊 挖矿 以太坊 MPT 以太坊 数据存储 以太坊 Ethash算法 以太坊 控制台 以太坊 EVM 以太坊 地址算法 以太坊 keystore 以太坊 go-bindata 以太坊 RLP编码 以太坊 Transaction 以太坊 区块存储 以太坊 清除交易 以太坊 txpool 以太坊 交易、存储 以太坊 难度计算 以太坊 每年产量 以太坊 共识算法 以太坊 新区块流程 以太坊 blockchain以太坊资料
以太坊 面试题 以太坊 撤销交易 以太坊 加速交易 以太坊 节点 以太坊 state 以太坊 搭建私链 以太坊 genesis 以太坊 genesis处理 以太坊 ChainId NetworkId 以太坊 区块存储和查找 以太坊 RLP编码 以太坊 区块大小 以太坊 空块 以太坊 挖矿奖励 以太坊 Basefee 以太坊 EIP-1559协议 以太坊 MEV 以太坊 gas 以太坊 指标测量与监控 以太坊 ABI是什么
以太坊 教程
以太坊 智能合约
以太坊 ETH GAS
以太坊 虚拟机
以太坊 分布式应用
以太坊 账号
以太坊 虚拟机架构
以太坊 网络节点
以太坊 以太币单位
以太坊 挖矿
以太坊 Ethash共识算法
以太坊 Gas
以太坊 epoch
以太坊 区块结构
以太坊 LSM树
以太坊源码分析
以太坊 启动流程 以太坊 命令行库 以太坊 RPC 以太坊 账户管理 以太坊 交易 以太坊 共识引擎 以太坊 stateObject 以太坊 挖矿 以太坊 MPT 以太坊 数据存储 以太坊 Ethash算法 以太坊 控制台 以太坊 EVM 以太坊 地址算法 以太坊 keystore 以太坊 go-bindata 以太坊 RLP编码 以太坊 Transaction 以太坊 区块存储 以太坊 清除交易 以太坊 txpool 以太坊 交易、存储 以太坊 难度计算 以太坊 每年产量 以太坊 共识算法 以太坊 新区块流程 以太坊 blockchain以太坊资料
以太坊 面试题 以太坊 撤销交易 以太坊 加速交易 以太坊 节点 以太坊 state 以太坊 搭建私链 以太坊 genesis 以太坊 genesis处理 以太坊 ChainId NetworkId 以太坊 区块存储和查找 以太坊 RLP编码 以太坊 区块大小 以太坊 空块 以太坊 挖矿奖励 以太坊 Basefee 以太坊 EIP-1559协议 以太坊 MEV 以太坊 gas 以太坊 指标测量与监控 以太坊 ABI是什么eth以太坊挖矿奖励计算公式
普通区块奖励
固定奖励 + 交易手续费 + 引用叔块奖励
- 固定奖励: 根据blocknum的分区,给与不同的奖励
- 交易手续费: 每个区块上的每笔交易中 gasUse*gasPrice的累加
- 引用叔块奖励:叔块个数 * (固定奖励* 1/32)
交易手续费:
- gasUse 来源 transactionReceipt
- gasPrice 来源 transactiongasUse * gasPrice
叔块奖励计算
叔块奖励:单个叔块奖励的累加
单个叔块的奖励:(叔块高度 + 8 - 包含叔块的区块的高度) * 固定奖励 / 8
源码分析
位于 ethash/consensus.go文件中:
// AccumulateRewards credits the coinbase of the given block with the mining// reward. The total reward consists of the static block reward and rewards for// included uncles. The coinbase of each uncle block is also rewarded.// 矿工区块奖励包括:区块固定奖励和包含的叔块奖励。// 同时,给与每一个叔块奖励func accumulateRewards(config *params.ChainConfig, state *state.StateDB, header *types.Header, uncles []*types.Header) { // Select the correct block reward based on chain progression blockReward := FrontierBlockReward if config.IsByzantium(header.Number) { blockReward = ByzantiumBlockReward } if config.IsConstantinople(header.Number) { blockReward = ConstantinopleBlockReward } // Accumulate the rewards for the miner and any included uncles reward := new(big.Int).Set(blockReward) r := new(big.Int) for _, uncle := range uncles { // 叔块给挖出矿工的奖励是主块奖励的 n/8,其中n=1-7 r.Add(uncle.Number, big8) r.Sub(r, header.Number) r.Mul(r, blockReward) r.Div(r, big8) state.AddBalance(uncle.Coinbase, r) // 叔块给打包矿工的奖励是主块奖励的 n/32 r.Div(blockReward, big32) reward.Add(reward, r) } state.AddBalance(header.Coinbase, reward)}
下一章:以太坊 Basefee
EIP-1559 引入了基础费(Basefee),升级后的以太坊手续费就分成两个部分:基础费和矿工小费。基础费用是交易所需的最少花费,由系统直接销毁,小费就是矿工所得的矿工费。以太坊区块中销毁的 ETH 就是这个区块 ...
AI 中文社