FABRKNT
Reth 入門 — Rust Ethereum の世界へ
なぜRust Ethereumスタックなのか
レッスン 6 / 11·CONTENT12 分20 XP
コース
Reth 入門 — Rust Ethereum の世界へ
レッスンの役割
CONTENT
順序
6 / 11

レッスン5 — Solana / Anchor から Reth へ — 持ち越せるもの

問い

Solana / Anchor 開発経験者向け(経験なければスキップ可)。Rust の文法と Solana の Anchor フレームワークから、Reth スタックへ持ち越せるもの・できないもの。アカウントモデルが根本的に違うので頭の切り替えが必要。

原理(最小モデル)

  • Rust 言語スキル全部持ち越し. 所有権 / 借用 / Result / async / trait / マクロ — どちらも Rust なので、言語レベルでは同じ。
  • アカウントモデルが根本違い. Solana = アカウントごとフラットマップ + tx が事前に読み書きアカウント宣言、Ethereum = コントラクトごとに storage trie + 任意 SLOAD/SSTORE。
  • Anchor の #[account] macro → Solidity の storage layout. どちらも「アカウントの構造を宣言」する意図、表現は違うが概念は対応。
  • Solana CPI(Cross-Program Invocation)→ Ethereum CALL/DELEGATECALL. どちらもコントラクト間呼び出し、Solana は account list 明示 / Ethereum は msg.sender + 借用パターン。
  • 並列実行のメンタルモデル. Solana は静的並列(tx が read/write 集合を事前宣言)、Ethereum block-stm(楽観的並列、衝突検出 + 再実行)。両方とも Rust 並行性スキルが効く。
  • Programs / Smart contracts の違い. Solana プログラムは upgrade 可能(authority 経由)、Solidity コントラクトは immutable(proxy パターンで擬似 upgrade)、設計時の前提が違う。

具体例 + ステップで組み立てる

Solana / Anchor から Reth へ — 持ち越せるもの (Solana 経験が無ければスキップ)

📌 対象。 本レッスンは Solana で ship した経験がある人向け — Anchor プログラム、Jito MEV bot、Solana プログラムのテスト、Firedancer コントリビュータ、solana-programanchor-lang を触ったことがある人。Solana を触ったことが無いなら、Rust 環境を整える に飛んでください。本レッスンに依存する後続レッスンはありません。

多くのカリキュラムは Solidity からの移行を前提にするが、あなたは 異なるランタイムモデル上で Rust を書いてきた 立場である。本レッスンは、その経験を Reth 側へ翻訳するレイヤーである。

1. 持ち越せるもの(実はかなり多い)

Solana で苦労して身につけたスキルは、Rust EVM スタックでも価値をそのまま保ちます

Solana で身についたスキルこちらでの着地
Rust の所有権 / ライフタイム / 非同期同じである。Solidity から来た人が必要とする「Rust への 3 週間」を飛ばせる。
低レベルシステムコードを読む筋力Reth と Revm は solana-program より密ですが、読み方の作法 は同じ — 外から内へ、トレイトの形を信じて、テストで答え合わせ。
「自分が所有しないエンジン」を扱う感覚Firedancer へのパッチや Jito relayer 読解経験があれば、Reth の fork モデルはすぐ読める。
並列実行への馴染みSealevel で並行状態操作を考えた経験は、Reth の stage パイプラインで関心事を並行実行する場面にそのまま効く。
cargo 周辺の手の速さ同じである。workspace、feature、マクロデバッグの cargo expand までそのまま使える。

率直に言えば、あなたの Rust スキルは EVM 側エンジニアの多くが持っていない資産 である。このカリキュラムで最も重い 中級への橋渡し の Rust モジュールも、ほぼ復習になる。

2. 構造的に違うところ

逆に、ここはモデルが本当に違う点だ。

概念SolanaReth / EVM
状態アカウント単位で事前宣言 (account モデル)コントラクト単位のストレージ、slot キーの SLOAD / SSTORE で動的に
並列性アカウント単位、ランタイムがスケジュール (Sealevel)ブロック内は逐次。ExEx / Reth SDK で並列コンポーネントを後付けできる
プログラムグローバルな 1 つのプログラムにアカウントを渡す各コントラクトが自分のバイトコードとストレージを持つ
計算予算tx あたり線形なガス類似の予算EVM ガス、opcode ごとに非自明なコストカーブ
検証カスタム syscall を持つ BPF VMEOF + execution spec tests を持つ EVM
署名者最初から最後まで Ed25519基本は secp256k1、将来は account abstraction で耐量子へ

いちばん大きな発想転換は、ストレージがコントラクト単位であり、アカウント単位ではない 点である。Solana では状態を持つアカウントを渡すが、EVM では コントラクト自身が状態 になる。Inside Revm の Database トレイトは丁寧に読む価値があり、「どの AccountInfo に触れるか」への EVM 側の答えになっている。

たとえば、ユーザごとにカウンタを更新する Solana プログラムの等価形は、EVM では mapping(address => uint256) counter になる。コントラクトがslotキーを所有し、各ユーザのカウンタは keccak256(user_address . slot) に置かれる。Solana はユーザごとに1アカウント、EVMは全員分を1コントラクトのストレージ trie に詰める、という違いである。

3. 2 つのスタックが交わる場所 — HyperEVM、Tempo

次のチェーンは Solana 流の性能を EVM セマンティクスへ持ち込むため に作られている。Solana から移る読者にとって自然な着地点である。

  • HyperEVM (Hyperliquid): HyperBFT コンセンサスを持つ Reth fork。EVM バイトコードを、Solana 出身者が期待する性能水準で execution layer が走らせる。HyperEVM を読むことは、Solana由来の性能感覚を EVM 側へ持ち込む訓練になる。
  • Tempo: Stripe が支える Reth ベース決済チェーン。高スループットのステーブルコイン送金向けに設計され、Solana の決済rail経験がほぼ翻訳なしで活きる。
  • MegaETH: もう1つの Reth ベース高性能チェーンで、Solana 風UXを狙う。

Solana → Reth は格下げではない。 チェーン専用ランタイムから、次世代高性能 レッスン1/レッスン2 が乗ろうとしている実行エンジンへの移籍である。Rust EVM スタックは、スキルが複利で効く場所である。

4. 具体的な文化の違い — source-first か abstraction-first か

Solana 出身者からよく出る論点はここである。

  • Anchor: 抽象が厚い。フレームワークが SVM、シリアライズ、アカウント検証を隠す。#[derive(Accounts)] を信じる場面が増え、障害時に本物のSVM挙動へ辿るまで時間がかかる。
  • Firedancer / Jito: source-first。C を読み、relayer を読み、パッチを当てて再ビルドする。文化は素晴らしいけれど、参加できる範囲が狭い(Firedancer のコントリビューション窓口は事実上閉じていて、Jito はオープンだが Solana 専用)。
  • Reth / Revm / Foundry: 設計段階から source-first で、しかも 開かれた コントリビューション窓口を持つ。メンテナ自身が「ここを読んでカスタムノードをshipせよ」という流れを明示し、RethLab もこの文化上に組まれている。

Anchor 抽象が不透明に感じていた人にとって、RethLab はホームに近い。Firedancer / Jito を楽しめたが応用範囲を広げたい人にとって、Rust EVM スタックはその拡大版になる。

5. あなた向けに地図を引き直すと

Rust の素地を踏まえた、流し読み・じっくり読みの目安は以下の通りである。

セクション読み方の目安
Beginner — Rust 環境を整える流し読み。rustup はすでに入っているはず。
Fundamentals — Rust 非同期 / トレイト / ジェネリクス流し読み。これは持っている。
Fundamentals — EVM 概念じっくり読む。 Solana モデルとの差が現れる場所。
中級への橋渡し — EVM をバイト単位でじっくり読む。 dispatch loop、ガス、call frame — 全部新しい。
中級への橋渡し — ソース読みのための Rust流し読み。ジェネリクス、Arc、unsafe、マクロ — あなたには復習。
Inside Revm / Inside Reth / Inside Alloyじっくり読む。 ここが本題。
L1 Architecture (Advanced) tier来た目的のひとつ。 特に Consensus と Cross-Chain Bridges。
Expert + Buildingアウトプット。読んだことを実装に変える。

6. あなたが賭けているもの

Solana のランタイムは優れているが、Solana専用である。Reth は 多くのチェーンが乗る基盤 であり、Hyperliquid、Tempo、OP-Reth、MegaETH、Berachain へ広がり続ける。Rust EVM スタックは、1チェーンではなく広い レッスン1/レッスン2 全体でスキルが複利で効く場所である。

これは Solana を貶す話ではなく、Reth を読めるエンジニアが希少で、しかも Reth に賭けるチェーンが急増している という観察である。Solana で鍛えた Rust の直感は、Solidity から移る人より早く、その希少ニッチへ到達させる。

次へ

Rust 環境を整える を飛ばして直接 Fundamentals に向かってもよい(Rustツールチェーンは既にあるはずである)。Foundry / Anvil をまだ触っていなければ、Rust 環境を整える を流し読みする手もある。どちらでも先へ進める。

まとめ(3行)

  • 言語レベル(Rust)は全持ち越し、アカウントモデル(フラット vs storage trie)は頭の切り替え必須、CPI ↔ CALL / Anchor → Solidity layout 等の対応関係。
  • 並列実行は Solana 静的 vs Ethereum block-stm 楽観的、両方とも Rust 並行性スキル活用、upgrade モデルも違う(Solana 可 / Solidity 擬似)。
  • Solana 経験は Rust 力で 8 割持ち越し、次は Reth vs Geth / Alloy vs ethers-rs の置き換え根拠。