Perintah CLI

CLI surfpool memulai Surfnet lokal, menjalankan Runbook, mencantumkan Runbook dari manifes workspace, menghasilkan penyelesaian shell, dan memulai server MCP Surfpool.

Perintah

PerintahDeskripsi
surfpool startMemulai Surfnet lokal. Alias: surfpool simnet
surfpool runMenjalankan Runbook
surfpool lsMencantumkan Runbook di workspace saat ini
surfpool completionsMenghasilkan skrip penyelesaian shell
surfpool mcpMemulai server MCP Surfpool

surfpool start

Memulai Surfnet lokal. Jika Anda menjalankannya di direktori program Solana, Surfpool dapat menghasilkan dan menjalankan Runbook yang men-deploy program Anda.

surfpool start [OPTIONS]

Jaringan & Port

FlagSingkatTipeDefaultDeskripsi
--port <PORT>-pinteger8899Mengikat server JSON-RPC ke port ini.
--ws-port <PORT>-winteger8900Mengikat server WebSocket ke port ini.
--host <HOST>-ostring127.0.0.1Mengikat layanan RPC, WebSocket, dan Studio ke host ini.
--rpc-url <RPC_URL>-ustringnoneFork dari URL RPC datasource ini. Konflik dengan --network. Dapat juga diatur dengan SURFPOOL_DATASOURCE_RPC_URL.
--network <NETWORK>-nenumnoneFork dari jaringan Solana yang telah ditentukan. Nilai: mainnet, devnet, testnet. Konflik dengan --rpc-url.
--offlinenonebooleanfalseJalankan tanpa datasource RPC jarak jauh.

Proyek & Deployment

FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlPath ke manifest runbook.
--no-deploynonebooleanfalseNonaktifkan deployment program otomatis.
--runbook <RUNBOOK>-rstring[]deploymentID runbook yang akan dieksekusi setelah startup. Dapat diulang.
--runbook-input <INPUT_PATH>-ipath[]noneFile input yang diberikan ke eksekusi runbook. Dapat diulang.
--yes-ybooleanfalseLewati prompt pembuatan runbook.
--watchnonebooleanfalseDeploy ulang ketika artefak program berubah.
--artifacts-path <ARTIFACTS_PATH>nonepathnoneDirektori yang berisi artefak program .so. Default ke target/deploy jika tidak ditentukan.
--legacy-anchor-compatibilitynonebooleanfalseGunakan default yang sesuai untuk test suite Anchor versi lama.
--anchor-test-config-path <TEST_TOML>nonepath[]noneFile Test.toml Anchor yang akan diinspeksi. Dapat diulang.

Akun & State

FlagShortTypeDefaultDescription
--airdrop <PUBKEY>-apubkey[]nonepubkey untuk airdrop SOL pada saat startup. Dapat diulang.
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonPath keypair yang pubkey-nya akan menerima airdrop. Dapat diulang.
--airdrop-amount <LAMPORTS>-qinteger10000000000000lamport yang di-airdrop ke setiap akun saat startup.
--snapshot <SNAPSHOT_PATH>nonepath[]noneSnapshot akun JSON untuk dimuat sebelumnya. Dapat diulang. File yang lebih belakangan menimpa file sebelumnya untuk kunci yang sama.
--db <DB_URL>nonestringnoneURL koneksi database untuk state Surfnet yang persisten. Gunakan :memory: untuk SQLite in-memory, file .sqlite untuk SQLite on-disk, atau URL PostgreSQL jika dibangun dengan fitur postgres.
--surfnet-id <SURFNET_ID>nonestringdefaultNamespace penyimpanan untuk instance Surfnet ini.

Runtime & UI

FlagShortTypeDefaultDeskripsi
--no-tuinonebooleanfalseCetak log alih-alih meluncurkan UI terminal.
--no-studiononebooleanfalseNonaktifkan Surfpool Studio.
--studio-port <PORT>-sinteger18488Ikat Studio ke port ini.
--daemonnonebooleanfalseJalankan Surfpool sebagai proses latar belakang. Mode daemon hanya tersedia di Linux.
--cinonebooleanfalseGunakan pengaturan yang sesuai untuk CI. Ini menonaktifkan TUI, Studio, pemrofilan instruksi, dan keluaran log.

Perilaku SVM

FlagShortTypeDefaultDeskripsi
--slot-time <MILLISECONDS>-tinteger400Waktu slot dalam milidetik.
--block-production-mode <MODE>-benumclockMode produksi blok.
--feature <FEATURE_PUBKEY>-fpubkey[]noneAktifkan fitur SVM berdasarkan pubkey. Dapat diulang. Nama fitur sudah usang tetapi masih diterima untuk nama yang sebelumnya didukung.
--disable-feature <FEATURE_PUBKEY>nonepubkey[]noneNonaktifkan fitur SVM berdasarkan pubkey. Dapat diulang. Nama fitur sudah usang tetapi masih diterima untuk nama yang sebelumnya didukung.
--features-allnonebooleanfalseAktifkan semua fitur SVM dari agave-feature-set.
--skip-signature-verificationnonebooleanfalseLewati verifikasi tanda tangan transaksi.
--skip-blockhash-checknonebooleanfalseLewati validasi blockhash transaksi.

Observabilitas & Performa

FlagShortTypeDefaultDescription
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]noneFile konfigurasi plugin Geyser yang akan dimuat. Dapat diulang.
--disable-instruction-profilingnonebooleanfalseNonaktifkan pembuatan profil instruksi.
--max-profiles <COUNT>-cinteger200Profil transaksi yang disimpan di memori. Nilai yang lebih tinggi meningkatkan penggunaan memori.
--log-bytes-limit <BYTES>noneinteger10000Maksimum byte yang disimpan untuk setiap log transaksi. Atur ke 0 untuk log tak terbatas.
--log-level <LEVEL>-lenuminfoLevel log simnet. Nilai: trace, debug, info, warn, error, none.
--log-path <LOG_DIR>nonepath.surfpool/logsDirektori untuk log simnet.
--metrics-enablednonebooleanenv: SURFPOOL_METRICS_ENABLEDAktifkan endpoint metrik Prometheus. Tersedia ketika Surfpool dibangun dengan fitur prometheus.
--metrics-addr <METRICS_ADDR>nonestring127.0.0.1:9000Alamat endpoint metrik Prometheus. Dapat juga diatur dengan SURFPOOL_METRICS_ADDR. Tersedia ketika Surfpool dibangun dengan fitur prometheus.

Kompatibilitas yang Tidak Direkomendasikan

FlagShortTypeDefaultDescription
--subgraph-db <SUBGRAPH_DB>-dstring:memory:Tidak direkomendasikan dan disembunyikan dari surfpool start --help. Skrip yang sudah ada masih dapat menggunakannya untuk kompatibilitas.

Contoh

Mulai dengan pengaturan default:

surfpool start

Fork devnet:

surfpool start --network devnet

Gunakan URL RPC sumber data kustom:

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

Cetak log alih-alih menjalankan TUI:

surfpool start --no-tui

Mulai tanpa sumber data RPC jarak jauh:

surfpool start --offline

Airdrop SOL ke beberapa akun:

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

Muat status akun dari snapshot:

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

Terapkan ulang program saat target/deploy berubah:

surfpool start --watch

Pertahankan status Surfnet dalam database SQLite di disk:

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

surfpool run

Menjalankan sebuah Runbook. Anda dapat menjalankan file .tx secara langsung atau mereferensikan Runbook yang dideklarasikan dalam manifes txtx.yml.

surfpool run [OPTIONS] <RUNBOOK>

Argumen

ArgumenTipeDeskripsi
<RUNBOOK>stringID Runbook dari txtx.yml, atau jalur ke file .tx.

Proyek

FlagSingkatTipeDefaultDeskripsi
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlJalur ke manifes runbook.
--env <ENVIRONMENT>nonestringnoneEnvironment dari txtx.yml yang akan digunakan.

Mode Eksekusi

Flag-flag ini bersifat saling eksklusif. Jika tidak ada yang ditentukan, Surfpool menggunakan pengawasan browser.

FlagSingkatTipeDefaultDeskripsi
--unsupervised-ubooleanfalseJalankan tanpa UI supervisor.
--browser-bbooleanmode defaultJalankan dengan pengawasan di UI browser.
--terminal-tbooleanfalseJalankan dengan pengawasan di konsol terminal.

Input & Output

FlagShortTypeDefaultDescription
--output-json [<OUTPUT_DIR>]noneoptional pathnoneCetak atau tulis output Runbook sebagai JSON. Jika direktori disediakan, output ditulis ke file dalam direktori tersebut.
--output <OUTPUT_NAME>nonestringnoneCetak satu output bernama di akhir eksekusi. Bertentangan dengan --output-json.
--input <INPUT_PATH>nonepath[]noneFile input yang digunakan untuk pemrosesan batch. Dapat diulang.

Eksekusi

FlagShortTypeDefaultDescription
--explainnonebooleanfalseJelaskan cara Runbook akan dieksekusi.
--force-fbooleanfalseAbaikan status eksekusi yang tersimpan dalam cache.

UI Supervisor

Flag-flag ini tersedia ketika Surfpool dibangun dengan fitur supervisor_ui.

FlagShortTypeDefaultDescription
--port <PORT>-pinteger8488Port Web UI.
--ip <IP_ADDRESS>-istring127.0.0.1Alamat IP Web UI.

Pencatatan Log

FlagShortTypeDefaultDescription
--log-level <LEVEL>-lenuminfoLevel log eksekusi Runbook. Nilai: trace, debug, info, warn, error.
--log-path <LOG_DIR>nonepath.surfpool/logsDirektori untuk log eksekusi runbook.

Contoh

Jalankan Runbook manifes dengan pengawasan browser:

surfpool run deployment

Jalankan tanpa pengawasan dan tulis output JSON:

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

Jalankan file .tx secara langsung:

surfpool run ./runbooks/deployment.tx

surfpool ls

Mencantumkan semua Runbook yang dideklarasikan dalam manifes workspace.

surfpool ls [OPTIONS]
FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlPath ke manifes runbook.

surfpool completions

Menghasilkan skrip penyelesaian shell.

surfpool completions <SHELL>
ArgumentTypeDescription
<SHELL>enumShell untuk menghasilkan penyelesaian. Nilai: bash, elvish, fish, powershell, zsh.

surfpool mcp

Memulai server MCP Surfpool untuk integrasi alat AI.

surfpool mcp

Is this page helpful?

© 2026 Yayasan Solana. Semua hak dilindungi.