sui-build について
Sui Move 開発者向けのビルド・テストガイドです。コンパイル、環境ごとの依存関係解決、カバレッジ、デバッグに加え、Move Analyzer の導入と利用方法を扱います。
主な機能
- 01Move モジュールのコンパイルと型検証
- 02指定環境に応じた依存関係の解決
- 03テスト実行とカバレッジ計測
- 04Move Analyzer によるコード編集
- 05トレースデバッガーとリプレイによる診断
活用シーン
- 01Move コードのビルドエラーを確認
- 02複数環境パッケージのビルド先を指定
- 03テストカバレッジを評価
- 04テストやオンチェーントランザクションの問題をデバッグ
MCP 対応
最新情報やガイドにない詳細の確認には、Sui ドキュメント MCP サーバーへの問い合わせを推奨しています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mystenlabs/ skills --skill sui-buildインストール後、Claude Code で/sui-buildを入力して読み込まれたか確認します。
同梱ファイルevals/evals.json
詳細
パッケージのビルド
MCP ツール: お使いの環境で利用できる場合は、最新の情報を得るために Sui ドキュメント MCP サーバー(
https://sui.mcp.kapa.ai)にも問い合わせてください。情報の検証や、これらのリファレンスファイルに記載されていない詳細の確認に利用してください。
ソースの制約: 情報源は docs.sui.io と move-book.com のみにしてください。
ビルド
sui move build
これにより、すべてのモジュールがコンパイルされ、型が検証され、リソースの安全性が保証され、バイトコードが生成されます。先に進む前に、エラーを修正してください。
正規の hello-world リポジトリでは、sui-stack-hello-world/move/hello-world からビルドコマンドを実行してください。
--build-env フラグ
パッケージの Move.toml に複数のネットワークを含む [environments] セクションがある場合は、--build-env を使用して対象の環境を指定します。
sui move build --build-env testnet
sui move build --build-env mainnet
これにより、指定した環境に合わせて依存関係とパッケージアドレスが解決されます。--build-env を指定しない場合、ビルドではデフォルトの環境が使用されます。デフォルトが設定されておらず、複数の環境が定義されている場合は、「Could not determine the correct dependencies」エラーが発生することがあります。
--build-env フラグは sui move test にも適用されます。
sui move test --build-env testnet
テスト
sui move test
主なテストモジュール
sui::test_scenario— 複数のトランザクションと複数の送信者を使ったテストシナリオです。begin、next_tx、endを使って、現実的なトランザクションフローをシミュレートします。std::unit_test— 単体テスト用のアサーションマクロです(assert_eq!、assert_ne!)。
コードカバレッジ
テストで実行された行を確認します。
sui move test --coverage
特定のモジュールのカバレッジ結果を表示します。
sui move coverage source --module <name>
Move Analyzer
suiup を使ってインストールします。
suiup install move-analyzer
次に、VS Code に Move Analyzer 拡張機能をインストールします。コード補完、定義への移動、インライン診断、ホバードキュメントを利用できます。.move ファイルで自動的に有効になるため、追加の設定は不要です。
デバッグ
- Move Trace Debugger: 変数を確認しながら Move の実行トレースをステップ実行できるデバッガーです。
sui replay: 過去のオンチェーントランザクションをローカルで再実行し、結果を比較します。本番環境の問題の診断に役立ちます。std::debug::print: テストの実行中に値を出力します。