想要浏览Ethereum 区块链上面的公开资料,除了直接与节点互动之外,你还可以透过blockchain explorer 来快速掌握所需资讯。
阅读本文仅需对Ethereum 有基础的认识,并不需要任何撰写程序的经验。但是,笔者仍鼓励读者应额外深入探究各个栏位的设计哲学与原理,以达通盘了解各项架构之运作原理。
本文将透过截图让读者了解Etherscan 网页罗列的各项数值之意思,所有举例的内容均可以自行覆核,且均为随机挑选、无推销单一项目之意图。
Block Page
假设我们想了解block14895081发生了什么事?您可以前往Etherscan 首页,并于搜寻框输入数字做查询,接着应能看到以下画面:
① 显示您正在看哪个block number,点「<」和「>」可以切换不同block
② 包裹这个block 的miner/proposer 提交的时间戳记,随着使用的浏览器自动调整时区(此栏位原始资料为Unix epoch 1654230140)
③ 这个block 与前一个block 时间戳记的差值
④ 给PoW miner 的固定奖励(注:在The Merge 后将取消这部分奖励)
⑤ 这个block 的所有transaction fee 总和
⑥ 这个block 的所有burnt fee 总和(请参考⑩ 的说明)
⑦ 把这个区块的difficulty(注:在The Merge 后将永远是0x0)加上前一个区块的total difficulty,就能得到这个区块的total difficulty
⑧ 把这个区块的gas used 除以gas limit 就能得到gas 实际消耗比例
⑨ 把这个区块的gas used 除以15M gas,就能得到与EIP-1559设定之区块gas target 差异量的比例
⑩ 把gas used 乘以base fee per gas 就能得到burnt fee 总和(EIP-1559 机制将区块内所有base fee 都燃烧掉,而非给予miner;此栏位等于⑥)
⑪ 包裹这个block 的miner/proposer 提交的额外资讯(长度至多32 bytes)
pstransaction经常会简写成txn,所以 txn fee 就是transaction fee
接着,点击网页当中的「73 transactions」按钮,将开启另一个页面,其表列出包含在这个block 之内的所有transaction 细节。
List of Transactions
新开启的网页表列出这个block 所有transaction 的细节:
① 如果transaction hash 前面有「橙色」惊叹号,代表它是reverted transaction,错误发生在执行internal transaction(message call)的过程
② 如果transaction hash 前面有「红色」惊叹号,代表它是reverted transaction,错误发生在执行transaction 本身
③ 如果看到transaction fee 后方有「绿色气球」,代表transaction 是以type-2(EIP-1559)格式发送到Ethereum 区块链
④ 这个直行的数值代表transaction 所携带的ETH 数额(msg.value)
⑤ 把这个直行的所有数字加总起来,就等于Figure 1 当中的⑤
接着,点击网页当中的任意一条transaction hash,将开启另一个页面显示更多关于transaction 的执行细节。(假设我们如图所示点击第一条txn)
Transaction Page
关于Figure 2 的第一条transaction细节,在下方Figure 3 当中一览无遗:
① Ethereum 最新block number 与包含这条txn 的block number 的差异量
② 时间戳记的性质与Figure 1 ② 相同
③ Etherscan 的伺服器首次发现这条transaction 之后,经过多久时间这条transaction 才被纳入这个block
④ 这个数值的性质与Figure 2 ④ 相同
⑤ 把(gas) usage by transaction 乘以gas price 就能得到transaction fee
⑥ 把(gas) usage by transaction 乘以base fee (per gas) 就能得到burnt fee
⑦ 若( Base fee + Max Priority fee) ≦ Max fee,则gas price = ( Base fee + Max Priority fee);反之,gas price = Max fee;非EIP-1559 transaction 的gas price 则由交易发起者指定,超过Base fee 的份额才会交给block miner/proposer
⑧ 把(gas) usage by transaction 乘以( Max fee - gas price) 就能得到transaction savings,意思是EIP-1559 帮助交易发起者省下的钱。
⑨ 此txn 是发起者(tx.origin)从古至今发出的第几笔(zero-indexed)
⑩ 这条transaction 是block 第七十三个被执行的交易(zero-indexed)
ps 可能有读者想看看gas price 在⑦ 的各种情况实例,请读者参考这个block 的position 12、position 72和position 13 transaction。
怎么计算Base Fee Per Gas?
自从London hard fork 之后,EIP-1559 改善原本使用者对设定gas price 高低无所适从的情况。
以下将用图示解释,上述范例怎么获得base fee per gas 数值,一切的开头请从block14895080的gas used 开始阅读:
① 21,679,567 > 15,000,000
② Delta percentage = 21,679,597 ÷ 15,000,000 ≈ +44.5304%
③ (+44.5304%) × (+12.5%) ≈ +5.5663%
④ 44,479,108,103 Wei × (1+5.5663%) ≈ 46,954,966,827 Wei
⑤ Base fee (per gas) @ block 14895081= 46,954,966,827 Wei
如果区块的gas used 比起15M gas target 少,那就把factor 改成负12.5%;如果刚好吻合15M gas target,那么base fee per gas 将与前个block 相同、保持不变。另外,每一个区块的gas used 天花板是30M gas,而且每次base fee per gas 升降不会超过±12.5% 的幅度。
本文链接地址:https://www.wwsww.cn/ytf/12560.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。