本文作者:Ray 这篇文章是 Geth 源码系列的第六篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在第六篇文章中,我们将深入研究以太坊的 Blockchain 结构,Blockchain 代表的是以太坊共识结果,Blockchain 模块会负责验证新的区块、处理链重组以及区块的存储和检索,本文将深入研究 Blockchain 的设计及实现。Blockchain 简介在以太坊中,用户提交交易之后的所有流程,包括交易传播、出块节点选择、共识层选择链的过程,都是为了最终产出区块做准备。出块节点通过打包交易来产出区块,新区块会去链接前一个区块,最终形成一个链状结构,也就是区块链,Blockchain 模块的职责就是管理这个过程,与共识层配合,共同完成区块链状态和区块的维护。Blockchain 架构及生命周期Blockchain 负责对共识结果的持久化,连接了共识层和持久化数据库,负责将区块链网络中以及产生的共识结果持久化到本地。在正常情况下,区块链网络共识过程正常,节点也能正常接收对应的共识结果,执行...