Το 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> | -p | integer | 8899 | Δέσμευση του διακομιστή JSON-RPC σε αυτή τη θύρα. |
--ws-port <PORT> | -w | integer | 8900 | Δέσμευση του διακομιστή WebSocket σε αυτή τη θύρα. |
--host <HOST> | -o | string | 127.0.0.1 | Δέσμευση υπηρεσιών RPC, WebSocket και Studio σε αυτόν τον κεντρικό υπολογιστή. |
--rpc-url <RPC_URL> | -u | string | none | Fork από αυτό το URL RPC πηγής δεδομένων. Συγκρούεται με --network. Μπορεί επίσης να οριστεί με SURFPOOL_DATASOURCE_RPC_URL. |
--network <NETWORK> | -n | enum | none | Fork από ένα προκαθορισμένο δίκτυο Solana. Τιμές: mainnet, devnet, testnet. Συγκρούεται με --rpc-url. |
--offline | none | boolean | false | Εκτέλεση χωρίς απομακρυσμένη πηγή δεδομένων RPC. |
Έργο & Ανάπτυξη
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Διαδρομή προς το manifest του runbook. |
--no-deploy | none | boolean | false | Απενεργοποίηση αυτόματων αναπτύξεων προγράμματος. |
--runbook <RUNBOOK> | -r | string[] | deployment | ID runbook για εκτέλεση μετά την εκκίνηση. Επαναλαμβανόμενο. |
--runbook-input <INPUT_PATH> | -i | path[] | none | Αρχείο εισόδου για παροχή στην εκτέλεση runbook. Επαναλαμβανόμενο. |
--yes | -y | boolean | false | Παράλειψη προτροπών δημιουργίας runbook. |
--watch | none | boolean | false | Επανανάπτυξη όταν αλλάζουν τα artifacts του προγράμματος. |
--artifacts-path <ARTIFACTS_PATH> | none | path | none | Κατάλογος που περιέχει artifacts προγράμματος .so. Προεπιλογή σε target/deploy όταν παραλείπεται. |
--legacy-anchor-compatibility | none | boolean | false | Χρήση προεπιλογών κατάλληλων για παλαιές σουίτες δοκιμών Anchor. |
--anchor-test-config-path <TEST_TOML> | none | path[] | none | Αρχείο Test.toml του Anchor για επιθεώρηση. Επαναλαμβανόμενο. |
Λογαριασμοί & Κατάσταση
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--airdrop <PUBKEY> | -a | pubkey[] | none | pubkey για airdrop SOL κατά την εκκίνηση. Επαναλαμβανόμενο. |
--airdrop-keypair-path <KEYPAIR_PATH> | -k | path[] | ~/.config/solana/id.json | Διαδρομή keypair της οποίας το pubkey θα λάβει airdrop. Επαναλαμβανόμενο. |
--airdrop-amount <LAMPORTS> | -q | integer | 10000000000000 | lamport για airdrop σε κάθε λογαριασμό εκκίνησης. |
--snapshot <SNAPSHOT_PATH> | none | path[] | none | Στιγμιότυπο λογαριασμού JSON για προφόρτωση. Επαναλαμβανόμενο. Τα μεταγενέστερα αρχεία υπερισχύουν των προηγούμενων για διπλότυπα κλειδιά. |
--db <DB_URL> | none | string | none | URL σύνδεσης βάσης δεδομένων για μόνιμη κατάσταση Surfnet. Χρησιμοποιήστε :memory: για SQLite εντός μνήμης, αρχείο .sqlite για SQLite στον δίσκο, ή URL PostgreSQL όταν έχει δημιουργηθεί με τη δυνατότητα postgres. |
--surfnet-id <SURFNET_ID> | none | string | default | Χώρος αποθήκευσης ονοματοδοσίας για αυτό το instance Surfnet. |
Χρόνος Εκτέλεσης & Διεπαφή Χρήστη
| Σημαία | Σύντομη | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--no-tui | none | boolean | false | Εκτύπωση αρχείων καταγραφής αντί για εκκίνηση του τερματικού UI. |
--no-studio | none | boolean | false | Απενεργοποίηση του Surfpool Studio. |
--studio-port <PORT> | -s | integer | 18488 | Σύνδεση του Studio σε αυτή τη θύρα. |
--daemon | none | boolean | false | Εκτέλεση του Surfpool ως διεργασία παρασκηνίου. Η λειτουργία daemon είναι αποκλειστικά για Linux. |
--ci | none | boolean | false | Χρήση ρυθμίσεων κατάλληλων για CI. Απενεργοποιεί το TUI, το Studio, την ανάλυση εντολών και την έξοδο καταγραφής. |
Συμπεριφορά SVM
| Σημαία | Σύντομη | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--slot-time <MILLISECONDS> | -t | integer | 400 | Χρόνος slot σε χιλιοστά του δευτερολέπτου. |
--block-production-mode <MODE> | -b | enum | clock | Λειτουργία παραγωγής μπλοκ. |
--feature <FEATURE_PUBKEY> | -f | pubkey[] | none | Ενεργοποίηση μιας δυνατότητας SVM μέσω pubkey. Επαναλαμβανόμενο. Τα ονόματα δυνατοτήτων είναι καταργημένα αλλά γίνονται ακόμα αποδεκτά για προηγουμένως υποστηριζόμενα ονόματα. |
--disable-feature <FEATURE_PUBKEY> | none | pubkey[] | none | Απενεργοποίηση μιας δυνατότητας SVM μέσω pubkey. Επαναλαμβανόμενο. Τα ονόματα δυνατοτήτων είναι καταργημένα αλλά γίνονται ακόμα αποδεκτά για προηγουμένως υποστηριζόμενα ονόματα. |
--features-all | none | boolean | false | Ενεργοποίηση όλων των δυνατοτήτων SVM από το agave-feature-set. |
--skip-signature-verification | none | boolean | false | Παράλειψη επαλήθευσης υπογραφής συναλλαγής. |
--skip-blockhash-check | none | boolean | false | Παράλειψη επικύρωσης blockhash συναλλαγής. |
Παρατηρησιμότητα & Απόδοση
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--geyser-plugin-config <PLUGIN_CONFIG_PATH> | -g | path[] | none | Αρχείο ρυθμίσεων plugin Geyser προς φόρτωση. Επαναλαμβανόμενο. |
--disable-instruction-profiling | none | boolean | false | Απενεργοποίηση προφίλ εντολών. |
--max-profiles <COUNT> | -c | integer | 200 | Προφίλ συναλλαγών που διατηρούνται στη μνήμη. Υψηλότερες τιμές αυξάνουν τη χρήση μνήμης. |
--log-bytes-limit <BYTES> | none | integer | 10000 | Μέγιστα bytes αποθηκευμένα για κάθε αρχείο καταγραφής συναλλαγής. Ορίστε σε 0 για απεριόριστα αρχεία καταγραφής. |
--log-level <LEVEL> | -l | enum | info | Επίπεδο καταγραφής Simnet. Τιμές: trace, debug, info, warn, error, none. |
--log-path <LOG_DIR> | none | path | .surfpool/logs | Κατάλογος για αρχεία καταγραφής simnet. |
--metrics-enabled | none | boolean | env: SURFPOOL_METRICS_ENABLED | Ενεργοποίηση του endpoint μετρικών Prometheus. Διαθέσιμο όταν το Surfpool έχει κατασκευαστεί με τη δυνατότητα prometheus. |
--metrics-addr <METRICS_ADDR> | none | string | 127.0.0.1:9000 | Διεύθυνση endpoint μετρικών Prometheus. Μπορεί επίσης να οριστεί με SURFPOOL_METRICS_ADDR. Διαθέσιμο όταν το Surfpool έχει κατασκευαστεί με τη δυνατότητα prometheus. |
Καταργημένη Συμβατότητα
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--subgraph-db <SUBGRAPH_DB> | -d | string | :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> | string | ID Runbook από το txtx.yml, ή διαδρομή προς ένα αρχείο .tx. |
Έργο
| Σημαία | Σύντομη | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Διαδρομή προς το manifest του runbook. |
--env <ENVIRONMENT> | none | string | none | Περιβάλλον από το txtx.yml για χρήση. |
Λειτουργία Εκτέλεσης
Αυτές οι σημαίες είναι αμοιβαία αποκλειόμενες. Εάν δεν οριστεί καμία, το Surfpool χρησιμοποιεί εποπτεία μέσω του προγράμματος περιήγησης.
| Σημαία | Σύντομη | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--unsupervised | -u | boolean | false | Εκτέλεση χωρίς το UI εποπτείας. |
--browser | -b | boolean | προεπιλεγμένη λειτουργία | Εκτέλεση με εποπτεία στο UI του προγράμματος περιήγησης. |
--terminal | -t | boolean | false | Εκτέλεση με εποπτεία στην κονσόλα τερματικού. |
Είσοδοι & Έξοδοι
| Σημαία | Σύντομο | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--output-json [<OUTPUT_DIR>] | none | προαιρετική διαδρομή | none | Εκτύπωση ή αποθήκευση εξόδων Runbook ως JSON. Όταν παρέχεται κατάλογος, η έξοδος εγγράφεται σε αρχείο σε αυτόν τον κατάλογο. |
--output <OUTPUT_NAME> | none | string | none | Εκτύπωση μιας ονομαστικής εξόδου στο τέλος της εκτέλεσης. Έρχεται σε σύγκρουση με το --output-json. |
--input <INPUT_PATH> | none | path[] | none | Αρχείο εισόδου για χρήση στην ομαδική επεξεργασία. Επαναλαμβανόμενο. |
Εκτέλεση
| Σημαία | Σύντομο | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--explain | none | boolean | false | Εξήγηση του τρόπου εκτέλεσης του Runbook. |
--force | -f | boolean | false | Αγνόηση αποθηκευμένης κατάστασης εκτέλεσης. |
Διεπαφή Χρήστη Supervisor
Αυτές οι σημαίες είναι διαθέσιμες όταν το Surfpool έχει δημιουργηθεί με τη
λειτουργία supervisor_ui.
| Σημαία | Σύντομο | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--port <PORT> | -p | integer | 8488 | Θύρα Web UI. |
--ip <IP_ADDRESS> | -i | string | 127.0.0.1 | Διεύθυνση IP Web UI. |
Καταγραφή
| Σημαία | Σύντομο | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|---|
--log-level <LEVEL> | -l | enum | info | Επίπεδο καταγραφής εκτέλεσης Runbook. Τιμές: trace, debug, info, warn, error. |
--log-path <LOG_DIR> | none | path | .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]
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Διαδρομή προς το μανιφέστο runbook. |
surfpool completions
Δημιουργεί σενάρια αυτόματης συμπλήρωσης για το κέλυφος.
surfpool completions <SHELL>
| Argument | Type | Description |
|---|---|---|
<SHELL> | enum | Κέλυφος για το οποίο θα δημιουργηθούν οι συμπληρώσεις. Τιμές: bash, elvish, fish, powershell, zsh. |
surfpool mcp
Εκκινεί τον διακομιστή Surfpool MCP για ενσωμάτωση εργαλείων τεχνητής νοημοσύνης.
surfpool mcp
Is this page helpful?