acton について
Acton TON CLI Workflowは、TONコントラクト開発でActonコマンドラインツールを使うためのスキルです。プロジェクト作成、ビルド、テスト、チェック、スクリプト実行を扱い、コマンドの挙動は導入済みCLIと公式ドキュメントで確認する方針です。
主な機能
- 01Actonプロジェクトの作成と初期化
- 02コントラクトのビルドとラッパー生成
- 03テスト、カバレッジ、ミューテーションテスト
- 04コードチェックとソース整形
- 05スクリプト実行とネットワーク状態の確認
活用シーン
- 01TONコントラクトプロジェクトの立ち上げ
- 02CIでのビルドと品質チェック
- 03コントラクトのスクリプトとネットワーク連携のテスト
- 04CLIコマンドとバージョン差異の確認
MCP 対応
ドキュメントには`acton ls --stdio`と`acton ls --port`が記載されていますが、MCP機能についての説明はありません。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ton-blockchain/ skills --skill actonインストール後、Claude Code で/actonを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/command-map.mdtroubleshooting.md詳細
Acton TON CLI ワークフロー
信頼できる情報源
- コマンドの表記と動作については、インストール済みのバイナリを優先してください。
acton --versionacton --helpacton help <command>acton <command> --help
- 現在の概念、チュートリアル、完全なリファレンスについては、公式ホスト型ドキュメントを使用してください。
https://ton-blockchain.github.io/acton/docs/welcome/https://ton-blockchain.github.io/acton/docs/commands/https://ton-blockchain.github.io/acton/llms-full.txt
- 実際のプロジェクトパターンやコントラクトのリファレンスには、公式サンプルリポジトリを使用してください。
https://github.com/ton-blockchain/acton-contracts
- 必要な場合にのみ、同梱のリファレンスを参照してください。
- コマンドをすばやく選ぶには
references/command-map.md - よくある失敗例については
references/troubleshooting.md
- コマンドをすばやく選ぶには
- ローカルのパス、プライベートなチェックアウト、特定の開発者のマシンを前提にしないでください。
- ユーザーがアップストリームの実装の調査を明示的に求めた場合にのみ、GitHub のソースを使用してください。
acton-contractsは、プロジェクト構成とコントラクトパターンのサンプルとして扱い、CLI フラグの信頼できる情報源として扱わないでください。 - ドキュメントとインストール済み CLI の内容が異なる場合は、Acton のバージョンを明記し、そのローカルのワークフローではインストール済み CLI に従ってください。最新の動作を確認したい場合は、まず
acton upまたはインストール/更新手順を提案してください。
初回リリースでは対象外
acton localnetや--net localnetは推奨しないでください。この機能はソースや trunk のヘルプに表示されている場合がありますが、初回リリースでは対象外のため、公開ワークフローでは利用できないものとして扱ってください。
Acton のインストールまたは更新
acton が見つからず、タスクで実行が必要な場合は、公開バイナリをインストールしてください。
curl -LsSf https://github.com/ton-blockchain/acton/releases/latest/download/acton-installer.sh | sh
その後、新しいシェルを開くか、必要に応じて更新されたシェルプロファイルを再読み込みし、次のコマンドで確認してください。
acton --version
acton --help
更新とバージョン管理:
acton upは最新の安定版をインストールします。acton up --listは利用可能なバージョンを一覧表示します。acton up <version>は指定したバージョンをインストールします。- インストール済み CLI が対応している場合、
acton up --trunkは最新の trunk ビルドをインストールします。 - CI では、
ton-blockchain/setup-acton@masterまたは公開済みのghcr.io/ton-blockchain/acton:<version>イメージを優先してください。
あらゆるプロジェクトで最初に確認すること
- ツールとプロジェクトのコンテキストを確認します。
acton --versionacton doctorpwd
- プロジェクト外から実行する場合は、コンテキストを明示的に指定します。
acton --project-root <PATH> ...acton --manifest-path <PATH>/Acton.toml ...
- 記憶に頼る前に、関連するコマンドのヘルプを確認します。
acton help buildacton help testacton help script
- 関連するセクションについて
Acton.tomlを確認します。[package][contracts][build][wrappers.tolk][wrappers.typescript][fmt][test][lint][networks][scripts][import-mappings]
プロジェクトルートの規則:設定ファイル内の相対パスはプロジェクトルートを基準に解決されます。相対 CLI パスフラグは、絶対パスとして渡さない限り、現在の作業ディレクトリを基準に解決されます。
プロジェクトの初期設定
- 新しいプロジェクトには
acton new [path] --template empty|counter|jetton|nftを使用してください。 acton newで便利なフラグ:--name、--description、--license- テンプレートが対応している場合、TypeScript/Vite アプリのひな形を作成する
--app - デフォルトのプロジェクト Git フックを設定する
--hooks - コーディングエージェント向けのガイダンスを生成する
--agents
- 既存のディレクトリに Acton のサポートを追加するには
acton initを使用してください。 acton initの便利なモード:acton init --create-app [path]は TypeScript アプリのひな形のみを作成します。acton init --stdlib-onlyは同梱の標準ライブラリのみを更新します。
acton initは既存のマニフェストにデフォルトの[import-mappings]を追加できますが、この書き換えによって TOML コメントや不明なキーが削除される場合があります。
ビルド、コンパイル、ラッパー
acton build [contract-name]- すべてのコントラクト、または1つのコントラクトとその推移的依存関係をビルドします。
- 主なフラグ:
--clear-cache、--graph <path>、--out-dir <dir>、--gen-dir <dir>、--output-fift <dir>、--info。
acton compile <file.tolk>- 単一ファイルコンパイラのエントリーポイントです。
- 主なフラグ:
--json、--base64-only、--boc <file>、--fift <file>、--source-map <file>、--abi <file>、--allow-no-entrypoint、--clear-cache。
acton wrapper <contract-name>- コントラクトの ABI から Tolk ラッパーを生成します。
- テスト用スタブには
--test、--test-output、または--test-output-dirを使用します。 gen-typescript-from-tolk経由で TypeScript ラッパーを生成するには--tsを使用します。--tsとテスト用スタブの生成を併用しないでください。
- ABI、ストレージ、またはメッセージの型が変更された場合は、生成済みファイルを手動で編集せず、ラッパーを再生成してください。
- ラッパーの出力先のデフォルトは、
[wrappers.tolk]、[wrappers.typescript]、および@wrappersのインポートマッピングで設定します。
テストと品質ゲート
- コアエントリーポイント:
acton test [path]。 - 主なテストフラグ:
--filter <regex>、--include <glob>、--exclude <glob>--fail-fast--fuzz-seed <seed>- 低レベルのエグゼキューターログを表示する
--verbose --debug --debug-port <port>--backtrace full--reporter console|dot|teamcity|junitまたはカンマ区切りの組み合わせ--junit-path <dir>、--junit-merge--show-bodies--clear-cache
- カバレッジ:
acton test --coverage --coverage-format lcovacton test --coverage --coverage-format text--coverage-file <path>--coverage-minimum-percent <percent>--coverage-include-wrappers--coverage-include-tests
- ガスプロファイリング:
acton test --snapshot build/gas-baseline.jsonacton test --baseline-snapshot build/gas-baseline.jsonacton test --baseline-snapshot build/gas-baseline.json --fail-on-diff
- ミューテーションテスト:
acton test --mutate --mutate-contract <contract-name>--mutation-diff worktree|ref|branch--mutation-diff-ref <ref>--mutation-levels critical,major,minor--mutation-disable-rules <rule>--mutation-rules-file <path>--mutation-session-id <id>--mutation-id <id>--mutation-workers <n>--mutation-minimum-percent <percent>
- フォークテスト:
acton test --fork-net testnet|mainnet|custom:<name>acton test --fork-net testnet --fork-block-number <seqno>
- テスト UI とトレース:
acton test --uiacton test --ui --ui-port <port>acton test --save-test-traceacton test --save-test-trace <dir>
- デフォルトは
[test]、[test.coverage]、[test.fuzz]、および[test.mutation]で設定します。CLI フラグは、その実行に限り設定を上書きします。
リント、フォーマット、フック
acton check [target]- プロジェクト、コントラクト名、または
.tolkファイルをチェックします。 - 主なフラグ:
--fix、--output-format plain|json|sarif|github|gitlab、--output-file <path>、--enable-only <code[,code...]>、--explain <rule>。
- プロジェクト、コントラクト名、または
- リント設定は
[lint]、[lint.rules]、および[lint.rules.<contract-name>]で行います。 - インライン抑制には
// check-disable-next-line ...を使用します。 acton fmt [paths...]- ソースをフォーマットします。
- CI では
acton fmt --checkを使用します。 - デフォルトは
[fmt]で設定します。
acton hooks new|install|status|uninstall- プロジェクトローカルの Git フックを
.githooksで管理します。
- プロジェクトローカルの Git フックを
- 一般的な CI ゲート:
acton buildacton test --reporter console,junitacton check --output-format githubacton fmt --check
スクリプト、デプロイ、ネットワークからの読み取り
acton script <path> [args...]は、単独の Tolk スクリプトを実行します。acton deployコマンドはありません。デプロイはスクリプトによって実行されます。- 状態を変更するスクリプトを安全に実行する手順:
acton buildacton testacton script <path>を実行してローカルでエミュレートしますacton script <path> --net testnet- testnet での検証後に限り、
acton script <path> --net mainnetを実行します
--net <network>は、testnet、mainnet、またはcustom:<name>に実トランザクションをブロードキャストします。--netを省略すると、ローカルで実行されます。--fork-net <network>は、ローカルで実行しながらリモートの状態を読み取ります。--netを指定した場合、--fork-netを省略すると、読み取りには選択したネットワークがデフォルトで使われます。- スクリプトでよく使われるフラグ:
--debug、--debug-port、--backtrace full、--verbose、--clear-cache、--fork-net、--fork-block-number、--net、--explorer tonscan|toncx|dton|tonviewer、--show-bodies。 acton run <script-name> [args...]は、Acton.tomlの[scripts]に登録されたエントリーを実行します。- スクリプトの引数は
main()の ABI に従って解析されます。Acton のフラグに見える引数を渡す場合は、その前に--を指定してください。 - 組み込みのネットワーク API キーは環境変数で指定します。通常は
.envから読み込みます:TONCENTER_TESTNET_API_KEYTONCENTER_MAINNET_API_KEYcustom:<name>用の<NORMALIZED_NAME>_API_KEY
ウォレット、検証、調査
- ウォレット:
acton wallet newacton wallet importacton wallet listacton wallet export-mnemonicacton wallet signacton wallet removeacton wallet airdrop
- 利用可能な場合は、安全なキーリングへの保存を優先してください。CI では
mnemonic-envを使用し、平文のウォレットファイルやニーモニックは決してコミットしないでください。 - 検証:
acton verify [contract-name] --address <addr> --net testnet|mainnet- 便利なフラグ:
--wallet <name>、--compiler-version <version>、--dry-run。
- RPC の調査:
acton rpc info <address>acton rpc blockacton rpc block-numberacton rpc trace <hash>
- オンチェーンライブラリ:
acton library publishacton library fetchacton library infoacton library topup
- 低レベルツール:
acton disasm [boc-file]acton retrace <tx-hash>acton doc tvm <query...>acton func2tolk <path>acton ls --stdioまたはacton ls --port <port>acton completions bash|elvish|fish|powershell|zsh|nushell
安全性と正確性に関するルール
acton script --net mainnet、acton verify、acton library publish、またはacton library topupを実行する前に、一度警告してください。- 結果に影響する場合は、ウォレット、ネットワーク、プロジェクトルート、Acton のバージョンについて、前提を明示してください。
- コマンドやフラグを捏造しないでください。不明な場合は
acton help <command>で確認してください。 - ユーザーのインストール済みバイナリが明示的にサポートしている場合を除き、
acton litenode、[mappings]、--broadcast、--api-key、acton up --canaryを使う古い例は使用しないでください。 - Acton のドキュメントで扱われていないブロックチェーンの概念には TON のドキュメントを、CLI の動作には Acton のドキュメントを使用してください。
コメント
Markdown 対応