概述 eth 是 RLPx 传输协议,可促进 peer 之间的以太坊区块链信息交换。当前的协议版本是 eth/67。 这里分析 geth 中对于eth 协议说明的实现。 注册 eth 协议为 p2p 子协议 // New creates a new Ethereum object (including the // initialisation of the common Ethereum object) func New(stack *node.Node, config *ethconfig.Config) (*Ethereum, error) { ... // Ensure configuration values are...

Snapshots 快照我们谈论快照已经有很长时间了,最 ​​ 终在一个版本中看到它们感觉很奇怪。无需赘述(参见链接文章),快照是以太坊状态之上的一种加速数据结构,可以显着加快读取账户和合约存储的速度。 给快照加上一个数字后,快照功能将访问帐户的成本从 O(logN) 降低到 O(1)(todo:这里是什么原因?)。乍一看这可能看起来不多,但实际上,在拥有 1.4 亿个帐户的主网上,快照可以为每个帐户读取节省大约 8 次数据库查找。这几乎比磁盘查找少了一个数量级,保证了与状态大小无关的常数。 哇,这是否意味着我们可以将 gas 限制提高 10 倍?不,不幸的是。虽然快照确实为我们提供了 10 倍的读取性能,但 EVM 执行也会写入...