ethereum/go-ethereum
7 articles
Prerequisites
- ›Basic Go language knowledge (interfaces, packages, struct embedding)
- ›Fundamental Ethereum concepts (blocks, transactions, accounts, EVM)
Navigating go-ethereum: Architecture Overview and Directory Map
A guided tour of the go-ethereum codebase structure, mapping every top-level package to its domain and revealing the interface-driven design philosophy.
From main() to Running Node: The Geth Boot Process
Traces the complete startup sequence from main() through CLI parsing, Node creation, Ethereum service construction, and the lifecycle state machine.
Block Execution: Blockchain, StateDB, and the EVM
Explores the core execution pipeline: BlockChain management, consensus validation, state processing, and the table-driven EVM interpreter architecture.
State Storage: From StateDB Down to Disk
Peels back the four-layer storage stack: StateDB, Merkle Patricia Trie, TrieDB (hash vs. path schemes), and on-disk key-value stores.
Transactions In Motion: Pool Architecture and P2P Propagation
Follows a transaction's lifecycle from P2P arrival through pool admission, broadcast, and the SubPool aggregator pattern.
Serving the World: JSON-RPC, Engine API, and API Architecture
Explores how Geth exposes functionality through JSON-RPC, the reflection-based registration framework, and the Engine API.
Getting Your Hands Dirty: Building, Testing, and Contributing to Geth
A practical guide to building Geth, understanding its testing strategy, code generation patterns, and how new hard forks are implemented.