コース
まず概念のフレーミングから始め、次にパスを選ぶ: フラッグシップの OpenHL 構築、前提となる Rust Ethereum シーケンス、任意のスタック・ディープダイブ、または上級アーキテクトのレール。
ビルドパスを選ぶ前に、まずここから。
この 2 つのレッスンは RethLab のフレーミング層 — カタログの残りを位置づけやすくする世界観と脅威モデル。
perp エンジンをエンドツーエンドで構築したい人に最も明快なルート。まず概念レイヤー、その後 devnet から ADL までの OpenHL 実装チェーンを辿ります。
この順で: Primer → Devnet → CLOB → Precompiles → Funding → Liquidation → ADL
Perp DEX Primer — DIY Perp track の前提となる永久先物の仕組み
DIY Perp track(Build OpenHL コース群)の実装レッスンが暗黙のうちに前提にしていた perp(永久先物)の概念レイヤーを 4 レッスンで明示化する。コードなし、openhl reference なし — その後の Rust コードを読み解くために必要な perp メカニズムだけを扱う。Spot / 伝統的 futures / perp の違い、funding が anchor を保つ仕組み、margin model の 4 状態、liquidation + insurance fund + ADL の 3 段セーフティネット。Funding / Liquidation コース実装は本 primer の式の Rust 化として読める状態に到達する。
Step 1. Consensus — cargo init から single-validator devnet 構築
Hyperliquid シェイプの L1 コンセンサス層をスクラッチで構築する。プロダクションクオリティの Reth (EVM) と Malachite (BFT) を単一の Rust workspace へ統合し、end-to-end でのブロック生成機構を実装。リファレンス実装(psyto/openhl)をベースに手を動かしながら学ぶ、「DIY Perp シリーズ」の記念すべきファーストステップである。
Step 2. CLOB — マッチングエンジンの追加とステートマシンの統合
前層で組み上げたコンセンサス・サブストレート上に、Price-Time Priority 準拠のマッチングエンジンを実装する。CLOB を決定論的な純粋ステートマシン(Pure State Machine)として設計し、その約定イベント(fill)をブリッジを介してコンセンサス側でコミットされたブロックへと結合する。「DIY Perp シリーズ」の第2ステップ。コアとなる取引実行レーンを自作する。
Step 3. Precompiles — EVM 拡張による CLOB ステートのスマートコントラクト連携
前回構築した CLOB ステートマシンを、カスタム EVM Precompile として再定義し、スマートコントラクト層へシームレスに結合する。コントラクトから well-known なアドレスを介してマッチングエンジンを直接 Read/Write するランタイムを実装。発生した fill(約定イベント)をブリッジ経由で次期ペイロードへ伝播させるデータパイプラインを完遂させる。「DIY Perp シリーズ」の第3ステップ。App-chain のコアとなる EVM 拡張基盤をハックする。
Step 4. Funding:決定論的数学パイプラインと Funding ステートマシンの構築
Perpetual DEX の命脈である funding メカニズムのステートマシンをスクラッチで実装する。固定小数点演算による、再現可能で deterministic な数学パイプライン (premium → rate → settlement) を構築。これを no-catch-up セマンティクスを厳格に強制する interval clock によって制御する。本コースでは外部 I/O を一切排除した Pure state machine として完結させ、ブリッジへの統合は次章へと繋ぐ。「DIY Perp シリーズ」の第4ステップ。数理ロジックをコードに落とし込む真髄を学ぶ。
Step 5. Liquidation:レバレッジ環境における非単調性の発見と清算エンジンの構築
永久先物(Perpetual Futures)の清算エンジン中核をEnd-to-Endで実装する、DIY Perpシリーズ第5弾。 アカウントの4フェーズ分類(pure compute)、保険基金(Insurance Fund)のステートマシン、そしてマルチアカウント・スキャナーを1つのオーケストレーション・ループへ結合する。さらに、レバレッジ環境特有の「非単調性」を proptest で炙り出す手法や、debug_assert! による契約検証まで網羅する。Liquidation三部作に対応する全13レッスンを通じ、バイト単位(Byte-for-byte)で一致する堅牢な実装を構築する。
Step 6. ADL — auto-deleveraging、safety-net cascade の Layer 3
保険基金が損失を吸収しきれなかった際の発火回路、最終防衛線「Auto-deleveraging (ADL)」を実装するDIY Perpシリーズ第6弾。 利益の出ているカウンターポジションをランキングし、オーダーブックをバイパスした「帳簿の直接書き換え(Bookkeeping mutation)」による強制クローズとヘアカットを実装する。さらに、破綻を防ぐ「Feedback-loop crash」のメカニズム解説や、システムの決定性を証明する5つの不変条件(Invariant)プロパティテストも網羅する。全5レッスンを通じ、ADL参照実装パートに対応するByte-for-byteの一致を達成する。
Rust Ethereum が初めての人向けのオンランプ。まず世界観、次にツールキット、そして深いコースの前にソース読解の橋渡しを行います。
Reth 入門 — Rust Ethereum の世界へ
Rust Ethereum スタック(Reth / Revm / Alloy)の世界への入口を 11 レッスンで開く — Ethereum を systems engineering として読む / 4 つの adversarial 力 / 3 つ巴の役割分担 / Solana との比較 / 既存 (Geth, ethers-rs) との置き換え根拠 / Rust 環境準備 / クイックリファレンス / 最初の宿題 + 初級まとめクイズ。BEGINNER 向け、修了時に Fundamentals → Bridge to Advanced → 3 中級コース(Inside Revm / Inside Reth / Inside Alloy)へ進む準備が整う。
Reth Fundamentals — Alloy で動かす最初の一歩
Rust × Ethereum の最初の道具立てを 11 レッスンで揃える — Rust の所有権 / Result / async、Alloy の Address / U256 / Signer / Provider、EVM のスタックマシンと 5 記憶領域、Revm 実行エンジン、Foundry ツールチェイン。BEGINNER 向け、3 クイズで定着確認、修了時に 3 中級コース(Inside Revm / Inside Reth / Inside Alloy)へ進む準備が整う。
スタックを読む — 中級への橋渡し
Beginner(Reth Fundamentals / Reth 入門)を終えて、3 中級コース(Inside Revm / Inside Reth / Inside Alloy)に進む前の橋渡し。10 レッスンで Solidity → bytecode 翻訳、EVM の 5 記憶領域、ガス機構とコールフレーム、ブロック・レシート・reorg、Solidity → Rust 移行マップ、generics / trait bounds / ?Sized / dyn vs impl、Arc / Mutex / RwLock、unsafe Rust、macro_rules!、最後にソース読解コースの読み方。中級コースのソース読みに必要な語彙と Rust 文法の最小セットを揃える。
任意ながら強力な、ソースレベルの読解群。フラッグシップ実装パスの前または並行して、より強い直感を得たいエンジニア向け。
Foundry を極める — Rust 規律を Solidity へ移す
rethlab の Rust 規律(proptest! / debug_assert! / 保存則 / byte-for-byte 答え合わせ)を Solidity contract に 1:1 で移植する。`forge test` / `forge fuzz` / `forge invariant` / `cast` / `anvil` + cheatcodes を順に歩き、最後に openhl-liquidation の `InsuranceFund` を Rust → Solidity で port して 4 保存則 invariant を 2 言語で証明する Capstone。3 中級コースのうち Foundry 系の入口。
Inside Alloy — Rust Ethereum ライブラリを読む
alloy のソースを 1 行ずつ読み解く — Rust EVM スタックの **ネットワーク層 + 認証層** を、`Provider`・`Network`・`Signer`/`Filler` のトレイトファミリ越しに歩く。3 つの独立した中級コース(Revm・Reth・Alloy)の 1 つで、受講順は自由。alloy は Reth と dapp が依拠する基盤なので、Rust で Ethereum を扱うあらゆる場面で本コースは効いてくる。
Inside Revm — EVM エンジンを読む
revm のソースを 1 行ずつ読み解く — Rust EVM スタックの **実行エンジン**を、`add` Opcode + 命令テーブル + カスタム Opcode + `Database` トレイト + テスト + 並列 + JIT/AOT のチェーンで歩く。3 つの独立した中級コース(Revm・Reth・Alloy)の 1 つで、受講順は自由。Reth は revm を実行エンジンに、dapp は revm を bytecode シミュレーションに使うので、Rust で EVM を触るあらゆる場面で本コースは効いてくる。
Inside Reth — シンク・拡張・SDK
Reth の本物のソースを読む — Rust EVM スタックの **DB + 分散システム + 並行性層**。Staged Sync (10 ステージの ETL パイプライン)、ExEx (Execution Extensions — インプロセスのインデクサ・MEV・リスクエンジン用)、Reth SDK (自前の App-chain を組み立てる)。3 つの独立した中級コース (Revm・Reth・Alloy) の 1 つ — `Database` トレイトと Revm 実行モデルへの慣れを前提にする箇所があるので、Inside Revm を先にやることを推奨。
スタックのシステム側: コンセンサス、ブリッジ、シーケンシング、バリデータ運用、本番エンジニアリング、そしてアプリケーションの完全な作り込み。
Consensus Engineering — Reth で L1 のコンセンサスを作る
「reth を読める」から「L1 chain を出荷できる」までの最大のギャップを埋めるコース。コンセンサスは Rust EVM スタックの残りの層 — DB、VM、ネットワーク、並行性 — を **ひとつのチェーンとして束ねる** 層。コンセンサス理論を一から (BFT、safety/liveness、FLP)、Rust 製コンセンサスエンジンの実コード (reth の Consensus trait、Malachite、bera-reth の Proof-of-Liquidity) を読み、Reth ベース chain にカスタムコンセンサスを配線する。HyperBFT を読んで Tempo クラスの L1 chain を出荷する準備ができる。
Cross-Chain Bridges — CCIP から light client まで
chain 間で価値がどう動くかを正直に会計する: 「この multisig を信頼」から「source chain のコンセンサスしか信頼しない」までの trust モデル、攻撃の歴史 ($2B+ 盗まれた)、本番 bridge コード (OP Standard Bridge、Chainlink CCIP、Wormhole、IBC) を読み、Reth 上に最小の light-client 検証 bridge を作る。Tempo↔Solana 決済、OP-stack bridge、ZK light client を architect する準備ができる。
Sequencer & Rollup アーキテクチャ — 中央集権ブロック生成から共有 sequencer まで
現代の L2 が実際どう動くか: sequencer の役割、batch 投稿と data availability、fraud proof vs validity (ZK) proof、op-rbuilder と op-batcher を読み、Reth 上で最小 sequencer を作り、単一オペレータから共有 sequencer までの分散化パス。Tempo Moderato 級の L2 を architect、OP Stack chain を出荷、次の共有 sequencer を作る準備ができる。
P2P ネットワーキング内部 — devp2p からカスタム gossip まで
すべての blockchain が依存するが少ないエンジニアしか理解しないネットワーク層。devp2p vs libp2p、peer discovery (Kademlia、ENR)、RLPx 暗号化、transaction gossip、eth/68 サブプロトコル、reth の network crate を読み、peer scoring、MEV / private orderflow / sequencer coordination 用のカスタム gossip 動作を構築。
Validator 運用 — 鍵、slashing、協調アップグレード
コンセンサスのコードを書くことと、本番でコンセンサスを動かし続けることの間にある運用層を扱う。Validator の鍵管理 (hot 鍵、HSM、MPC、閾値署名)、slashing 検知と double-signing の防止、協調 hardfork アップグレードまで。動くコンセンサス実装を、オペレータが stake を失わずに済む本番 L1 に変えるためのスキル。
Reth Expert — 本番エンジニアリング
Rust EVM スタックのすべての層をまたぐハードコアな実装: DB 層 (MDBX 内部、MPT)、並行性層 (Tokio ランタイム)、コンパイラ / VM 層 (カスタム Precompile、zkEVM、Tempo Zones を題材とする EVM プライバシー)、production エンジニアリング (プロファイリング、キャッシュ意識の Rust、本番 MEV パイプライン、手続きマクロ、tracing 内部、Reth フォーク運用、differential fuzzing、chaos engineering、systems-code auditing、OSS 貢献ワークフロー)、そして Reth ベース chain の拡張パターン (extension model、OP Stack on Reth、custom ChainSpec / executor / payload builder、Reth ベース L1 ケーススタディ(alphanet / Tempo / MegaETH)、ペイメントレール工学)。Hyperliquid / Tempo / OP-stack クオリティのバーで Rust EVM コードを ship する準備ができる。なお本コースの一部スニペットは概念説明用で、そのままでは実行できない(擬似コード・省略記法を含む)ため、本文の注記に従って読み解く。
Building with the Stack — 実アプリを作る
ソース読解は前提条件であり、このティアはその実装編である。Rust + Alloy + Revm で 10 本のアプリを作り、systems engineering スタックの各層を少なくとも 1 度ずつ通る。対象は MEV searcher、ExEx インデクサ、カスタム RPC、wallet backend、EIP-7702 sponsor、Foundry スタイル cheatcode、swap aggregator、frontrun-resistant router、cross-client validation、HTTP 402 + MPP endpoint。