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 からディスクまで

4層のストレージスタックを解剖する。StateDB、Merkle Patricia Trie、TrieDB(ハッシュ方式とパス方式)、そしてオンディスクのキーバリューストアまで。

05

トランザクションの流れ:プールアーキテクチャとP2P伝播

P2Pでの到着からプールへの受け入れ、ブロードキャスト、SubPoolアグリゲーターパターンまで、トランザクションのライフサイクルを追う。

06

世界に向けてサービスを提供する:JSON-RPC、Engine API、APIアーキテクチャ

GethがJSON-RPCを通じて機能を公開する仕組み、リフレクションベースの登録フレームワーク、そしてEngine APIについて解説します。

07

実践入門:Gethのビルド・テスト・コントリビューション

Gethのビルド方法、テスト戦略、コード生成パターン、そして新しいハードフォークの実装方法を解説する実践ガイド。