Read OSS

ethereum/go-ethereum

7 articles

前置知识

01

深入 go-ethereum:架构概览与目录结构导航

系统梳理 go-ethereum 代码库的结构,逐一解析每个顶层包的职责范围,并揭示其以接口为核心的设计哲学。

02

从 main() 到节点运行:Geth 的启动流程

完整追踪从 main() 开始的启动序列,涵盖 CLI 解析、Node 创建、Ethereum 服务构建以及生命周期状态机。

03

区块执行:BlockChain、StateDB 与 EVM

深入探讨核心执行流水线:BlockChain 管理、共识验证、状态处理,以及基于跳转表的 EVM 解释器架构。

04

状态存储:从 StateDB 到磁盘

深入剖析四层存储架构:StateDB、默克尔帕特里夏树、TrieDB(哈希方案与路径方案),以及底层键值存储。

05

交易的流转:交易池架构与 P2P 传播机制

追踪交易从 P2P 到达、进入交易池、广播扩散,直至被打包上链的完整生命周期,并深入解析 SubPool 聚合器模式。

06

对外提供服务:JSON-RPC、Engine API 与 API 架构

深入探讨 Geth 如何通过 JSON-RPC 对外暴露功能,包括基于反射的注册框架以及 Engine API 的工作原理。

07

动手实践:构建、测试 Geth 并参与贡献

一份实用指南,涵盖 Geth 的构建方式、测试策略、代码生成模式,以及新硬分叉的实现方法。