コンテンツにスキップ

第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-interfacelitesvm は意図的に 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章)を参照先として集約する索引的な章として構成