Polecenia CLI

CLI surfpool uruchamia lokalne Surfnety, wykonuje Runbooki, wyświetla listę Runbooków z manifest obszaru roboczego, generuje uzupełnienia powłoki oraz uruchamia serwer Surfpool MCP.

Polecenia

PolecenieOpis
surfpool startUruchom lokalny Surfnet. Alias: surfpool simnet
surfpool runWykonaj Runbook
surfpool lsWyświetl listę Runbooków w bieżącym obszarze roboczym
surfpool completionsGeneruj skrypty uzupełniania powłoki
surfpool mcpUruchom serwer Surfpool MCP

surfpool start

Uruchamia lokalny Surfnet. Jeśli uruchomisz go w katalogu programu Solana, Surfpool może generować i wykonywać Runbooki wdrażające Twoje programy.

surfpool start [OPTIONS]

Sieć i porty

FlagaSkrótTypDomyślnieOpis
--port <PORT>-pinteger8899Powiąż serwer JSON-RPC z tym portem.
--ws-port <PORT>-winteger8900Powiąż serwer WebSocket z tym portem.
--host <HOST>-ostring127.0.0.1Powiąż usługi RPC, WebSocket i Studio z tym hostem.
--rpc-url <RPC_URL>-ustringbrakForkuj z tego źródła danych RPC URL. Konflikt z --network. Można też ustawić za pomocą SURFPOOL_DATASOURCE_RPC_URL.
--network <NETWORK>-nenumbrakForkuj ze zdefiniowanej sieci Solana. Wartości: mainnet, devnet, testnet. Konflikt z --rpc-url.
--offlinebrakbooleanfalseUruchom bez zdalnego źródła danych RPC.

Projekt i wdrożenie

FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlŚcieżka do manifestu runbooka.
--no-deploynonebooleanfalseWyłącz automatyczne wdrożenia programów.
--runbook <RUNBOOK>-rstring[]deploymentIdentyfikator runbooka do wykonania po uruchomieniu. Można powtarzać.
--runbook-input <INPUT_PATH>-ipath[]nonePlik wejściowy dostarczany do wykonania runbooka. Można powtarzać.
--yes-ybooleanfalsePomiń monity generowania runbooka.
--watchnonebooleanfalsePonowne wdrożenie przy zmianie artefaktów programu.
--artifacts-path <ARTIFACTS_PATH>nonepathnoneKatalog zawierający artefakty programu .so. Domyślnie target/deploy, gdy pominięto.
--legacy-anchor-compatibilitynonebooleanfalseUżyj ustawień domyślnych dostosowanych do starszych zestawów testowych Anchor.
--anchor-test-config-path <TEST_TOML>nonepath[]nonePlik Test.toml Anchor do sprawdzenia. Można powtarzać.

Konta i stan

FlagShortTypeDefaultDescription
--airdrop <PUBKEY>-apubkey[]nonepubkey do zrzutu SOL przy uruchomieniu. Można powtarzać.
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonŚcieżka do keypair, którego pubkey powinien otrzymać zrzut. Można powtarzać.
--airdrop-amount <LAMPORTS>-qinteger10000000000000Liczba lamport do zrzutu na każde konto startowe.
--snapshot <SNAPSHOT_PATH>nonepath[]noneMigawka konta JSON do wstępnego załadowania. Można powtarzać. Późniejsze pliki nadpisują wcześniejsze dla zduplikowanych kluczy.
--db <DB_URL>nonestringnoneAdres URL połączenia z bazą danych dla trwałego stanu Surfnet. Użyj :memory: dla SQLite w pamięci, pliku .sqlite dla SQLite na dysku lub adresu URL PostgreSQL przy kompilacji z funkcją postgres.
--surfnet-id <SURFNET_ID>nonestringdefaultPrzestrzeń nazw magazynu dla tej instancji Surfnet.

Środowisko uruchomieniowe i interfejs użytkownika

FlagaSkrótTypDomyślnieOpis
--no-tuibrakbooleanfalseWyświetla logi zamiast uruchamiać terminalowy interfejs użytkownika.
--no-studiobrakbooleanfalseWyłącza Surfpool Studio.
--studio-port <PORT>-sinteger18488Przypisuje Studio do tego portu.
--daemonbrakbooleanfalseUruchamia Surfpool jako proces działający w tle. Tryb demona działa tylko na Linuksie.
--cibrakbooleanfalseUżywa ustawień odpowiednich dla CI. Wyłącza TUI, Studio, profilowanie instrukcji i wyjście logów.

Zachowanie SVM

FlagaSkrótTypDomyślnieOpis
--slot-time <MILLISECONDS>-tinteger400Czas slot w milisekundach.
--block-production-mode <MODE>-benumclockTryb produkcji bloków.
--feature <FEATURE_PUBKEY>-fpubkey[]brakWłącza funkcję SVM według pubkey. Można powtarzać. Nazwy funkcji są przestarzałe, ale nadal akceptowane dla wcześniej obsługiwanych nazw.
--disable-feature <FEATURE_PUBKEY>brakpubkey[]brakWyłącza funkcję SVM według pubkey. Można powtarzać. Nazwy funkcji są przestarzałe, ale nadal akceptowane dla wcześniej obsługiwanych nazw.
--features-allbrakbooleanfalseWłącza wszystkie funkcje SVM z agave-feature-set.
--skip-signature-verificationbrakbooleanfalsePomija weryfikację podpisów transakcji.
--skip-blockhash-checkbrakbooleanfalsePomija walidację blockhash transakcji.

Obserwowalność i wydajność

FlagaSkrótTypDomyślnieOpis
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]brakPlik konfiguracyjny wtyczki Geyser do załadowania. Można powtarzać.
--disable-instruction-profilingbrakbooleanfalseWyłącz profilowanie instrukcji.
--max-profiles <COUNT>-cinteger200Profile transakcji przechowywane w pamięci. Wyższe wartości zwiększają zużycie pamięci.
--log-bytes-limit <BYTES>brakinteger10000Maksymalna liczba bajtów przechowywanych dla każdego dziennika transakcji. Ustaw na 0, aby uzyskać nieograniczone dzienniki.
--log-level <LEVEL>-lenuminfoPoziom dziennika simnetu. Wartości: trace, debug, info, warn, error, none.
--log-path <LOG_DIR>brakpath.surfpool/logsKatalog dla dzienników simnetu.
--metrics-enabledbrakbooleanenv: SURFPOOL_METRICS_ENABLEDWłącz punkt końcowy metryk Prometheus. Dostępne, gdy Surfpool jest zbudowany z funkcją prometheus.
--metrics-addr <METRICS_ADDR>brakstring127.0.0.1:9000Adres punktu końcowego metryk Prometheus. Można również ustawić za pomocą SURFPOOL_METRICS_ADDR. Dostępne, gdy Surfpool jest zbudowany z funkcją prometheus.

Przestarzała zgodność

FlagaSkrótTypDomyślnieOpis
--subgraph-db <SUBGRAPH_DB>-dstring:memory:Przestarzałe i ukryte w surfpool start --help. Istniejące skrypty mogą nadal przekazywać tę flagę dla zachowania zgodności.

Przykłady

Uruchom z domyślnymi ustawieniami:

surfpool start

Rozwidlenie devnet:

surfpool start --network devnet

Użyj niestandardowego adresu URL RPC źródła danych:

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

Wyświetl logi zamiast uruchamiać TUI:

surfpool start --no-tui

Uruchom bez zdalnego źródła danych RPC:

surfpool start --offline

Airdrop SOL na wiele kont:

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

Wczytaj stan konta z migawek:

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

Ponownie wdróż programy, gdy zmieni się target/deploy:

surfpool start --watch

Utrwal stan Surfnet w bazie danych SQLite na dysku:

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

surfpool run

Wykonuje Runbook. Możesz uruchomić plik .tx bezpośrednio lub odwołać się do Runbooka zadeklarowanego w manifeście txtx.yml.

surfpool run [OPTIONS] <RUNBOOK>

Argumenty

ArgumentTypOpis
<RUNBOOK>stringID Runbooka z txtx.yml lub ścieżka do pliku .tx.

Projekt

FlagaSkrótTypDomyślnieOpis
--manifest-file-path <MANIFEST_PATH>-mścieżka./txtx.ymlŚcieżka do manifestu runbooka.
--env <ENVIRONMENT>brakstringbrakŚrodowisko z txtx.yml do użycia.

Tryb wykonania

Te flagi wzajemnie się wykluczają. Jeśli żadna nie zostanie podana, Surfpool używa nadzoru przeglądarki.

FlagaSkrótTypDomyślnieOpis
--unsupervised-ubooleanfalseWykonaj bez interfejsu nadzorcy.
--browser-bbooleantryb domyślnyWykonaj z nadzorem w interfejsie przeglądarki.
--terminal-tbooleanfalseWykonaj z nadzorem w konsoli terminalowej.

Wejścia i wyjścia

FlagaSkrótTypDomyślnieOpis
--output-json [<OUTPUT_DIR>]brakopcjonalna ścieżkabrakWyświetla lub zapisuje dane wyjściowe Runbooka jako JSON. Jeśli podano katalog, dane wyjściowe są zapisywane do pliku w tym katalogu.
--output <OUTPUT_NAME>brakciąg znakówbrakWyświetla jedno nazwane wyjście po zakończeniu wykonania. Konflikt z --output-json.
--input <INPUT_PATH>brakścieżka[]brakPlik wejściowy do przetwarzania wsadowego. Powtarzalny.

Wykonanie

FlagaSkrótTypDomyślnieOpis
--explainbrakwartość logicznafalseWyjaśnia, jak Runbook zostanie wykonany.
--force-fwartość logicznafalseIgnoruje zapisany stan wykonania.

Interfejs Supervisora

Te flagi są dostępne, gdy Surfpool jest zbudowany z funkcją supervisor_ui.

FlagaSkrótTypDomyślnieOpis
--port <PORT>-pliczba całkowita8488Port interfejsu Web UI.
--ip <IP_ADDRESS>-iciąg znaków127.0.0.1Adres IP interfejsu Web UI.

Logowanie

FlagaSkrótTypDomyślnieOpis
--log-level <LEVEL>-lenuminfoPoziom logowania wykonania Runbooka. Wartości: trace, debug, info, warn, error.
--log-path <LOG_DIR>brakścieżka.surfpool/logsKatalog dla logów wykonania runbooka.

Przykłady

Uruchom manifest Runbook z nadzorem przeglądarki:

surfpool run deployment

Uruchom bez nadzoru i zapisz wyniki w formacie JSON:

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

Uruchom plik .tx bezpośrednio:

surfpool run ./runbooks/deployment.tx

surfpool ls

Wyświetla listę wszystkich Runbooków zadeklarowanych w manifeście obszaru roboczego.

surfpool ls [OPTIONS]
FlagaSkrótTypDomyślnaOpis
--manifest-file-path <MANIFEST_PATH>-mścieżka./txtx.ymlŚcieżka do manifestu runbooka.

surfpool completions

Generuje skrypty uzupełniania powłoki.

surfpool completions <SHELL>
ArgumentTypOpis
<SHELL>enumPowłoka, dla której mają być generowane uzupełnienia. Wartości: bash, elvish, fish, powershell, zsh.

surfpool mcp

Uruchamia serwer Surfpool MCP do integracji z narzędziami AI.

surfpool mcp

Is this page helpful?