Εντολές CLI

Το surfpool CLI εκκινεί τοπικά Surfnets, εκτελεί Runbooks, παραθέτει Runbooks από ένα workspace manifest, δημιουργεί ολοκληρώσεις φλοιού και εκκινεί τον διακομιστή Surfpool MCP.

Εντολές

ΕντολήΠεριγραφή
surfpool startΕκκίνηση τοπικού Surfnet. Ψευδώνυμο: surfpool simnet
surfpool runΕκτέλεση Runbook
surfpool lsΛίστα Runbooks στο τρέχον workspace
surfpool completionsΔημιουργία scripts ολοκλήρωσης φλοιού
surfpool mcpΕκκίνηση του διακομιστή Surfpool MCP

surfpool start

Εκκινεί ένα τοπικό Surfnet. Εάν το εκτελέσετε σε έναν κατάλογο προγράμματος Solana, το Surfpool μπορεί να δημιουργήσει και να εκτελέσει Runbooks που αναπτύσσουν τα προγράμματά σας.

surfpool start [OPTIONS]

Δίκτυο & Θύρες

ΣημαίαΣύντομοΤύποςΠροεπιλογήΠεριγραφή
--port <PORT>-pinteger8899Δέσμευση του διακομιστή JSON-RPC σε αυτή τη θύρα.
--ws-port <PORT>-winteger8900Δέσμευση του διακομιστή WebSocket σε αυτή τη θύρα.
--host <HOST>-ostring127.0.0.1Δέσμευση υπηρεσιών RPC, WebSocket και Studio σε αυτόν τον κεντρικό υπολογιστή.
--rpc-url <RPC_URL>-ustringnoneFork από αυτό το URL RPC πηγής δεδομένων. Συγκρούεται με --network. Μπορεί επίσης να οριστεί με SURFPOOL_DATASOURCE_RPC_URL.
--network <NETWORK>-nenumnoneFork από ένα προκαθορισμένο δίκτυο Solana. Τιμές: mainnet, devnet, testnet. Συγκρούεται με --rpc-url.
--offlinenonebooleanfalseΕκτέλεση χωρίς απομακρυσμένη πηγή δεδομένων RPC.

Έργο & Ανάπτυξη

FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlΔιαδρομή προς το manifest του runbook.
--no-deploynonebooleanfalseΑπενεργοποίηση αυτόματων αναπτύξεων προγράμματος.
--runbook <RUNBOOK>-rstring[]deploymentID runbook για εκτέλεση μετά την εκκίνηση. Επαναλαμβανόμενο.
--runbook-input <INPUT_PATH>-ipath[]noneΑρχείο εισόδου για παροχή στην εκτέλεση runbook. Επαναλαμβανόμενο.
--yes-ybooleanfalseΠαράλειψη προτροπών δημιουργίας runbook.
--watchnonebooleanfalseΕπανανάπτυξη όταν αλλάζουν τα artifacts του προγράμματος.
--artifacts-path <ARTIFACTS_PATH>nonepathnoneΚατάλογος που περιέχει artifacts προγράμματος .so. Προεπιλογή σε target/deploy όταν παραλείπεται.
--legacy-anchor-compatibilitynonebooleanfalseΧρήση προεπιλογών κατάλληλων για παλαιές σουίτες δοκιμών Anchor.
--anchor-test-config-path <TEST_TOML>nonepath[]noneΑρχείο Test.toml του Anchor για επιθεώρηση. Επαναλαμβανόμενο.

Λογαριασμοί & Κατάσταση

FlagShortTypeDefaultDescription
--airdrop <PUBKEY>-apubkey[]nonepubkey για airdrop SOL κατά την εκκίνηση. Επαναλαμβανόμενο.
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonΔιαδρομή keypair της οποίας το pubkey θα λάβει airdrop. Επαναλαμβανόμενο.
--airdrop-amount <LAMPORTS>-qinteger10000000000000lamport για airdrop σε κάθε λογαριασμό εκκίνησης.
--snapshot <SNAPSHOT_PATH>nonepath[]noneΣτιγμιότυπο λογαριασμού JSON για προφόρτωση. Επαναλαμβανόμενο. Τα μεταγενέστερα αρχεία υπερισχύουν των προηγούμενων για διπλότυπα κλειδιά.
--db <DB_URL>nonestringnoneURL σύνδεσης βάσης δεδομένων για μόνιμη κατάσταση Surfnet. Χρησιμοποιήστε :memory: για SQLite εντός μνήμης, αρχείο .sqlite για SQLite στον δίσκο, ή URL PostgreSQL όταν έχει δημιουργηθεί με τη δυνατότητα postgres.
--surfnet-id <SURFNET_ID>nonestringdefaultΧώρος αποθήκευσης ονοματοδοσίας για αυτό το instance Surfnet.

Χρόνος Εκτέλεσης & Διεπαφή Χρήστη

ΣημαίαΣύντομηΤύποςΠροεπιλογήΠεριγραφή
--no-tuinonebooleanfalseΕκτύπωση αρχείων καταγραφής αντί για εκκίνηση του τερματικού UI.
--no-studiononebooleanfalseΑπενεργοποίηση του Surfpool Studio.
--studio-port <PORT>-sinteger18488Σύνδεση του Studio σε αυτή τη θύρα.
--daemonnonebooleanfalseΕκτέλεση του Surfpool ως διεργασία παρασκηνίου. Η λειτουργία daemon είναι αποκλειστικά για Linux.
--cinonebooleanfalseΧρήση ρυθμίσεων κατάλληλων για CI. Απενεργοποιεί το TUI, το Studio, την ανάλυση εντολών και την έξοδο καταγραφής.

Συμπεριφορά SVM

ΣημαίαΣύντομηΤύποςΠροεπιλογήΠεριγραφή
--slot-time <MILLISECONDS>-tinteger400Χρόνος slot σε χιλιοστά του δευτερολέπτου.
--block-production-mode <MODE>-benumclockΛειτουργία παραγωγής μπλοκ.
--feature <FEATURE_PUBKEY>-fpubkey[]noneΕνεργοποίηση μιας δυνατότητας SVM μέσω pubkey. Επαναλαμβανόμενο. Τα ονόματα δυνατοτήτων είναι καταργημένα αλλά γίνονται ακόμα αποδεκτά για προηγουμένως υποστηριζόμενα ονόματα.
--disable-feature <FEATURE_PUBKEY>nonepubkey[]noneΑπενεργοποίηση μιας δυνατότητας SVM μέσω pubkey. Επαναλαμβανόμενο. Τα ονόματα δυνατοτήτων είναι καταργημένα αλλά γίνονται ακόμα αποδεκτά για προηγουμένως υποστηριζόμενα ονόματα.
--features-allnonebooleanfalseΕνεργοποίηση όλων των δυνατοτήτων SVM από το agave-feature-set.
--skip-signature-verificationnonebooleanfalseΠαράλειψη επαλήθευσης υπογραφής συναλλαγής.
--skip-blockhash-checknonebooleanfalseΠαράλειψη επικύρωσης blockhash συναλλαγής.

Παρατηρησιμότητα & Απόδοση

FlagShortTypeDefaultDescription
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]noneΑρχείο ρυθμίσεων plugin Geyser προς φόρτωση. Επαναλαμβανόμενο.
--disable-instruction-profilingnonebooleanfalseΑπενεργοποίηση προφίλ εντολών.
--max-profiles <COUNT>-cinteger200Προφίλ συναλλαγών που διατηρούνται στη μνήμη. Υψηλότερες τιμές αυξάνουν τη χρήση μνήμης.
--log-bytes-limit <BYTES>noneinteger10000Μέγιστα bytes αποθηκευμένα για κάθε αρχείο καταγραφής συναλλαγής. Ορίστε σε 0 για απεριόριστα αρχεία καταγραφής.
--log-level <LEVEL>-lenuminfoΕπίπεδο καταγραφής Simnet. Τιμές: trace, debug, info, warn, error, none.
--log-path <LOG_DIR>nonepath.surfpool/logsΚατάλογος για αρχεία καταγραφής simnet.
--metrics-enablednonebooleanenv: SURFPOOL_METRICS_ENABLEDΕνεργοποίηση του endpoint μετρικών Prometheus. Διαθέσιμο όταν το Surfpool έχει κατασκευαστεί με τη δυνατότητα prometheus.
--metrics-addr <METRICS_ADDR>nonestring127.0.0.1:9000Διεύθυνση endpoint μετρικών Prometheus. Μπορεί επίσης να οριστεί με SURFPOOL_METRICS_ADDR. Διαθέσιμο όταν το Surfpool έχει κατασκευαστεί με τη δυνατότητα prometheus.

Καταργημένη Συμβατότητα

FlagShortTypeDefaultDescription
--subgraph-db <SUBGRAPH_DB>-dstring:memory:Καταργημένο και κρυφό από το surfpool start --help. Τα υπάρχοντα scripts μπορούν ακόμα να το χρησιμοποιούν για συμβατότητα.

Παραδείγματα

Εκκίνηση με προεπιλεγμένες ρυθμίσεις:

surfpool start

Fork devnet:

surfpool start --network devnet

Χρήση προσαρμοσμένης URL πηγής δεδομένων (datasource RPC):

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

Εκτύπωση αρχείων καταγραφής αντί για εκκίνηση του TUI:

surfpool start --no-tui

Εκκίνηση χωρίς απομακρυσμένη πηγή δεδομένων RPC:

surfpool start --offline

Airdrop SOL σε πολλαπλούς λογαριασμούς:

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

Φόρτωση κατάστασης λογαριασμού από στιγμιότυπα:

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

Επανατοποθέτηση προγραμμάτων όταν αλλάζει το target/deploy:

surfpool start --watch

Διατήρηση κατάστασης Surfnet σε βάση δεδομένων SQLite στον δίσκο:

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

surfpool run

Εκτελεί ένα Runbook. Μπορείτε να εκτελέσετε απευθείας ένα αρχείο .tx ή να αναφερθείτε σε ένα Runbook δηλωμένο σε ένα manifest txtx.yml.

surfpool run [OPTIONS] <RUNBOOK>

Ορίσματα

ΌρισμαΤύποςΠεριγραφή
<RUNBOOK>stringID Runbook από το txtx.yml, ή διαδρομή προς ένα αρχείο .tx.

Έργο

ΣημαίαΣύντομηΤύποςΠροεπιλογήΠεριγραφή
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlΔιαδρομή προς το manifest του runbook.
--env <ENVIRONMENT>nonestringnoneΠεριβάλλον από το txtx.yml για χρήση.

Λειτουργία Εκτέλεσης

Αυτές οι σημαίες είναι αμοιβαία αποκλειόμενες. Εάν δεν οριστεί καμία, το Surfpool χρησιμοποιεί εποπτεία μέσω του προγράμματος περιήγησης.

ΣημαίαΣύντομηΤύποςΠροεπιλογήΠεριγραφή
--unsupervised-ubooleanfalseΕκτέλεση χωρίς το UI εποπτείας.
--browser-bbooleanπροεπιλεγμένη λειτουργίαΕκτέλεση με εποπτεία στο UI του προγράμματος περιήγησης.
--terminal-tbooleanfalseΕκτέλεση με εποπτεία στην κονσόλα τερματικού.

Είσοδοι & Έξοδοι

ΣημαίαΣύντομοΤύποςΠροεπιλογήΠεριγραφή
--output-json [<OUTPUT_DIR>]noneπροαιρετική διαδρομήnoneΕκτύπωση ή αποθήκευση εξόδων Runbook ως JSON. Όταν παρέχεται κατάλογος, η έξοδος εγγράφεται σε αρχείο σε αυτόν τον κατάλογο.
--output <OUTPUT_NAME>nonestringnoneΕκτύπωση μιας ονομαστικής εξόδου στο τέλος της εκτέλεσης. Έρχεται σε σύγκρουση με το --output-json.
--input <INPUT_PATH>nonepath[]noneΑρχείο εισόδου για χρήση στην ομαδική επεξεργασία. Επαναλαμβανόμενο.

Εκτέλεση

ΣημαίαΣύντομοΤύποςΠροεπιλογήΠεριγραφή
--explainnonebooleanfalseΕξήγηση του τρόπου εκτέλεσης του Runbook.
--force-fbooleanfalseΑγνόηση αποθηκευμένης κατάστασης εκτέλεσης.

Διεπαφή Χρήστη Supervisor

Αυτές οι σημαίες είναι διαθέσιμες όταν το Surfpool έχει δημιουργηθεί με τη λειτουργία supervisor_ui.

ΣημαίαΣύντομοΤύποςΠροεπιλογήΠεριγραφή
--port <PORT>-pinteger8488Θύρα Web UI.
--ip <IP_ADDRESS>-istring127.0.0.1Διεύθυνση IP Web UI.

Καταγραφή

ΣημαίαΣύντομοΤύποςΠροεπιλογήΠεριγραφή
--log-level <LEVEL>-lenuminfoΕπίπεδο καταγραφής εκτέλεσης Runbook. Τιμές: trace, debug, info, warn, error.
--log-path <LOG_DIR>nonepath.surfpool/logsΚατάλογος για αρχεία καταγραφής εκτέλεσης runbook.

Παραδείγματα

Εκτέλεση ενός Runbook μανιφέστο με εποπτεία προγράμματος περιήγησης:

surfpool run deployment

Εκτέλεση χωρίς εποπτεία και αποθήκευση εξόδων JSON:

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

Εκτέλεση αρχείου .tx απευθείας:

surfpool run ./runbooks/deployment.tx

surfpool ls

Εμφανίζει όλα τα Runbooks που δηλώνονται στο μανιφέστο του χώρου εργασίας.

surfpool ls [OPTIONS]
FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlΔιαδρομή προς το μανιφέστο runbook.

surfpool completions

Δημιουργεί σενάρια αυτόματης συμπλήρωσης για το κέλυφος.

surfpool completions <SHELL>
ArgumentTypeDescription
<SHELL>enumΚέλυφος για το οποίο θα δημιουργηθούν οι συμπληρώσεις. Τιμές: bash, elvish, fish, powershell, zsh.

surfpool mcp

Εκκινεί τον διακομιστή Surfpool MCP για ενσωμάτωση εργαλείων τεχνητής νοημοσύνης.

surfpool mcp

Is this page helpful?

© 2026 Ίδρυμα Solana. Με επιφύλαξη παντός δικαιώματος.