Solanaドキュメントツールチェーン

CLIコマンド

surfpool CLI は、ローカル Surfnet の起動、Runbook の実行、ワークスペースマニフェストからの Runbook 一覧表示、シェル補完の生成、および Surfpool MCP サーバーの起動を行います。

コマンド

コマンド説明
surfpool startローカル Surfnet を起動します。エイリアス: surfpool simnet
surfpool runRunbook を実行します
surfpool ls現在のワークスペース内の Runbook を一覧表示します
surfpool completionsシェル補完スクリプトを生成します
surfpool mcpSurfpool MCP サーバーを起動します

surfpool start

ローカル Surfnet を起動します。Solana プログラムのディレクトリ内で実行すると、Surfpool はプログラムをデプロイする Runbook を自動生成して実行できます。

surfpool start [OPTIONS]

ネットワークとポート

フラグ短縮形デフォルト説明
--port <PORT>-pinteger8899JSON-RPC サーバーをこのポートにバインドします。
--ws-port <PORT>-winteger8900WebSocket サーバーをこのポートにバインドします。
--host <HOST>-ostring127.0.0.1RPC、WebSocket、および Studio サービスをこのホストにバインドします。
--rpc-url <RPC_URL>-ustringnoneこのデータソース RPC URL からフォークします。--network と競合します。SURFPOOL_DATASOURCE_RPC_URL で設定することもできます。
--network <NETWORK>-nenumnone事前定義された Solana ネットワークからフォークします。値: mainnetdevnettestnet--rpc-url と競合します。
--offlinenonebooleanfalseリモート RPC データソースなしで実行します。

プロジェクトとデプロイ

フラグ短縮デフォルト説明
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlランブックマニフェストへのパス。
--no-deploynonebooleanfalseプログラムの自動デプロイを無効にする。
--runbook <RUNBOOK>-rstring[]deployment起動後に実行するランブックID。繰り返し指定可能。
--runbook-input <INPUT_PATH>-ipath[]noneランブック実行に渡す入力ファイル。繰り返し指定可能。
--yes-ybooleanfalseランブック生成のプロンプトをスキップする。
--watchnonebooleanfalseプログラムアーティファクトの変更時に再デプロイする。
--artifacts-path <ARTIFACTS_PATH>nonepathnone.so プログラムアーティファクトを含むディレクトリ。省略時はtarget/deployがデフォルト。
--legacy-anchor-compatibilitynonebooleanfalseレガシーAnchorテストスイートに適したデフォルト設定を使用する。
--anchor-test-config-path <TEST_TOML>nonepath[]none検査対象のAnchor Test.toml ファイル。繰り返し指定可能。

アカウントと状態

フラグ短縮デフォルト説明
--airdrop <PUBKEY>-apubkey[]none起動時にSOLをエアドロップするpubkey。繰り返し指定可能。
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonエアドロップを受け取るpubkeyのkeypairパス。繰り返し指定可能。
--airdrop-amount <LAMPORTS>-qinteger10000000000000起動時の各アカウントにエアドロップするlamport数。
--snapshot <SNAPSHOT_PATH>nonepath[]noneプリロードするJSONアカウントスナップショット。繰り返し指定可能。重複キーは後のファイルが優先される。
--db <DB_URL>nonestringnoneSurfnetの永続的な状態管理に使用するデータベース接続URL。インメモリSQLiteには:memory:、ディスク上のSQLiteには.sqliteファイル、postgres機能でビルドした場合はPostgreSQL URLを使用。
--surfnet-id <SURFNET_ID>nonestringdefaultこのSurfnetインスタンスのストレージ名前空間。

ランタイム & UI

フラグ短縮デフォルト説明
--no-tuinonebooleanfalseターミナルUIを起動せずにログを出力します。
--no-studiononebooleanfalseSurfpool Studioを無効にします。
--studio-port <PORT>-sinteger18488Studioをこのポートにバインドします。
--daemonnonebooleanfalseSurfpoolをバックグラウンドプロセスとして実行します。デーモンモードはLinuxのみ対応です。
--cinonebooleanfalseCI向けの設定を使用します。TUI、Studio、instructions プロファイリング、およびログ出力が無効になります。

SVM の動作

フラグ短縮デフォルト説明
--slot-time <MILLISECONDS>-tinteger400slot時間(ミリ秒単位)。
--block-production-mode <MODE>-benumclockブロック生成モード。
--feature <FEATURE_PUBKEY>-fpubkey[]nonepubkeyによってSVM機能を有効にします。繰り返し指定可能。機能名は非推奨ですが、以前にサポートされていた名前については引き続き受け付けます。
--disable-feature <FEATURE_PUBKEY>nonepubkey[]nonepubkeyによってSVM機能を無効にします。繰り返し指定可能。機能名は非推奨ですが、以前にサポートされていた名前については引き続き受け付けます。
--features-allnonebooleanfalseagave-feature-set のすべてのSVM機能を有効にします。
--skip-signature-verificationnonebooleanfalseトランザクション署名検証をスキップします。
--skip-blockhash-checknonebooleanfalseトランザクションのブロックハッシュ検証をスキップします。

オブザーバビリティ & パフォーマンス

フラグ短縮デフォルト説明
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]なし読み込むGeyserプラグイン設定ファイル。繰り返し指定可能。
--disable-instruction-profilingnonebooleanfalseinstructions プロファイリングを無効にする。
--max-profiles <COUNT>-cinteger200メモリに保持するトランザクションプロファイル数。値が大きいほどメモリ使用量が増加する。
--log-bytes-limit <BYTES>noneinteger10000各トランザクションログに保存する最大バイト数。無制限のログにするには0に設定する。
--log-level <LEVEL>-lenuminfoSimnetのログレベル。値: tracedebuginfowarnerrornone
--log-path <LOG_DIR>nonepath.surfpool/logsSimnetログのディレクトリ。
--metrics-enablednonebooleanenv: SURFPOOL_METRICS_ENABLEDPrometheusメトリクスエンドポイントを有効にする。Surfpoolがprometheus機能付きでビルドされている場合に利用可能。
--metrics-addr <METRICS_ADDR>nonestring127.0.0.1:9000Prometheusメトリクスエンドポイントのアドレス。SURFPOOL_METRICS_ADDRでも設定可能。Surfpoolがprometheus機能付きでビルドされている場合に利用可能。

非推奨の互換性

フラグ短縮デフォルト説明
--subgraph-db <SUBGRAPH_DB>-dstring:memory:非推奨であり、surfpool start --helpには表示されない。既存のスクリプトは互換性のために引き続き渡すことができる。

使用例

デフォルト設定で起動する:

surfpool start

devnetをフォークする:

surfpool start --network devnet

カスタムデータソースのRPC URLを使用する:

surfpool start --rpc-url https://api.mainnet-beta.solana.com

TUIを起動する代わりにログを出力する:

surfpool start --no-tui

リモートRPCデータソースなしで起動する:

surfpool start --offline

複数のアカウントにSOLをエアドロップする:

surfpool start --airdrop <PUBKEY> --airdrop <PUBKEY>

スナップショットからアカウント状態を読み込む:

surfpool start --snapshot ./snapshot1.json --snapshot ./snapshot2.json

target/deployが変更されたときにプログラムを再デプロイする:

surfpool start --watch

Surfnetの状態をディスク上のSQLiteデータベースに保存する:

surfpool start --db ./surfnet.sqlite --surfnet-id local-dev

surfpool run

Runbookを実行します。.txファイルを直接実行するか、txtx.ymlマニフェストで宣言されたRunbookを参照することができます。

surfpool run [OPTIONS] <RUNBOOK>

引数

引数説明
<RUNBOOK>stringtxtx.ymlのRunbook ID、または.txファイルへのパス。

プロジェクト

フラグ短縮形デフォルト説明
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlRunbookマニフェストへのパス。
--env <ENVIRONMENT>nonestringnone使用するtxtx.ymlの環境。

実行モード

これらのフラグは互いに排他的です。いずれも指定されない場合、Surfpoolはブラウザによる監視を使用します。

フラグ短縮形デフォルト説明
--unsupervised-ubooleanfalseスーパーバイザーUIなしで実行する。
--browser-bbooleandefault modeブラウザUIで監視付きで実行する。
--terminal-tbooleanfalseターミナルコンソールで監視付きで実行する。

入力と出力

フラグ短縮形デフォルト説明
--output-json [<OUTPUT_DIR>]なし任意のパスなしランブックの出力をJSONとして表示または書き込みます。ディレクトリを指定した場合、そのディレクトリ内のファイルに出力が書き込まれます。
--output <OUTPUT_NAME>なし文字列なし実行終了時に指定した名前の出力を1つ表示します。--output-jsonと競合します。
--input <INPUT_PATH>なしパス[]なしバッチ処理に使用する入力ファイル。繰り返し指定可能。

実行

フラグ短縮形デフォルト説明
--explainなし真偽値falseランブックの実行方法を説明します。
--force-f真偽値falseキャッシュされた実行状態を無視します。

スーパーバイザーUI

これらのフラグは、Surfpoolがsupervisor_ui 機能付きでビルドされている場合に利用できます。

フラグ短縮形デフォルト説明
--port <PORT>-p整数8488Web UIのポート。
--ip <IP_ADDRESS>-i文字列127.0.0.1Web UIのIPアドレス。

ログ記録

フラグ短縮形デフォルト説明
--log-level <LEVEL>-l列挙型infoランブック実行のログレベル。値: tracedebuginfowarnerror
--log-path <LOG_DIR>なしパス.surfpool/logsランブック実行ログのディレクトリ。

ブラウザによる監視付きでマニフェストRunbookを実行する:

surfpool run deployment

監視なしで実行し、JSON出力を書き込む:

surfpool run deployment --unsupervised --output-json .surfpool/runbook-outputs

.txファイルを直接実行する:

surfpool run ./runbooks/deployment.tx

surfpool ls

ワークスペースマニフェストで宣言されたすべてのRunbookを一覧表示します。

surfpool ls [OPTIONS]
フラグ短縮形デフォルト説明
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlRunbookマニフェストへのパス。

surfpool completions

シェル補完スクリプトを生成します。

surfpool completions <SHELL>
引数説明
<SHELL>enum補完を生成するシェル。値:bashelvishfishpowershellzsh

surfpool mcp

AIツール統合のためのSurfpool MCPサーバーを起動します。

surfpool mcp

Is this page helpful?

© 2026 Solana Foundation. 無断転載を禁じます。