CLI surfpool запускає локальні Surfnet, виконує Runbook, виводить список
Runbook із маніфесту робочого простору, генерує автодоповнення для оболонки та
запускає MCP-сервер Surfpool.
Команди
| Команда | Опис |
|---|---|
surfpool start | Запустити локальний Surfnet. Псевдонім: surfpool simnet |
surfpool run | Виконати Runbook |
surfpool ls | Список Runbook у поточному робочому просторі |
surfpool completions | Генерувати скрипти автодоповнення для оболонки |
surfpool mcp | Запустити MCP-сервер Surfpool |
surfpool start
Запускає локальний Surfnet. Якщо виконати команду в директорії програми Solana, Surfpool може згенерувати та виконати Runbook для розгортання ваших програм.
surfpool start [OPTIONS]
Мережа та порти
| Прапор | Скорочення | Тип | Типово | Опис |
|---|---|---|---|---|
--port <PORT> | -p | ціле число | 8899 | Прив'язати JSON-RPC сервер до цього порту. |
--ws-port <PORT> | -w | ціле число | 8900 | Прив'язати WebSocket сервер до цього порту. |
--host <HOST> | -o | рядок | 127.0.0.1 | Прив'язати служби RPC, WebSocket та Studio до цього хоста. |
--rpc-url <RPC_URL> | -u | рядок | відсутній | Форкнути з цього RPC URL джерела даних. Конфліктує з --network. Також можна задати через SURFPOOL_DATASOURCE_RPC_URL. |
--network <NETWORK> | -n | перелік | відсутній | Форкнути з попередньо визначеної мережі Solana. Значення: mainnet, devnet, testnet. Конфліктує з --rpc-url. |
--offline | відсутнє | булевий | false | Запустити без віддаленого джерела даних RPC. |
Проєкт і розгортання
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Шлях до маніфесту runbook. |
--no-deploy | none | boolean | false | Вимкнути автоматичне розгортання програм. |
--runbook <RUNBOOK> | -r | string[] | deployment | Ідентифікатор runbook для виконання після запуску. Можна повторювати. |
--runbook-input <INPUT_PATH> | -i | path[] | none | Вхідний файл для передачі у виконання runbook. Можна повторювати. |
--yes | -y | boolean | false | Пропустити підказки генерації runbook. |
--watch | none | boolean | false | Повторно розгортати при зміні артефактів програми. |
--artifacts-path <ARTIFACTS_PATH> | none | path | none | Директорія, що містить артефакти програми .so. За замовчуванням використовується target/deploy, якщо не вказано. |
--legacy-anchor-compatibility | none | boolean | false | Використовувати налаштування за замовчуванням для застарілих тестових наборів Anchor. |
--anchor-test-config-path <TEST_TOML> | none | path[] | none | Файл Anchor Test.toml для перевірки. Можна повторювати. |
Акаунти та стан
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--airdrop <PUBKEY> | -a | pubkey[] | none | pubkey для надсилання аейрдропу SOL під час запуску. Можна повторювати. |
--airdrop-keypair-path <KEYPAIR_PATH> | -k | path[] | ~/.config/solana/id.json | Шлях до keypair, чий pubkey має отримати аейрдроп. Можна повторювати. |
--airdrop-amount <LAMPORTS> | -q | integer | 10000000000000 | Кількість lamport для аейрдропу на кожен акаунт під час запуску. |
--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 | Простір імен сховища для цього екземпляра Surfnet. |
Середовище виконання та інтерфейс
| Прапор | Скор. | Тип | За замовч. | Опис |
|---|---|---|---|---|
--no-tui | немає | boolean | false | Виводити логи замість запуску термінального інтерфейсу. |
--no-studio | немає | boolean | false | Вимкнути Surfpool Studio. |
--studio-port <PORT> | -s | integer | 18488 | Прив'язати Studio до цього порту. |
--daemon | немає | boolean | false | Запустити Surfpool як фоновий процес. Режим демона доступний лише для Linux. |
--ci | немає | 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[] | немає | Увімкнути функцію SVM за pubkey. Можна повторювати. Назви функцій застаріли, але досі приймаються для раніше підтримуваних назв. |
--disable-feature <FEATURE_PUBKEY> | немає | pubkey[] | немає | Вимкнути функцію SVM за pubkey. Можна повторювати. Назви функцій застаріли, але досі приймаються для раніше підтримуваних назв. |
--features-all | немає | boolean | false | Увімкнути всі функції SVM з agave-feature-set. |
--skip-signature-verification | немає | boolean | false | Пропустити перевірку підпису транзакції. |
--skip-blockhash-check | немає | boolean | false | Пропустити валідацію blockhash транзакції. |
Спостережуваність і продуктивність
| Прапор | Скорочення | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--geyser-plugin-config <PLUGIN_CONFIG_PATH> | -g | path[] | none | Файл конфігурації плагіна Geyser для завантаження. Можна повторювати. |
--disable-instruction-profiling | none | boolean | false | Вимкнути профілювання інструкцій. |
--max-profiles <COUNT> | -c | integer | 200 | Профілі транзакцій, що зберігаються в пам'яті. Вищі значення збільшують використання пам'яті. |
--log-bytes-limit <BYTES> | none | integer | 10000 | Максимальна кількість байт для збереження кожного журналу транзакцій. Встановіть 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 | Увімкнути кінцеву точку метрик Prometheus. Доступно, коли Surfpool зібрано з функцією prometheus. |
--metrics-addr <METRICS_ADDR> | none | string | 127.0.0.1:9000 | Адреса кінцевої точки метрик Prometheus. Також можна встановити за допомогою SURFPOOL_METRICS_ADDR. Доступно, коли Surfpool зібрано з функцією prometheus. |
Застаріла сумісність
| Прапор | Скорочення | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--subgraph-db <SUBGRAPH_DB> | -d | string | :memory: | Застарілий і прихований від surfpool start --help. Існуючі скрипти можуть передавати його для сумісності. |
Приклади
Запуск із налаштуваннями за замовчуванням:
surfpool start
Форк devnet:
surfpool start --network devnet
Використання власного RPC URL джерела даних:
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, оголошений у маніфесті txtx.yml.
surfpool run [OPTIONS] <RUNBOOK>
Аргументи
| Аргумент | Тип | Опис |
|---|---|---|
<RUNBOOK> | string | ID Runbook з txtx.yml або шлях до файлу .tx. |
Проєкт
| Прапорець | Коротко | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Шлях до маніфесту runbook. |
--env <ENVIRONMENT> | none | string | none | Середовище з txtx.yml для використання. |
Режим виконання
Ці прапорці є взаємовиключними. Якщо жодного не вказано, Surfpool використовує нагляд через браузер.
| Прапорець | Коротко | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--unsupervised | -u | boolean | false | Виконати без інтерфейсу супервізора. |
--browser | -b | boolean | default mode | Виконати з наглядом у браузерному інтерфейсі. |
--terminal | -t | boolean | false | Виконати з наглядом у термінальній консолі. |
Введення та виведення
| Прапор | Короткий | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--output-json [<OUTPUT_DIR>] | none | необов'язковий шлях | none | Друкувати або записувати вихідні дані Runbook у форматі JSON. Якщо вказано каталог, вихідні дані записуються до файлу в цьому каталозі. |
--output <OUTPUT_NAME> | none | рядок | none | Вивести один іменований результат після завершення виконання. Конфліктує з --output-json. |
--input <INPUT_PATH> | none | шлях[] | none | Вхідний файл для пакетної обробки. Можна повторювати. |
Виконання
| Прапор | Короткий | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--explain | none | булевий | false | Пояснити, як виконуватиметься Runbook. |
--force | -f | булевий | false | Ігнорувати кешований стан виконання. |
Інтерфейс Supervisor
Ці прапори доступні, коли Surfpool зібраний з функцією supervisor_ui.
| Прапор | Короткий | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--port <PORT> | -p | ціле число | 8488 | Порт веб-інтерфейсу. |
--ip <IP_ADDRESS> | -i | рядок | 127.0.0.1 | IP-адреса веб-інтерфейсу. |
Журналювання
| Прапор | Короткий | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--log-level <LEVEL> | -l | перелік | info | Рівень журналу виконання Runbook. Значення: trace, debug, info, warn, error. |
--log-path <LOG_DIR> | none | шлях | .surfpool/logs | Каталог для журналів виконання Runbook. |
Приклади
Запустити manifest Runbook з наглядом у браузері:
surfpool run deployment
Запустити без нагляду та записати виведення у форматі JSON:
surfpool run deployment --unsupervised --output-json .surfpool/runbook-outputs
Запустити файл .tx безпосередньо:
surfpool run ./runbooks/deployment.tx
surfpool ls
Виводить список усіх Runbook, оголошених у маніфесті робочого простору.
surfpool ls [OPTIONS]
| Прапорець | Коротко | Тип | За замовчуванням | Опис |
|---|---|---|---|---|
--manifest-file-path <MANIFEST_PATH> | -m | path | ./txtx.yml | Шлях до маніфесту runbook. |
surfpool completions
Генерує скрипти автодоповнення для оболонки.
surfpool completions <SHELL>
| Аргумент | Тип | Опис |
|---|---|---|
<SHELL> | enum | Оболонка, для якої генерується автодоповнення. Значення: bash, elvish, fish, powershell, zsh. |
surfpool mcp
Запускає MCP-сервер Surfpool для інтеграції з інструментами ШІ.
surfpool mcp
Is this page helpful?