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
| Polecenie | Opis |
|---|---|
surfpool start | Uruchom lokalny Surfnet. Alias: surfpool simnet |
surfpool run | Wykonaj Runbook |
surfpool ls | Wyświetl listę Runbooków w bieżącym obszarze roboczym |
surfpool completions | Generuj skrypty uzupełniania powłoki |
surfpool mcp | Uruchom 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
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--port <PORT> | -p | integer | 8899 | Powiąż serwer JSON-RPC z tym portem. |
--ws-port <PORT> | -w | integer | 8900 | Powiąż serwer WebSocket z tym portem. |
--host <HOST> | -o | string | 127.0.0.1 | Powiąż usługi RPC, WebSocket i Studio z tym hostem. |
--rpc-url <RPC_URL> | -u | string | brak | Forkuj z tego źródła danych RPC URL. Konflikt z --network. Można też ustawić za pomocą SURFPOOL_DATASOURCE_RPC_URL. |
--network <NETWORK> | -n | enum | brak | Forkuj ze zdefiniowanej sieci Solana. Wartości: mainnet, devnet, testnet. Konflikt z --rpc-url. |
--offline | brak | boolean | false | Uruchom bez zdalnego źródła danych RPC. |
Projekt i wdrożenie
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Ścieżka do manifestu runbooka. |
--no-deploy | none | boolean | false | Wyłącz automatyczne wdrożenia programów. |
--runbook <RUNBOOK> | -r | string[] | deployment | Identyfikator runbooka do wykonania po uruchomieniu. Można powtarzać. |
--runbook-input <INPUT_PATH> | -i | path[] | none | Plik wejściowy dostarczany do wykonania runbooka. Można powtarzać. |
--yes | -y | boolean | false | Pomiń monity generowania runbooka. |
--watch | none | boolean | false | Ponowne wdrożenie przy zmianie artefaktów programu. |
--artifacts-path <ARTIFACTS_PATH> | none | path | none | Katalog zawierający artefakty programu .so. Domyślnie target/deploy, gdy pominięto. |
--legacy-anchor-compatibility | none | boolean | false | Użyj ustawień domyślnych dostosowanych do starszych zestawów testowych Anchor. |
--anchor-test-config-path <TEST_TOML> | none | path[] | none | Plik Test.toml Anchor do sprawdzenia. Można powtarzać. |
Konta i stan
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--airdrop <PUBKEY> | -a | pubkey[] | none | pubkey do zrzutu SOL przy uruchomieniu. Można powtarzać. |
--airdrop-keypair-path <KEYPAIR_PATH> | -k | path[] | ~/.config/solana/id.json | Ścieżka do keypair, którego pubkey powinien otrzymać zrzut. Można powtarzać. |
--airdrop-amount <LAMPORTS> | -q | integer | 10000000000000 | Liczba lamport do zrzutu na każde konto startowe. |
--snapshot <SNAPSHOT_PATH> | none | path[] | none | Migawka konta JSON do wstępnego załadowania. Można powtarzać. Późniejsze pliki nadpisują wcześniejsze dla zduplikowanych kluczy. |
--db <DB_URL> | none | string | none | Adres 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> | none | string | default | Przestrzeń nazw magazynu dla tej instancji Surfnet. |
Środowisko uruchomieniowe i interfejs użytkownika
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--no-tui | brak | boolean | false | Wyświetla logi zamiast uruchamiać terminalowy interfejs użytkownika. |
--no-studio | brak | boolean | false | Wyłącza Surfpool Studio. |
--studio-port <PORT> | -s | integer | 18488 | Przypisuje Studio do tego portu. |
--daemon | brak | boolean | false | Uruchamia Surfpool jako proces działający w tle. Tryb demona działa tylko na Linuksie. |
--ci | brak | boolean | false | Używa ustawień odpowiednich dla CI. Wyłącza TUI, Studio, profilowanie instrukcji i wyjście logów. |
Zachowanie SVM
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--slot-time <MILLISECONDS> | -t | integer | 400 | Czas slot w milisekundach. |
--block-production-mode <MODE> | -b | enum | clock | Tryb produkcji bloków. |
--feature <FEATURE_PUBKEY> | -f | pubkey[] | brak | Włą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> | brak | pubkey[] | brak | Wyłącza funkcję SVM według pubkey. Można powtarzać. Nazwy funkcji są przestarzałe, ale nadal akceptowane dla wcześniej obsługiwanych nazw. |
--features-all | brak | boolean | false | Włącza wszystkie funkcje SVM z agave-feature-set. |
--skip-signature-verification | brak | boolean | false | Pomija weryfikację podpisów transakcji. |
--skip-blockhash-check | brak | boolean | false | Pomija walidację blockhash transakcji. |
Obserwowalność i wydajność
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--geyser-plugin-config <PLUGIN_CONFIG_PATH> | -g | path[] | brak | Plik konfiguracyjny wtyczki Geyser do załadowania. Można powtarzać. |
--disable-instruction-profiling | brak | boolean | false | Wyłącz profilowanie instrukcji. |
--max-profiles <COUNT> | -c | integer | 200 | Profile transakcji przechowywane w pamięci. Wyższe wartości zwiększają zużycie pamięci. |
--log-bytes-limit <BYTES> | brak | integer | 10000 | Maksymalna liczba bajtów przechowywanych dla każdego dziennika transakcji. Ustaw na 0, aby uzyskać nieograniczone dzienniki. |
--log-level <LEVEL> | -l | enum | info | Poziom dziennika simnetu. Wartości: trace, debug, info, warn, error, none. |
--log-path <LOG_DIR> | brak | path | .surfpool/logs | Katalog dla dzienników simnetu. |
--metrics-enabled | brak | boolean | env: SURFPOOL_METRICS_ENABLED | Włącz punkt końcowy metryk Prometheus. Dostępne, gdy Surfpool jest zbudowany z funkcją prometheus. |
--metrics-addr <METRICS_ADDR> | brak | string | 127.0.0.1:9000 | Adres 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ść
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--subgraph-db <SUBGRAPH_DB> | -d | string | :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
| Argument | Typ | Opis |
|---|---|---|
<RUNBOOK> | string | ID Runbooka z txtx.yml lub ścieżka do pliku .tx. |
Projekt
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | ścieżka | ./txtx.yml | Ścieżka do manifestu runbooka. |
--env <ENVIRONMENT> | brak | string | brak | Ś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.
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--unsupervised | -u | boolean | false | Wykonaj bez interfejsu nadzorcy. |
--browser | -b | boolean | tryb domyślny | Wykonaj z nadzorem w interfejsie przeglądarki. |
--terminal | -t | boolean | false | Wykonaj z nadzorem w konsoli terminalowej. |
Wejścia i wyjścia
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--output-json [<OUTPUT_DIR>] | brak | opcjonalna ścieżka | brak | Wyś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> | brak | ciąg znaków | brak | Wyświetla jedno nazwane wyjście po zakończeniu wykonania. Konflikt z --output-json. |
--input <INPUT_PATH> | brak | ścieżka[] | brak | Plik wejściowy do przetwarzania wsadowego. Powtarzalny. |
Wykonanie
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--explain | brak | wartość logiczna | false | Wyjaśnia, jak Runbook zostanie wykonany. |
--force | -f | wartość logiczna | false | Ignoruje zapisany stan wykonania. |
Interfejs Supervisora
Te flagi są dostępne, gdy Surfpool jest zbudowany z funkcją supervisor_ui.
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--port <PORT> | -p | liczba całkowita | 8488 | Port interfejsu Web UI. |
--ip <IP_ADDRESS> | -i | ciąg znaków | 127.0.0.1 | Adres IP interfejsu Web UI. |
Logowanie
| Flaga | Skrót | Typ | Domyślnie | Opis |
|---|---|---|---|---|
--log-level <LEVEL> | -l | enum | info | Poziom logowania wykonania Runbooka. Wartości: trace, debug, info, warn, error. |
--log-path <LOG_DIR> | brak | ścieżka | .surfpool/logs | Katalog 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]
| Flaga | Skrót | Typ | Domyślna | Opis |
|---|---|---|---|---|
--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>
| Argument | Typ | Opis |
|---|---|---|
<SHELL> | enum | Powł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?