MUD Onchain Dev
概要
MUDアプリ開発を「仕様整理 → スキーマ/システム設計 → 実装 → 検証 → デプロイ/運用」の順で進める。ローカル環境の最短セットアップから、ECSモデリング、クライアント連携、障害対応までを同じ基準で扱う。
クイックスタート
- •対象プロジェクトがMUD v2系か確認する。
- •変更対象を
contracts(World/System/Schema)とclient(同期/UI)に分離する。 - •先にデータモデル(テーブル、主キー、整合性)を決めてからSystemを書く。
- •System単体テストとシナリオテストを実行し、クライアント同期を検証する。
- •デプロイ時はチェーン設定、権限、環境変数を再確認する。
実行ワークフロー
1. 要件整理
- •「誰が」「いつ」「どのSystemを呼び」「どのテーブルがどう変わるか」を文章で固定する。
- •オンチェーン必須データと、オフチェーンでよい派生データを分離する。
- •競合しうる同時操作(例: 同一エンティティ更新)を明示する。
2. ECSスキーマ設計
- •
Entityを軸に正規化し、将来拡張が必要な列は早めに分割する。 - •hot path で頻繁に読む値は、読取回数を減らせる構造にする。
- •書き込みコストの高い操作は、イベント駆動や集約テーブルで回数を抑える。
3. World/System実装
- •1つのSystemは1つの責務に寄せる。
- •失敗条件は先に検証し、理由が分かるrevert設計にする。
- •外部呼び出しがある場合は順序と再入可能性を点検する。
4. クライアント同期
- •クライアントは「最終状態」ではなく「状態遷移」を前提に設計する。
- •optimistic UIを使う場合は、ロールバック条件と表示規約を定義する。
- •インデクサ遅延やRPC遅延時のフォールバック表示を用意する。
5. 検証と品質ゲート
- •最低限、以下を毎回確認する。
- •スキーマ破壊的変更の有無。
- •主要Systemの成功/失敗パス。
- •ガス増加の有無(変更前後比較)。
- •クライアント表示とチェーン状態の一致。
6. デプロイと運用
- •チェーンプロファイル、デプロイアカウント、権限設定を固定してから実行する。
- •デプロイ後は初期データ整合性と主要ユースケースのスモークテストを行う。
- •障害時は「契約状態」「インデクサ状態」「クライアント状態」を分離して調査する。
このスキルで読む参照資料
- •実装手順全体:
references/workflow.md - •ECS/World設計指針:
references/architecture.md - •障害対応と運用チェック:
references/operations.md
出力ルール
- •変更提案時は必ず「対象ファイル」「変更理由」「副作用」「検証方法」をセットで提示する。
- •仕様が曖昧なまま実装を進めず、先に不足条件を列挙して確定する。
- •MUD特有の制約(ガス、同期遅延、状態競合)を必ず明示する。