学習ロードマップ
This content is not available in your language yet.
このコースは6つのレベルで構成されています。Level 1から順番に進めることを推奨します。
Level 1: 基礎を固める├── 1-1. XRPLとxrpldの概要├── 1-2. 環境構築(依存ツールのインストール)├── 1-3. xrpldのビルド├── 1-4. ローカルネットワークを起動する├── 1-5. コードベースを探索する└── 1-6. よくあるビルドエラーと対処
Level 2: コードを読む├── 2-1. ディレクトリ構造の全体像├── 2-2. トランザクション処理の流れ├── 2-3. Ledgerの仕組み├── 2-4. テストの読み方・書き方├── 2-5. ログを使ったデバッグ└── 2-6. RPC/WebSocket APIの処理を追う
Level 3: 貢献する├── 3-1. good first issueの探し方├── 3-2. 開発ワークフロー(ブランチ・コミット規約)├── 3-3. コーディング規約├── 3-4. PRの作成と説明の書き方├── 3-5. コードレビューへの対応└── 3-6. Conan依存とCI/ビルドパイプライン
Level 4: 深掘りする├── 4-1. コンセンサスアルゴリズム(RPCA)├── 4-2. P2Pオーバーレイネットワーク├── 4-3. アメンドメントの仕組み├── 4-4. SHAMapの詳細├── 4-5. パフォーマンスチューニング└── 4-6. NodeStoreとストレージ層
Level 5: ローカルでxrpldを変える├── 5-1. 実践前の準備と安全な進め方├── 5-2. SetRegularKeyを読んで変える├── 5-3. 失敗するテストから実装を確認する└── 5-4. 実験変更をPR候補に整理する
Level 6: 本格実装する├── 6-1. 本格実装の入口├── 6-2. 新しいトランザクションタイプを追加する流れ├── 6-3. アメンドメントを定義して機能を追加する├── 6-4. Invariant Checksの仕組み└── 6-5. 総合演習:設計判断を含むPRへ進む基本は Level 1 から順番に進みます。ただし、Level 3 は「すぐに大きな実装PRを出す章」ではなく、コントリビューションの作法を先に知る章です。Level 5 を終えるまでは、最初のPR候補はドキュメント修正や既存挙動を明確にするテスト追加のような、小さく安全な変更に絞るのがおすすめです。
Level 4 は深掘り用です。コンセンサス、P2P、SHAMap、NodeStore を一度に完全理解する必要はありません。全体像をつかんだら Level 5 に進み、必要になったテーマへ戻って読む進め方でも構いません。
レベルごとの目標
Section titled “レベルごとの目標”| レベル | テーマ | 終えるとできること |
|---|---|---|
| Level 1 | 基礎を固める | xrpldをビルドし、ローカルネットを起動できる |
| Level 2 | コードを読む | 主要モジュールと処理フローを説明できる |
| Level 3 | 貢献する | 小さなissueを選び、PR作成・レビュー対応の流れを説明できる |
| Level 4 | 深掘りする | コンセンサス・P2P・ストレージの入口を必要に応じて読める |
| Level 5 | ローカルで変える | 実ファイルを変更し、テストでxrpldの挙動変化を確認できる |
| Level 6 | 本格実装する | 新機能・アメンドメント・Invariantを含む変更を設計できる |
Level 1 のチェックリスト
Section titled “Level 1 のチェックリスト”Level 1を終えると、以下ができるようになります。
- xrpldのビルドをゼロから成功させる
- ローカルでXRPLネットワークを起動・操作できる
- コードベースの全体構造を説明できる
- 主要なディレクトリの役割を理解している
Level 2〜6 のチェックリスト
Section titled “Level 2〜6 のチェックリスト”| レベル | チェックポイント |
|---|---|
| Level 2 | トランザクションがRPCから Transactor へ届く流れを説明できる |
| Level 3 | 初心者向けissueを選び、作業開始前に方針をコメントできる |
| Level 4 | 深掘りテーマを必要に応じて選び、関連ファイルへたどれる |
| Level 5 | 既存トランザクションを小さく変更し、テストで挙動変化を確認できる |
| Level 6 | 新機能に必要なアメンドメント・Invariant・テスト方針を説明できる |
必要な前提知識
Section titled “必要な前提知識”| 項目 | 必要度 | 補足 |
|---|---|---|
| コマンドライン操作 | 必須 | bash/zshの基本操作 |
| Git | 必須 | clone, branch, commitができれば十分 |
| C++の基礎 | あると良い | 読めれば十分、最初は書けなくてもOK |
| ネットワーク/TCP | あると良い | P2P通信を理解するために役立つ |
| ブロックチェーン基礎 | あると良い | XRPL固有の概念はDojoで解説します |
開発環境の要件
Section titled “開発環境の要件”- OS: macOS, Ubuntu 22.04/24.04, または Windows (WSL2)
- メモリ: 16GB以上推奨(ビルドに時間がかかります)
- ストレージ: 20GB以上の空き容量
- CPU: マルチコア推奨(ビルド時間が大幅に短縮されます)