Lệnh CLI

CLI surfpool khởi động các Surfnet cục bộ, thực thi Runbook, liệt kê Runbook từ bản kê khai workspace, tạo shell completion, và khởi động máy chủ Surfpool MCP.

Lệnh

LệnhMô tả
surfpool startKhởi động một Surfnet cục bộ. Bí danh: surfpool simnet
surfpool runThực thi một Runbook
surfpool lsLiệt kê các Runbook trong workspace hiện tại
surfpool completionsTạo script shell completion
surfpool mcpKhởi động máy chủ Surfpool MCP

surfpool start

Khởi động một Surfnet cục bộ. Nếu bạn chạy lệnh trong thư mục chương trình Solana, Surfpool có thể tạo và thực thi các Runbook để triển khai chương trình của bạn.

surfpool start [OPTIONS]

Mạng & Cổng

CờViết tắtKiểuMặc địnhMô tả
--port <PORT>-pinteger8899Gắn máy chủ JSON-RPC vào cổng này.
--ws-port <PORT>-winteger8900Gắn máy chủ WebSocket vào cổng này.
--host <HOST>-ostring127.0.0.1Gắn các dịch vụ RPC, WebSocket và Studio vào host này.
--rpc-url <RPC_URL>-ustringnoneFork từ URL RPC nguồn dữ liệu này. Xung đột với --network. Cũng có thể đặt bằng SURFPOOL_DATASOURCE_RPC_URL.
--network <NETWORK>-nenumnoneFork từ một mạng Solana được xác định trước. Các giá trị: mainnet, devnet, testnet. Xung đột với --rpc-url.
--offlinenonebooleanfalseChạy mà không có nguồn dữ liệu RPC từ xa.

Dự Án & Triển Khai

FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlĐường dẫn đến tệp manifest của runbook.
--no-deploynonebooleanfalseTắt tính năng triển khai chương trình tự động.
--runbook <RUNBOOK>-rstring[]deploymentID runbook cần thực thi sau khi khởi động. Có thể lặp lại.
--runbook-input <INPUT_PATH>-ipath[]noneTệp đầu vào cung cấp cho quá trình thực thi runbook. Có thể lặp lại.
--yes-ybooleanfalseBỏ qua các lời nhắc tạo runbook.
--watchnonebooleanfalseTriển khai lại khi các artifact của chương trình thay đổi.
--artifacts-path <ARTIFACTS_PATH>nonepathnoneThư mục chứa các artifact chương trình .so. Mặc định là target/deploy nếu bỏ trống.
--legacy-anchor-compatibilitynonebooleanfalseSử dụng các giá trị mặc định phù hợp cho các bộ kiểm thử Anchor cũ.
--anchor-test-config-path <TEST_TOML>nonepath[]noneTệp Test.toml của Anchor cần kiểm tra. Có thể lặp lại.

Tài Khoản & Trạng Thái

FlagShortTypeDefaultDescription
--airdrop <PUBKEY>-apubkey[]nonepubkey để airdrop SOL vào lúc khởi động. Có thể lặp lại.
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonĐường dẫn keypair có pubkey sẽ nhận airdrop. Có thể lặp lại.
--airdrop-amount <LAMPORTS>-qinteger10000000000000Số lamport để airdrop vào mỗi tài khoản khởi động.
--snapshot <SNAPSHOT_PATH>nonepath[]noneẢnh chụp tài khoản JSON để tải trước. Có thể lặp lại. Các tệp sau sẽ ghi đè tệp trước đối với các khóa trùng lặp.
--db <DB_URL>nonestringnoneURL kết nối cơ sở dữ liệu cho trạng thái Surfnet liên tục. Sử dụng :memory: cho SQLite trong bộ nhớ, tệp .sqlite cho SQLite trên đĩa, hoặc URL PostgreSQL khi được build với tính năng postgres.
--surfnet-id <SURFNET_ID>nonestringdefaultKhông gian lưu trữ cho phiên bản Surfnet này.

Runtime & UI

FlagShortTypeDefaultMô tả
--no-tuinonebooleanfalseIn log thay vì khởi chạy giao diện terminal.
--no-studiononebooleanfalseTắt Surfpool Studio.
--studio-port <PORT>-sinteger18488Gắn Studio vào cổng này.
--daemonnonebooleanfalseChạy Surfpool dưới dạng tiến trình nền. Chế độ Daemon chỉ hỗ trợ Linux.
--cinonebooleanfalseSử dụng cài đặt phù hợp cho CI. Tính năng này tắt TUI, Studio, phân tích lệnh và xuất log.

Hành vi SVM

FlagShortTypeDefaultMô tả
--slot-time <MILLISECONDS>-tinteger400Thời gian slot tính bằng mili giây.
--block-production-mode <MODE>-benumclockChế độ sản xuất khối.
--feature <FEATURE_PUBKEY>-fpubkey[]noneBật tính năng SVM theo pubkey. Có thể lặp lại. Tên tính năng đã bị loại bỏ nhưng vẫn được chấp nhận cho các tên đã hỗ trợ trước đây.
--disable-feature <FEATURE_PUBKEY>nonepubkey[]noneTắt tính năng SVM theo pubkey. Có thể lặp lại. Tên tính năng đã bị loại bỏ nhưng vẫn được chấp nhận cho các tên đã hỗ trợ trước đây.
--features-allnonebooleanfalseBật tất cả tính năng SVM từ agave-feature-set.
--skip-signature-verificationnonebooleanfalseBỏ qua xác minh chữ ký giao dịch.
--skip-blockhash-checknonebooleanfalseBỏ qua xác thực blockhash giao dịch.

Quan sát & Hiệu suất

FlagShortTypeDefaultDescription
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]noneTệp cấu hình plugin Geyser cần tải. Có thể lặp lại.
--disable-instruction-profilingnonebooleanfalseTắt tính năng lập hồ sơ lệnh.
--max-profiles <COUNT>-cinteger200Số hồ sơ giao dịch lưu trong bộ nhớ. Giá trị càng cao thì mức sử dụng bộ nhớ càng tăng.
--log-bytes-limit <BYTES>noneinteger10000Số byte tối đa lưu trữ cho mỗi nhật ký giao dịch. Đặt thành 0 để nhật ký không giới hạn.
--log-level <LEVEL>-lenuminfoCấp độ nhật ký Simnet. Giá trị: trace, debug, info, warn, error, none.
--log-path <LOG_DIR>nonepath.surfpool/logsThư mục chứa nhật ký simnet.
--metrics-enablednonebooleanenv: SURFPOOL_METRICS_ENABLEDBật endpoint Prometheus metrics. Khả dụng khi Surfpool được build với tính năng prometheus.
--metrics-addr <METRICS_ADDR>nonestring127.0.0.1:9000Địa chỉ endpoint Prometheus metrics. Cũng có thể được đặt bằng SURFPOOL_METRICS_ADDR. Khả dụng khi Surfpool được build với tính năng prometheus.

Tương thích đã lỗi thời

FlagShortTypeDefaultDescription
--subgraph-db <SUBGRAPH_DB>-dstring:memory:Đã lỗi thời và ẩn khỏi surfpool start --help. Các script hiện có vẫn có thể truyền nó để tương thích.

Ví dụ

Khởi động với cài đặt mặc định:

surfpool start

Fork devnet:

surfpool start --network devnet

Sử dụng URL RPC nguồn dữ liệu tùy chỉnh:

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

In nhật ký thay vì khởi chạy TUI:

surfpool start --no-tui

Khởi động mà không cần nguồn dữ liệu RPC từ xa:

surfpool start --offline

Airdrop SOL vào nhiều tài khoản:

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

Tải trạng thái tài khoản từ các snapshot:

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

Triển khai lại các chương trình khi target/deploy thay đổi:

surfpool start --watch

Lưu trữ trạng thái Surfnet trong cơ sở dữ liệu SQLite trên ổ đĩa:

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

surfpool run

Thực thi một Runbook. Bạn có thể chạy trực tiếp một tệp .tx hoặc tham chiếu đến một Runbook được khai báo trong tệp manifest txtx.yml.

surfpool run [OPTIONS] <RUNBOOK>

Đối số

Đối sốKiểuMô tả
<RUNBOOK>stringID Runbook từ txtx.yml, hoặc đường dẫn đến tệp .tx.

Dự án

CờViết tắtKiểuMặc địnhMô tả
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlĐường dẫn đến tệp manifest runbook.
--env <ENVIRONMENT>nonestringnoneMôi trường từ txtx.yml để sử dụng.

Chế độ thực thi

Các cờ này loại trừ lẫn nhau. Nếu không có cờ nào được chỉ định, Surfpool sẽ sử dụng chế độ giám sát qua trình duyệt.

CờViết tắtKiểuMặc địnhMô tả
--unsupervised-ubooleanfalseThực thi mà không có giao diện giám sát.
--browser-bbooleanchế độ mặc địnhThực thi với giám sát trong giao diện trình duyệt.
--terminal-tbooleanfalseThực thi với giám sát trong bảng điều khiển terminal.

Đầu vào & Đầu ra

CờViết tắtLoạiMặc địnhMô tả
--output-json [<OUTPUT_DIR>]noneđường dẫn tùy chọnnoneIn hoặc ghi đầu ra của Runbook dưới dạng JSON. Khi cung cấp một thư mục, đầu ra sẽ được ghi vào một tệp trong thư mục đó.
--output <OUTPUT_NAME>nonestringnoneIn một đầu ra được đặt tên vào cuối quá trình thực thi. Xung đột với --output-json.
--input <INPUT_PATH>nonepath[]noneTệp đầu vào để sử dụng cho xử lý hàng loạt. Có thể lặp lại.

Thực thi

CờViết tắtLoạiMặc địnhMô tả
--explainnonebooleanfalseGiải thích cách Runbook sẽ thực thi.
--force-fbooleanfalseBỏ qua trạng thái thực thi đã được lưu trong bộ nhớ đệm.

Giao diện người dùng Supervisor

Các cờ này khả dụng khi Surfpool được xây dựng với tính năng supervisor_ui.

CờViết tắtLoạiMặc địnhMô tả
--port <PORT>-pinteger8488Cổng Web UI.
--ip <IP_ADDRESS>-istring127.0.0.1Địa chỉ IP Web UI.

Ghi nhật ký

CờViết tắtLoạiMặc địnhMô tả
--log-level <LEVEL>-lenuminfoMức nhật ký thực thi Runbook. Các giá trị: trace, debug, info, warn, error.
--log-path <LOG_DIR>nonepath.surfpool/logsThư mục chứa nhật ký thực thi runbook.

Ví dụ

Chạy một Runbook manifest với sự giám sát của trình duyệt:

surfpool run deployment

Chạy không có giám sát và ghi kết quả đầu ra JSON:

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

Chạy trực tiếp tệp .tx:

surfpool run ./runbooks/deployment.tx

surfpool ls

Liệt kê tất cả các Runbook được khai báo trong manifest của workspace.

surfpool ls [OPTIONS]
FlagShortTypeDefaultDescription
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlĐường dẫn đến manifest của runbook.

surfpool completions

Tạo các script hoàn thành lệnh cho shell.

surfpool completions <SHELL>
ArgumentTypeDescription
<SHELL>enumShell để tạo completions. Các giá trị: bash, elvish, fish, powershell, zsh.

surfpool mcp

Khởi động máy chủ Surfpool MCP để tích hợp công cụ AI.

surfpool mcp

Is this page helpful?