ethereum/go-ethereum
7 articles
前置知识
- ›Go 语言基础知识(接口、包、结构体嵌入)
- ›以太坊核心概念(区块、交易、账户、EVM)
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 的构建方式、测试策略、代码生成模式,以及新硬分叉的实现方法。