第12章 付録#
本章は、本書全体で用いた用語・チェックリスト・一次情報を集約した参照用の章です。各項目は、本書の各章で実際に使用・実施した内容から抽出しています。個別の解説は該当章を参照してください。
12.1 用語集(日英対訳)#
本書で実際に用いた用語のみを収録します。定義は本書での用法に沿った簡潔なもので、正確な仕様は初出章および一次情報(12.3)を参照してください。
Solana / プログラム開発
| 用語 | 英語表記 | 本書での意味 | 初出 |
|---|---|---|---|
| Agave | Agave | Solana のバリデータクライアント実装。CLI も Agave 系(旧称 solana-cli) | 第2章 |
| PDA | Program Derived Address | 秘密鍵を持たず、シードとプログラム ID から導出されるアドレス | 第3章 |
| CPI | Cross-Program Invocation | あるプログラムが別プログラムを呼び出す仕組み | 第7章 |
| ATA | Associated Token Account | 所有者とミントから一意に定まる標準トークン口座 | 第6章 |
| Anchor | Anchor | Solana プログラム開発の Rust フレームワーク。本体は otter-sec/anchor(移管済み) | 第4章 |
| AVM | Anchor Version Manager | Anchor CLI のバージョンを切り替える管理ツール | 第4章 |
| LiteSVM | LiteSVM | Rust の高速なインプロセステスト環境 | 第4章 |
| Surfpool | Surfpool | mainnet フォーク環境でのテスト基盤 | 第9章 |
| MSRV | Minimum Supported Rust Version | crate がサポートする最小 Rust バージョン | 第4章 |
| has_one 制約 | has_one constraint | 指定フィールドが署名者等と一致することを検証する Anchor の制約 | 第7章 |
| Verifiable Build | verifiable build | デプロイ済みバイナリがソースから再現できることを検証するビルド | 第10章 |
| upgrade authority | upgrade authority | プログラムをアップグレードできる権限の保持者 | 第11章 |
Token-2022 / Token Extensions
| 用語 | 英語表記 | 本書での意味 | 初出 |
|---|---|---|---|
| Token-2022 | Token-2022 / Token Extensions | 拡張機能を持つ新しいトークン規格(標準 SPL Token の後継) | 第2章 |
| Transfer Hook | Transfer Hook | 転送時にプログラムを呼び出し、可否を検証させる拡張 | 第3章 |
| Permanent Delegate | Permanent Delegate | 受領者の承認なしに移転・burn できる恒久的な委任先 | 第3章 |
| Default Account State | Default Account State | 新規トークン口座の既定状態(本書では Frozen)を定める拡張 | 第3章 |
| Metadata Pointer | Metadata Pointer | メタデータの所在を指すポインタ拡張 | 第3章 |
| Token Metadata | Token Metadata | ミント自身に持たせるメタデータ本体 | 第6章 |
| Confidential Transfer | Confidential Transfer | 金額を秘匿する発展的な拡張(本書では本編対象外) | 第2章 |
| freeze / thaw | freeze / thaw | freeze authority による口座の凍結 / 凍結解除 | 第6章 |
| freeze authority | freeze authority | 口座を freeze / thaw できる権限 | 第6章 |
| ExtraAccountMetaList | ExtraAccountMetaList | Hook が必要とする追加アカウントを宣言する仕組み | 第7章 |
| transferring フラグ | transferring flag | 転送コンテキスト中であることを示すトークン口座のフラグ | 第7章 |
RWA / 金融 / コンプライアンス
| 用語 | 英語表記 | 本書での意味 | 初出 |
|---|---|---|---|
| RWA | Real World Assets | 現実世界の資産。オフチェーン資産をトークンで表章する対象 | 第2章 |
| 表章 | representation | トークンが権利そのものではなく権利を「表す」ものであること | 第2章 |
| 私募債 | private bond | 本書が題材とする RWA(限られた投資家に発行する社債) | 第1章 |
| 法的ストラクチャ | legal structure | 資産・権利を法的に定める器と契約の総体 | 第2章 |
| SPV | Special Purpose Vehicle | 資産保有・管理のための特別目的会社 | 第2章 |
| カストディ | custody | 現実資産・権利証の保管・管理 | 第2章 |
| KYC / AML | Know Your Customer / Anti-Money Laundering | 顧客確認 / マネーロンダリング対策 | 第2章 |
| アテステーション | attestation | 適格性等をオンチェーンで証明する仕組み | 第3章 |
| SAS | Solana Attestation Service | Solana 公式のアテステーション基盤(本書では概念のみ) | 第3章 |
| 許可リスト | allowlist / registry | 移転を許可する投資家を管理するオンチェーンの登録簿 | 第3章 |
| 強制回収 | forced transfer / clawback | permanent delegate による発行体主導の強制移転・回収 | 第3章 |
| マルチシグ | multisig | 複数署名を要する権限管理(本書では権限移管で言及) | 第3章 |
| 監査証跡 | audit trail | 操作を後から追跡できる記録(本書ではイベント・program log) | 第7章 |
12.2 全チェックリスト集#
各章の実手順から集約した確認項目です。詳細な手順・根拠は該当節を参照してください。
12.2.1 環境構築チェックリスト(第4章)#
- [ ] 対象 OS を確認した(Linux / macOS。Windows は WSL2 経由。第4章 4.1)
- [ ] Rust ツールチェーンを導入し、
rust-toolchain.tomlで 1.89.0 に固定した(4.3) - [ ] Agave CLI(3.1.13)を導入し、devnet に切り替え・鍵を生成した(4.4)
- [ ] AVM 経由で Anchor CLI 1.1.2 を導入した。配布元が otter-sec/anchor(移管済み)であることを確認した(4.5)
- [ ] Node.js(24.x)と TypeScript クライアントを準備した(4.6)
- [ ]
anchor build --no-idlでビルドし、cargo testで全 26 テストが通ることを確認した(4.8) - [ ] トラブルシューティングの既知事例を把握した:GLIBC 不足(TS-4)、AVM のソースビルド失敗(TS-2)、IDL 生成失敗は
--no-idl(TS-5)ほか(4.9)
12.2.2 AI 利用統制チェックリスト(第5章)#
- [ ] エージェントに任せる領域と人間が握る領域を区分した(権限設計・鍵管理・デプロイ承認は人間。5.1)
- [ ] 公式 Agent Skills を導入し、名称・版を記録した(5.2)
- [ ] CLAUDE.md 等にバージョン・使用 SDK・禁止事項・検証規則を記載した(5.4)
- [ ] AI 生成コードを無検証でコミットしていない(ビルド・テスト・レビューを通した。5.5.1)
- [ ] 依存パッケージの実在・発行元を crates.io / npm で確認した(サプライチェーン対策。5.5.2)
- [ ] 秘密鍵・シードフレーズ・本番 RPC キーをエージェントのコンテキストに渡していない(5.5.3)
- [ ] サードパーティのスキル・MCP を、公式性・実績・内容確認の三点で審査した(5.6)
- [ ] CI の機械的ゲート(ビルド・全テスト・lint・依存監査)を通す設計にした(5.7 / 第9章 9.7)
12.2.3 デプロイ前チェックリスト(第11章 11.1)#
- [ ] 第三者監査を受け、指摘を解消した(第10章 10.4)
- [ ] 全テストが通り、CI ゲートが緑である(第9章 9.7)
- [ ] devnet でのリハーサル(E2E)を確認した(第9章 T-40)
- [ ] authority をマルチシグへ移管した(第11章 11.3)
- [ ] Verifiable Build を実施・公開した(第10章 10.5)
- [ ] 免責・規制関連記述の法務レビューを終えた(第1・2章)
本リファレンス実装では、監査・権限移管・Verifiable Build・法務確認は未完了です。これらが「完了」になってから mainnet デプロイに進む想定です(第11章 11.1)。
12.2.4 運用チェックリスト(第11章 11.4 SOP)#
SOP-1 投資家の追加(オンボーディング):
- [ ] KYC 完了を確認した(第8章 8.2)
- [ ]
register_investorで Approved 登録した - [ ] トークン口座を作成した(既定で Frozen)
- [ ] freeze authority で口座を thaw した
- [ ] mint authority で発行・配布した(実証:第9章 T-11)
SOP-2 凍結(サスペンド):
- [ ]
set_investor_statusで Suspended に変更した - [ ] 必要に応じて freeze authority で口座を freeze した(実証:第9章 T-02 / T-03 / T-12)
SOP-3 強制回収(thaw → 回収 → 再 freeze):
- [ ] 発動が社内規程・法務判断で承認されている(第10章 10.7)
- [ ] 回収先トレジャリー口座が registry に Approved 登録されている
- [ ] 対象口座が Frozen なら thaw した
- [ ] permanent delegate の署名で強制移転した
- [ ] 回収後に対象口座を再 freeze した(実証:第9章 T-20 / T-21 / T-22 / T-23)
12.2.5 監査前パッケージ準備物(第10章 10.4.2)#
- [ ] リポジトリ全体(プログラム・クライアント・テスト)と README
- [ ] 動作確認済みバージョン表(
docs/versions.md) - [ ] テストスイート(26 テスト)と要件トレーサビリティ表(第3章 R- ↔ 第9章 T-)
- [ ] CI 定義と実機グリーンの記録(第9章 9.7)
- [ ] 設計上の判断記録(強制回収の免除設計など)
- [ ] 脅威モデル(想定攻撃者・保護対象・信頼境界)【追加で用意】
- [ ] 権限保持者の一覧と運用規程(10.2 の棚卸し表を実保持者に置換)【追加で用意】
- [ ] デプロイ対象のコミットハッシュと検証可能ビルドのハッシュ(10.5)【追加で用意】
12.3 参考文献・一次情報リンク集#
本書の各章で根拠とした一次情報を、取得日付きで集約します。本書は公式一次情報のみを根拠とし、ブログ・まとめ記事は根拠に用いていません(設計書 2.1 L2)。第三者(Solana 公式 org でない)の配布物は、その旨を明記します。
公式ドキュメント
| 参照先 | 内容 | 主な参照章 | 取得日 |
|---|---|---|---|
| https://solana.com/docs | Solana 公式ドキュメント(デプロイ・Verifiable Build 等) | 第10・11章 | 2026-07-27 |
| https://solana.com/docs/programs/verified-builds | 検証可能ビルド(solana-verify 推奨・Docker 必須) | 第10章 | 2026-07-27 |
| https://www.solana-program.com/docs/token-2022/extensions | Token-2022 拡張の仕様(org: solana-program 公式) | 第3・6・7・8・9章 | 2026-07-23〜27 |
| https://www.anchor-lang.com/docs/installation | Anchor 公式インストール手順 | 第4章 | 2026-07-24 |
| https://www.anchor-lang.com/docs/references/avm | AVM の公式手順 | 第4章 | 2026-07-24 |
| https://solana.com/solutions/real-world-assets | Solana 公式 RWA ページ(拡張の帰属・掲載市場値) | 第2章 | 2026-07-27 |
| https://solana.com/skills | 公式 Agent Skills 一覧 | 第5章 | 2026-07-27 |
| https://docs.squads.so/main | Squads 公式ドキュメント(第三者製) | 第11章 | 2026-07-27 |
公式 GitHub(発行元 org を確認済み)
| リポジトリ | org / 内容 | 主な参照章 | 取得日 |
|---|---|---|---|
| github.com/anza-xyz/agave | anza-xyz。Agave(Solana CLI)本体 | 第4・9章 | 2026-07-24 |
| github.com/anza-xyz/kit | anza-xyz。@solana/kit(クライアント SDK) | 第6章 | 2026-07-22 |
| github.com/solana-program/transfer-hook | solana-program。Transfer Hook インターフェース | 第7・9章 | 2026-07-23〜24 |
| github.com/solana-foundation/solana-attestation-service | solana-foundation。SAS(本書では概念のみ) | 第3・7・8章 | 2026-07-24〜27 |
| github.com/solana-foundation/solana-dev-skill | solana-foundation。公式 Agent Skills(license: MIT) | 第5章 | 2026-07-27 |
| github.com/solana-foundation/solana-mcp-official | solana-foundation。公式 Solana MCP サーバ | 第5章 | 2026-07-27 |
| github.com/LiteSVM/litesvm | LiteSVM。Rust 高速テスト環境 | 第9章 | 2026-07-24 |
リポジトリ移管(要注意・帰属は org まで確認)
| リポジトリ | 状態 | 取得日 |
|---|---|---|
| github.com/otter-sec/anchor | Anchor 本体の正リポジトリ(移管済み・非フォーク)。crates.io anchor-cli の repository もこれ |
2026-07-24 |
| github.com/solana-foundation/anchor | 旧 Anchor URL。otter-sec/anchor へ 301 リダイレクト | 2026-07-24 |
| github.com/coral-xyz/anchor | 旧 Anchor URL。同上 301 リダイレクト | 2026-07-24 |
| github.com/solana-foundation/solana-verifiable-build | solana-verify CLI の canonical(solana-foundation org へ移管済み・非フォーク)。保守は Ellipsis Labs + OtterSec | 2026-07-27 |
| github.com/Ellipsis-Labs/solana-verifiable-build | 旧 solana-verify URL。solana-foundation/solana-verifiable-build へ 301 リダイレクト | 2026-07-27 |
名前だけでフォークと即断しないでください。リポジトリの帰属は organization 名まで確認します(設計書 v1.2「Anchor リポジトリ移管の確認記録」)。Anchor 本体・solana-verify はいずれも移管済みで、旧 URL は 301 リダイレクトします。なお crates.io の
avmクレートはschultyy/avmという無関係の別物です。Anchor の avm は Anchor リポジトリ内にあり、CI でcargo install avmを用いてはいけません(第9章 9.7.3)。
第三者(Solana 公式 org ではない)配布物
| 参照先 | 位置づけ | 主な参照章 | 取得日 |
|---|---|---|---|
| github.com/Squads-Protocol/v4 | マルチシグ Squads(第三者製・AGPL-3.0。mainnet program ID: SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf) |
第11章 | 2026-07-27 |
| github.com/Ackee-Blockchain/trident | ファジングフレームワーク(Ackee Blockchain 社製・第三者) | 第9章 | 2026-07-24 |
| app.rwa.xyz | 第三者アナリティクス集計(公式一次情報ではない旨を第2章に明記) | 第2章 | 2026-07-27 |
第三者製の配布物を採用する際の注意: 上記は特定ベンダーの推奨ではありません。採用時は、配布元 org と実績・ライセンスを確認し、選定基準に照らして判断してください(第5章 5.6・第8章・第11章)。市場数値(rwa.xyz)は第三者集計であり、公式値(solana.com)とはスコープが異なるため一致しません(第2章 2.4)。
一次情報の再確認について: 上記 URL・内容は各取得日時点のものです。ツールチェーン・仕様・市場数値は変化します。特に未実施工程(mainnet デプロイ・マルチシグ移管・Verifiable Build)を実施する際は、公式一次情報で現行の手順を再確認してください(第10・11章)。
12.4 バージョン互換表と本書の改訂方針#
12.4.1 バージョン互換の要点#
動作確認済みバージョンの一覧は第1章 1.4(および docs/versions.md)にあります。本書で特に注意すべき互換性の要点は次のとおりです。
- crate ライン統一: 本プロジェクトは solana-* ^3 ラインで統一しています。旧来の monolith crate
spl-token-2022(9.x 系、solana-* ^2.2 ライン)とは非互換です。anchor-spl 1.1.2 が用いる interface crate ライン(spl-token-2022-interface ^2等)を使い、混在させないでください(第1章 1.4)。 - LiteSVM の併存: LiteSVM 0.10.0 は互換表上「solana-* 3.3+」に対応します。anchor-lang 1.1.2(solana-* ~3.1 系)とはテスト実行時に併存しますが、ビルド・全テストが成功しており、本スコープでは問題ありません(
docs/versions.md)。 - Rust の固定: ワークスペース直下の
rust-toolchain.toml(1.89.0)が、システムの新しい rustc より優先されます。Anchor 1.1.2 の MSRV と一致します。 - Node のマイナー差: 固定値 24.15.0 と検証コンテナ実測 24.18.0 の差はビルドに影響しません(第4章 4.1.3)。
12.4.2 本書の改訂方針#
本書は、Solana のツールチェーンが変化する前提で、四半期ごとに点検します(設計書 3.7)。改訂のトリガとする主な事象は次のとおりです。
- Anchor / Token-2022 のメジャー変更
- Agave(Solana CLI)のメジャー変更
- SAS・公式 Agent Skills の仕様変更
- 市場数値(第2章 2.4)の時点更新
- 固定した依存 crate / npm パッケージの版差の点検(第1章 1.4 のピン値と crates.io / npm の現行安定版の乖離。例:
spl-token-2022-interface・litesvmは意図的に interface ライン/v1 テンプレ既定へピンしており、更新は anchor-spl のラインに合わせて判断する) - 参照リポジトリの移管・帰属の再確認(Anchor 本体・solana-verify は移管の実績あり。旧 URL のリダイレクト状況と canonical org を点検する)
改訂時は、地雷リスト照合と一次情報の再確認(設計書 Phase 4 の検証パス)を必ず再実行します。
12.4.3 公開後のアンカー安定化ルール#
本書は Markdown をマスターとし、静的サイトジェネレータ(SSG)で HTML 化して公開します(設計書 0.4)。公開後の見出し文言の変更は、リンク切れを防ぐため改訂会議の承認事項とします(設計書 2.2)。見出し番号(章.節.項)は相互参照の基準であり、番号体系の変更も同様に統制します。
12.5 サンプルコードリポジトリの構成と実行方法#
本書のリファレンス実装は、次の構成です(README を正とします)。
.
├── Anchor.toml # ワークスペース設定(program id 固定)
├── Cargo.toml # ワークスペース(resolver=2, edition 2021)
├── rust-toolchain.toml # Rust 1.89.0 に固定
├── package.json / tsconfig.json # TypeScript クライアント(@solana/kit)
├── programs/registry/ # 投資家許可リスト(Anchor プログラム)
│ ├── src/… # registry(4命令)
│ └── tests/test_registry.rs # LiteSVM テスト
├── programs/transfer_hook/ # Token-2022 Transfer Hook(ネイティブプログラム)
│ ├── src/lib.rs # SPL Transfer Hook インターフェース準拠
│ └── tests/ # 統合テスト・攻撃系テスト
├── scripts/
│ └── create-mint.ts # 拡張付き Token-2022 ミント作成
├── .github/workflows/ci.yml # CI(5ゲート。第9章 9.7)
└── docs/
├── versions.md # 動作確認済みバージョン表
├── test-cases-ch9.md # テストケース表(要件トレーサビリティ)
└── session-log.md # 作業記録
ビルドとテスト(詳細は第4章 4.8):
# Anchor CLI を 1.1.2 に固定(未固定の場合)
$ avm install 1.1.2 && avm use 1.1.2
# 全プログラムをビルド(registry.so / transfer_hook.so を生成)
$ anchor build --no-idl
# 全テスト実行(registry + transfer_hook。26 テスト)
$ cargo test
ミント作成スクリプト(devnet を対象。要 airdrop 済み payer):
$ npm install # package-lock.json でバージョン固定
$ npm run typecheck # 型チェック
$ RPC_URL=https://api.devnet.solana.com npm run create-mint
本スクリプトはローカル生成のテスト鍵のみを使用し、本番鍵は扱いません(第1章 1.7)。
ライセンスと公開: 本稿の執筆時点で、リポジトリにライセンスは設定されていません。公開する場合は、コードと文書のそれぞれについてライセンスを確定させてください(第1章 1.6)。サンプルコードリポジトリの公開有無とライセンスは、発注側の決定事項です(設計書「次のアクション」)。公開版リポジトリを用意する際は、各章冒頭の一次情報 URL の HTML コメントを削除し、本章 12.3 のリンク集に集約された形にします(style-rules 検証規則4)。
12.6 本章の自己チェック表#
| 観点 | 結果 |
|---|---|
| スタイル規則違反 | なし(です・ます調、相互参照は番号、コードブロックに言語指定、価格・投資リターン・マーケティング語彙・法的判断示唆なし) |
| 用語集の出所 | 全章(2〜11)で実際に使用した用語のみを収録。使っていない用語は載せていない。初出章は本文の実出現に基づく |
| チェックリストの出所 | 各章の実手順から集約(環境=第4章 / AI 統制=第5章 / デプロイ前=第11章 11.1 / 運用=第11章 11.4 SOP / 監査前=第10章 10.4.2)。各項目に出典節番号 |
| 参考文献の集約 | 全章の HTML コメントの一次情報 URL を取得日付きで集約。第三者製(Squads-Protocol / Ackee-Blockchain / rwa.xyz)は公式 org でない旨を明記。移管リポジトリ(Anchor 本体=otter-sec / solana-verify=solana-foundation。旧 URL は 301)は移管表に分離し帰属を明示 |
| バージョン整合 | 1.4 / docs/versions.md と一致。本文中に「latest」「最新版」の記載なし(コード内の text ブロックは説明用) |
| ライセンスの扱い | 未設定である旨を明記(公開前に確定=発注側の決定事項。第1章 1.6 と整合) |
[要検証] の残数 |
0件(集約は既存章・README・versions.md の実記述に基づく。未確定事項=ライセンスは「未設定」と事実として明記) |
| 章間の接続 | 全章(第1〜11章)を参照先として集約する索引的な章として構成 |