Comandi CLI

La CLI surfpool avvia Surfnet locali, esegue Runbook, elenca i Runbook da un manifesto del workspace, genera completamenti shell e avvia il server MCP di Surfpool.

Comandi

ComandoDescrizione
surfpool startAvvia una Surfnet locale. Alias: surfpool simnet
surfpool runEsegui un Runbook
surfpool lsElenca i Runbook nel workspace corrente
surfpool completionsGenera script di completamento shell
surfpool mcpAvvia il server MCP di Surfpool

surfpool start

Avvia una Surfnet locale. Se eseguito in una directory di programma Solana, Surfpool può generare ed eseguire Runbook per distribuire i tuoi programmi.

surfpool start [OPTIONS]

Rete e Porte

FlagBreveTipoPredefinitoDescrizione
--port <PORT>-pintero8899Associa il server JSON-RPC a questa porta.
--ws-port <PORT>-wintero8900Associa il server WebSocket a questa porta.
--host <HOST>-ostringa127.0.0.1Associa i servizi RPC, WebSocket e Studio a questo host.
--rpc-url <RPC_URL>-ustringanessunoEsegui il fork da questo URL RPC della sorgente dati. In conflitto con --network. Può essere impostato anche con SURFPOOL_DATASOURCE_RPC_URL.
--network <NETWORK>-nenumnessunoEsegui il fork da una rete Solana predefinita. Valori: mainnet, devnet, testnet. In conflitto con --rpc-url.
--offlinenessunobooleanofalseEsegui senza una sorgente dati RPC remota.

Progetto e Distribuzione

FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlPercorso del manifesto del runbook.
--no-deploynonebooleanfalseDisabilita i deploy automatici dei programmi.
--runbook <RUNBOOK>-rstring[]deploymentID del runbook da eseguire dopo l'avvio. Ripetibile.
--runbook-input <INPUT_PATH>-ipath[]noneFile di input da fornire all'esecuzione del runbook. Ripetibile.
--yes-ybooleanfalseSalta i prompt di generazione del runbook.
--watchnonebooleanfalseRidistribuisce quando gli artefatti del programma cambiano.
--artifacts-path <ARTIFACTS_PATH>nonepathnoneDirectory contenente gli artefatti del programma .so. Se omessa, il valore predefinito è target/deploy.
--legacy-anchor-compatibilitynonebooleanfalseUsa le impostazioni predefinite adatte alle suite di test Anchor legacy.
--anchor-test-config-path <TEST_TOML>nonepath[]noneFile Test.toml di Anchor da ispezionare. Ripetibile.

Account e Stato

FlagShortTypeDefaultDescription
--airdrop <PUBKEY>-apubkey[]nonepubkey a cui inviare un airdrop di SOL all'avvio. Ripetibile.
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonPercorso del keypair la cui pubkey deve ricevere un airdrop. Ripetibile.
--airdrop-amount <LAMPORTS>-qinteger10000000000000lamport da inviare in airdrop a ciascun account all'avvio.
--snapshot <SNAPSHOT_PATH>nonepath[]noneSnapshot dell'account JSON da precaricare. Ripetibile. I file successivi sovrascrivono quelli precedenti per le chiavi duplicate.
--db <DB_URL>nonestringnoneURL di connessione al database per lo stato persistente di Surfnet. Usa :memory: per SQLite in memoria, un file .sqlite per SQLite su disco, oppure un URL PostgreSQL se compilato con la feature postgres.
--surfnet-id <SURFNET_ID>nonestringdefaultNamespace di archiviazione per questa istanza di Surfnet.

Runtime e UI

FlagShortTipoDefaultDescrizione
--no-tuinonebooleanfalseStampa i log invece di avviare l'interfaccia terminale.
--no-studiononebooleanfalseDisabilita Surfpool Studio.
--studio-port <PORT>-sinteger18488Associa Studio a questa porta.
--daemonnonebooleanfalseEsegui Surfpool come processo in background. La modalità daemon è disponibile solo su Linux.
--cinonebooleanfalseUsa impostazioni adatte alla CI. Disabilita la TUI, Studio, la profilazione delle istruzioni e l'output dei log.

Comportamento SVM

FlagShortTipoDefaultDescrizione
--slot-time <MILLISECONDS>-tinteger400Tempo per slot in millisecondi.
--block-production-mode <MODE>-benumclockModalità di produzione dei blocchi.
--feature <FEATURE_PUBKEY>-fpubkey[]noneAbilita una funzionalità SVM tramite pubkey. Ripetibile. I nomi delle funzionalità sono deprecati ma ancora accettati per i nomi precedentemente supportati.
--disable-feature <FEATURE_PUBKEY>nonepubkey[]noneDisabilita una funzionalità SVM tramite pubkey. Ripetibile. I nomi delle funzionalità sono deprecati ma ancora accettati per i nomi precedentemente supportati.
--features-allnonebooleanfalseAbilita tutte le funzionalità SVM da agave-feature-set.
--skip-signature-verificationnonebooleanfalseSalta la verifica della firma delle transazioni.
--skip-blockhash-checknonebooleanfalseSalta la validazione del blockhash delle transazioni.

Osservabilità e prestazioni

FlagShortTypeDefaultDescription
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]noneFile di configurazione del plugin Geyser da caricare. Ripetibile.
--disable-instruction-profilingnonebooleanfalseDisabilita la profilazione delle istruzioni.
--max-profiles <COUNT>-cinteger200Profili di transazione da conservare in memoria. Valori più alti aumentano l'utilizzo della memoria.
--log-bytes-limit <BYTES>noneinteger10000Numero massimo di byte memorizzati per ogni log di transazione. Impostare su 0 per log illimitati.
--log-level <LEVEL>-lenuminfoLivello di log di Simnet. Valori: trace, debug, info, warn, error, none.
--log-path <LOG_DIR>nonepath.surfpool/logsDirectory per i log di Simnet.
--metrics-enablednonebooleanenv: SURFPOOL_METRICS_ENABLEDAbilita l'endpoint delle metriche Prometheus. Disponibile quando Surfpool è compilato con la funzionalità prometheus.
--metrics-addr <METRICS_ADDR>nonestring127.0.0.1:9000Indirizzo dell'endpoint delle metriche Prometheus. Può essere impostato anche con SURFPOOL_METRICS_ADDR. Disponibile quando Surfpool è compilato con la funzionalità prometheus.

Compatibilità deprecata

FlagShortTypeDefaultDescription
--subgraph-db <SUBGRAPH_DB>-dstring:memory:Deprecato e nascosto da surfpool start --help. Gli script esistenti possono ancora passarlo per compatibilità.

Esempi

Avvia con le impostazioni predefinite:

surfpool start

Fork di devnet:

surfpool start --network devnet

Usa un URL RPC con datasource personalizzato:

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

Stampa i log invece di avviare la TUI:

surfpool start --no-tui

Avvia senza una sorgente dati RPC remota:

surfpool start --offline

Airdrop SOL su più account:

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

Carica lo stato dell'account dagli snapshot:

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

Ridistribuisci i programmi quando target/deploy cambia:

surfpool start --watch

Mantieni lo stato di Surfnet in un database SQLite su disco:

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

surfpool run

Esegue un Runbook. Puoi eseguire direttamente un file .tx oppure fare riferimento a un Runbook dichiarato in un manifest txtx.yml.

surfpool run [OPTIONS] <RUNBOOK>

Argomenti

ArgomentoTipoDescrizione
<RUNBOOK>stringID del Runbook da txtx.yml, oppure percorso a un file .tx.

Progetto

FlagBreveTipoPredefinitoDescrizione
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlPercorso al manifest del runbook.
--env <ENVIRONMENT>nonestringnoneAmbiente da txtx.yml da utilizzare.

Modalità di Esecuzione

Questi flag sono mutualmente esclusivi. Se nessuno è specificato, Surfpool utilizza la supervisione del browser.

FlagBreveTipoPredefinitoDescrizione
--unsupervised-ubooleanfalseEsegui senza l'interfaccia di supervisione.
--browser-bbooleanmodalità predefinitaEsegui con supervisione nell'interfaccia browser.
--terminal-tbooleanfalseEsegui con supervisione nella console del terminale.

Input & Output

FlagShortTipoDefaultDescrizione
--output-json [<OUTPUT_DIR>]nonepercorso opzionalenoneStampa o scrivi gli output del Runbook in formato JSON. Se viene fornita una directory, l'output viene scritto in un file all'interno di essa.
--output <OUTPUT_NAME>nonestringanoneStampa un output specifico al termine dell'esecuzione. In conflitto con --output-json.
--input <INPUT_PATH>nonepercorso[]noneFile di input da utilizzare per l'elaborazione in batch. Ripetibile.

Esecuzione

FlagShortTipoDefaultDescrizione
--explainnonebooleanofalseMostra come verrà eseguito il Runbook.
--force-fbooleanofalseIgnora lo stato di esecuzione nella cache.

Interfaccia Supervisor

Questi flag sono disponibili quando Surfpool è compilato con la funzionalità supervisor_ui.

FlagShortTipoDefaultDescrizione
--port <PORT>-pintero8488Porta Web UI.
--ip <IP_ADDRESS>-istringa127.0.0.1Indirizzo IP Web UI.

Logging

FlagShortTipoDefaultDescrizione
--log-level <LEVEL>-lenuminfoLivello di log dell'esecuzione del Runbook. Valori: trace, debug, info, warn, error.
--log-path <LOG_DIR>nonepercorso.surfpool/logsDirectory per i log di esecuzione del runbook.

Esempi

Esegui un Runbook manifest con supervisione del browser:

surfpool run deployment

Esegui senza supervisione e scrivi gli output in JSON:

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

Esegui direttamente un file .tx:

surfpool run ./runbooks/deployment.tx

surfpool ls

Elenca tutti i Runbook dichiarati nel manifest del workspace.

surfpool ls [OPTIONS]
FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlPercorso del manifest del runbook.

surfpool completions

Genera script di completamento per la shell.

surfpool completions <SHELL>
ArgumentTypeDescription
<SHELL>enumShell per cui generare i completamenti. Valori: bash, elvish, fish, powershell, zsh.

surfpool mcp

Avvia il server MCP di Surfpool per l'integrazione con strumenti AI.

surfpool mcp

Is this page helpful?

© 2026 Solana Foundation. Tutti i diritti riservati.