CLI surfpool memulai Surfnet lokal, menjalankan Runbook, mencantumkan Runbook
dari manifes workspace, menghasilkan penyelesaian shell, dan memulai server MCP
Surfpool.
Perintah
| Perintah | Deskripsi |
|---|---|
surfpool start | Memulai Surfnet lokal. Alias: surfpool simnet |
surfpool run | Menjalankan Runbook |
surfpool ls | Mencantumkan Runbook di workspace saat ini |
surfpool completions | Menghasilkan skrip penyelesaian shell |
surfpool mcp | Memulai 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
| Flag | Singkat | Tipe | Default | Deskripsi |
|---|---|---|---|---|
--port <PORT> | -p | integer | 8899 | Mengikat server JSON-RPC ke port ini. |
--ws-port <PORT> | -w | integer | 8900 | Mengikat server WebSocket ke port ini. |
--host <HOST> | -o | string | 127.0.0.1 | Mengikat layanan RPC, WebSocket, dan Studio ke host ini. |
--rpc-url <RPC_URL> | -u | string | none | Fork dari URL RPC datasource ini. Konflik dengan --network. Dapat juga diatur dengan SURFPOOL_DATASOURCE_RPC_URL. |
--network <NETWORK> | -n | enum | none | Fork dari jaringan Solana yang telah ditentukan. Nilai: mainnet, devnet, testnet. Konflik dengan --rpc-url. |
--offline | none | boolean | false | Jalankan tanpa datasource RPC jarak jauh. |
Proyek & Deployment
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Path ke manifest runbook. |
--no-deploy | none | boolean | false | Nonaktifkan deployment program otomatis. |
--runbook <RUNBOOK> | -r | string[] | deployment | ID runbook yang akan dieksekusi setelah startup. Dapat diulang. |
--runbook-input <INPUT_PATH> | -i | path[] | none | File input yang diberikan ke eksekusi runbook. Dapat diulang. |
--yes | -y | boolean | false | Lewati prompt pembuatan runbook. |
--watch | none | boolean | false | Deploy ulang ketika artefak program berubah. |
--artifacts-path <ARTIFACTS_PATH> | none | path | none | Direktori yang berisi artefak program .so. Default ke target/deploy jika tidak ditentukan. |
--legacy-anchor-compatibility | none | boolean | false | Gunakan default yang sesuai untuk test suite Anchor versi lama. |
--anchor-test-config-path <TEST_TOML> | none | path[] | none | File Test.toml Anchor yang akan diinspeksi. Dapat diulang. |
Akun & State
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--airdrop <PUBKEY> | -a | pubkey[] | none | pubkey untuk airdrop SOL pada saat startup. Dapat diulang. |
--airdrop-keypair-path <KEYPAIR_PATH> | -k | path[] | ~/.config/solana/id.json | Path keypair yang pubkey-nya akan menerima airdrop. Dapat diulang. |
--airdrop-amount <LAMPORTS> | -q | integer | 10000000000000 | lamport yang di-airdrop ke setiap akun saat startup. |
--snapshot <SNAPSHOT_PATH> | none | path[] | none | Snapshot akun JSON untuk dimuat sebelumnya. Dapat diulang. File yang lebih belakangan menimpa file sebelumnya untuk kunci yang sama. |
--db <DB_URL> | none | string | none | URL 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> | none | string | default | Namespace penyimpanan untuk instance Surfnet ini. |
Runtime & UI
| Flag | Short | Type | Default | Deskripsi |
|---|---|---|---|---|
--no-tui | none | boolean | false | Cetak log alih-alih meluncurkan UI terminal. |
--no-studio | none | boolean | false | Nonaktifkan Surfpool Studio. |
--studio-port <PORT> | -s | integer | 18488 | Ikat Studio ke port ini. |
--daemon | none | boolean | false | Jalankan Surfpool sebagai proses latar belakang. Mode daemon hanya tersedia di Linux. |
--ci | none | boolean | false | Gunakan pengaturan yang sesuai untuk CI. Ini menonaktifkan TUI, Studio, pemrofilan instruksi, dan keluaran log. |
Perilaku SVM
| Flag | Short | Type | Default | Deskripsi |
|---|---|---|---|---|
--slot-time <MILLISECONDS> | -t | integer | 400 | Waktu slot dalam milidetik. |
--block-production-mode <MODE> | -b | enum | clock | Mode produksi blok. |
--feature <FEATURE_PUBKEY> | -f | pubkey[] | none | Aktifkan fitur SVM berdasarkan pubkey. Dapat diulang. Nama fitur sudah usang tetapi masih diterima untuk nama yang sebelumnya didukung. |
--disable-feature <FEATURE_PUBKEY> | none | pubkey[] | none | Nonaktifkan fitur SVM berdasarkan pubkey. Dapat diulang. Nama fitur sudah usang tetapi masih diterima untuk nama yang sebelumnya didukung. |
--features-all | none | boolean | false | Aktifkan semua fitur SVM dari agave-feature-set. |
--skip-signature-verification | none | boolean | false | Lewati verifikasi tanda tangan transaksi. |
--skip-blockhash-check | none | boolean | false | Lewati validasi blockhash transaksi. |
Observabilitas & Performa
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--geyser-plugin-config <PLUGIN_CONFIG_PATH> | -g | path[] | none | File konfigurasi plugin Geyser yang akan dimuat. Dapat diulang. |
--disable-instruction-profiling | none | boolean | false | Nonaktifkan pembuatan profil instruksi. |
--max-profiles <COUNT> | -c | integer | 200 | Profil transaksi yang disimpan di memori. Nilai yang lebih tinggi meningkatkan penggunaan memori. |
--log-bytes-limit <BYTES> | none | integer | 10000 | Maksimum byte yang disimpan untuk setiap log transaksi. Atur ke 0 untuk log tak terbatas. |
--log-level <LEVEL> | -l | enum | info | Level log simnet. Nilai: trace, debug, info, warn, error, none. |
--log-path <LOG_DIR> | none | path | .surfpool/logs | Direktori untuk log simnet. |
--metrics-enabled | none | boolean | env: SURFPOOL_METRICS_ENABLED | Aktifkan endpoint metrik Prometheus. Tersedia ketika Surfpool dibangun dengan fitur prometheus. |
--metrics-addr <METRICS_ADDR> | none | string | 127.0.0.1:9000 | Alamat endpoint metrik Prometheus. Dapat juga diatur dengan SURFPOOL_METRICS_ADDR. Tersedia ketika Surfpool dibangun dengan fitur prometheus. |
Kompatibilitas yang Tidak Direkomendasikan
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--subgraph-db <SUBGRAPH_DB> | -d | string | :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
| Argumen | Tipe | Deskripsi |
|---|---|---|
<RUNBOOK> | string | ID Runbook dari txtx.yml, atau jalur ke file .tx. |
Proyek
| Flag | Singkat | Tipe | Default | Deskripsi |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Jalur ke manifes runbook. |
--env <ENVIRONMENT> | none | string | none | Environment dari txtx.yml yang akan digunakan. |
Mode Eksekusi
Flag-flag ini bersifat saling eksklusif. Jika tidak ada yang ditentukan, Surfpool menggunakan pengawasan browser.
| Flag | Singkat | Tipe | Default | Deskripsi |
|---|---|---|---|---|
--unsupervised | -u | boolean | false | Jalankan tanpa UI supervisor. |
--browser | -b | boolean | mode default | Jalankan dengan pengawasan di UI browser. |
--terminal | -t | boolean | false | Jalankan dengan pengawasan di konsol terminal. |
Input & Output
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--output-json [<OUTPUT_DIR>] | none | optional path | none | Cetak atau tulis output Runbook sebagai JSON. Jika direktori disediakan, output ditulis ke file dalam direktori tersebut. |
--output <OUTPUT_NAME> | none | string | none | Cetak satu output bernama di akhir eksekusi. Bertentangan dengan --output-json. |
--input <INPUT_PATH> | none | path[] | none | File input yang digunakan untuk pemrosesan batch. Dapat diulang. |
Eksekusi
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--explain | none | boolean | false | Jelaskan cara Runbook akan dieksekusi. |
--force | -f | boolean | false | Abaikan status eksekusi yang tersimpan dalam cache. |
UI Supervisor
Flag-flag ini tersedia ketika Surfpool dibangun dengan fitur supervisor_ui.
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--port <PORT> | -p | integer | 8488 | Port Web UI. |
--ip <IP_ADDRESS> | -i | string | 127.0.0.1 | Alamat IP Web UI. |
Pencatatan Log
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--log-level <LEVEL> | -l | enum | info | Level log eksekusi Runbook. Nilai: trace, debug, info, warn, error. |
--log-path <LOG_DIR> | none | path | .surfpool/logs | Direktori 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]
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Path ke manifes runbook. |
surfpool completions
Menghasilkan skrip penyelesaian shell.
surfpool completions <SHELL>
| Argument | Type | Description |
|---|---|---|
<SHELL> | enum | Shell 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?