CLI Komutları

surfpool CLI; yerel Surfnet'leri başlatır, Runbook'ları çalıştırır, bir çalışma alanı manifestinden Runbook'ları listeler, kabuk tamamlamalarını oluşturur ve Surfpool MCP sunucusunu başlatır.

Komutlar

KomutAçıklama
surfpool startYerel bir Surfnet başlatır. Takma ad: surfpool simnet
surfpool runBir Runbook çalıştırır
surfpool lsMevcut çalışma alanındaki Runbook'ları listeler
surfpool completionsKabuk tamamlama betikleri oluşturur
surfpool mcpSurfpool MCP sunucusunu başlatır

surfpool start

Yerel bir Surfnet başlatır. Bir Solana program dizininde çalıştırırsanız, Surfpool programlarınızı dağıtan Runbook'lar oluşturup çalıştırabilir.

surfpool start [OPTIONS]

Ağ ve Portlar

BayrakKısaTürVarsayılanAçıklama
--port <PORT>-ptamsayı8899JSON-RPC sunucusunu bu porta bağlar.
--ws-port <PORT>-wtamsayı8900WebSocket sunucusunu bu porta bağlar.
--host <HOST>-ostring127.0.0.1RPC, WebSocket ve Studio servislerini bu ana makineye bağlar.
--rpc-url <RPC_URL>-ustringyokBu veri kaynağı RPC URL'sinden çatallama yapar. --network ile çakışır. SURFPOOL_DATASOURCE_RPC_URL ile de ayarlanabilir.
--network <NETWORK>-nenumyokÖnceden tanımlanmış bir Solana ağından çatallama yapar. Değerler: mainnet, devnet, testnet. --rpc-url ile çakışır.
--offlineyokbooleanfalseUzak RPC veri kaynağı olmadan çalışır.

Proje & Dağıtım

BayrakKısaTürVarsayılanAçıklama
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlRunbook manifest dosyasının yolu.
--no-deploynonebooleanfalseOtomatik program dağıtımlarını devre dışı bırakır.
--runbook <RUNBOOK>-rstring[]deploymentBaşlangıçtan sonra çalıştırılacak Runbook ID'si. Tekrarlanabilir.
--runbook-input <INPUT_PATH>-ipath[]noneRunbook çalıştırması için sağlanacak giriş dosyası. Tekrarlanabilir.
--yes-ybooleanfalseRunbook oluşturma istemlerini atlar.
--watchnonebooleanfalseProgram yapıları değiştiğinde yeniden dağıtır.
--artifacts-path <ARTIFACTS_PATH>nonepathnone.so program yapılarını içeren dizin. Belirtilmediğinde varsayılan olarak target/deploy kullanılır.
--legacy-anchor-compatibilitynonebooleanfalseEski Anchor test paketleri için uygun varsayılanları kullanır.
--anchor-test-config-path <TEST_TOML>nonepath[]noneİncelenecek Anchor Test.toml dosyası. Tekrarlanabilir.

Hesaplar & Durum

BayrakKısaTürVarsayılanAçıklama
--airdrop <PUBKEY>-apubkey[]noneBaşlangıçta SOL airdrop yapılacak pubkey. Tekrarlanabilir.
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonPubkey'i airdrop alacak keypair dosya yolu. Tekrarlanabilir.
--airdrop-amount <LAMPORTS>-qinteger10000000000000Başlangıçtaki her hesaba airdrop yapılacak lamport miktarı.
--snapshot <SNAPSHOT_PATH>nonepath[]noneÖnceden yüklenecek JSON hesap anlık görüntüsü. Tekrarlanabilir. Sonraki dosyalar, yinelenen anahtarlar için önceki dosyaların üzerine yazar.
--db <DB_URL>nonestringnoneKalıcı Surfnet durumu için veritabanı bağlantı URL'si. Bellek içi SQLite için :memory:, disk üzerinde SQLite için .sqlite dosyası veya postgres özelliğiyle derlendiyse PostgreSQL URL'si kullanın.
--surfnet-id <SURFNET_ID>nonestringdefaultBu Surfnet örneği için depolama ad alanı.

Çalışma Zamanı & Arayüz

BayrakKısaTürVarsayılanAçıklama
--no-tuiyokbooleanfalseTerminal arayüzünü başlatmak yerine logları yazdırır.
--no-studioyokbooleanfalseSurfpool Studio'yu devre dışı bırakır.
--studio-port <PORT>-sinteger18488Studio'yu bu porta bağlar.
--daemonyokbooleanfalseSurfpool'u arka planda çalıştırır. Daemon modu yalnızca Linux'ta desteklenir.
--ciyokbooleanfalseCI için uygun ayarları kullanır. Bu seçenek TUI, Studio, komut profilleme ve log çıktısını devre dışı bırakır.

SVM Davranışı

BayrakKısaTürVarsayılanAçıklama
--slot-time <MILLISECONDS>-tinteger400Slot süresi (milisaniye cinsinden).
--block-production-mode <MODE>-benumclockBlok üretim modu.
--feature <FEATURE_PUBKEY>-fpubkey[]yokpubkey ile bir SVM özelliğini etkinleştirir. Tekrarlanabilir. Özellik adları kullanımdan kaldırılmıştır ancak önceden desteklenen adlar için hâlâ kabul edilmektedir.
--disable-feature <FEATURE_PUBKEY>yokpubkey[]yokpubkey ile bir SVM özelliğini devre dışı bırakır. Tekrarlanabilir. Özellik adları kullanımdan kaldırılmıştır ancak önceden desteklenen adlar için hâlâ kabul edilmektedir.
--features-allyokbooleanfalseagave-feature-set sürümündeki tüm SVM özelliklerini etkinleştirir.
--skip-signature-verificationyokbooleanfalseİşlem imzası doğrulamasını atlar.
--skip-blockhash-checkyokbooleanfalseİşlem blockhash doğrulamasını atlar.

Gözlemlenebilirlik ve Performans

BayrakKısaTürVarsayılanAçıklama
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]noneYüklenecek Geyser eklenti yapılandırma dosyası. Tekrarlanabilir.
--disable-instruction-profilingnonebooleanfalseKomut profili oluşturmayı devre dışı bırakır.
--max-profiles <COUNT>-cinteger200Bellekte tutulacak işlem profili sayısı. Daha yüksek değerler bellek kullanımını artırır.
--log-bytes-limit <BYTES>noneinteger10000Her işlem günlüğü için depolanan maksimum bayt sayısı. Sınırsız günlük için 0 olarak ayarlayın.
--log-level <LEVEL>-lenuminfoSimnet günlük seviyesi. Değerler: trace, debug, info, warn, error, none.
--log-path <LOG_DIR>nonepath.surfpool/logsSimnet günlükleri için dizin.
--metrics-enablednonebooleanenv: SURFPOOL_METRICS_ENABLEDPrometheus metrik uç noktasını etkinleştirir. Surfpool, prometheus özelliğiyle derlendiğinde kullanılabilir.
--metrics-addr <METRICS_ADDR>nonestring127.0.0.1:9000Prometheus metrik uç noktası adresi. SURFPOOL_METRICS_ADDR ile de ayarlanabilir. Surfpool, prometheus özelliğiyle derlendiğinde kullanılabilir.

Kullanımdan Kaldırılmış Uyumluluk

BayrakKısaTürVarsayılanAçıklama
--subgraph-db <SUBGRAPH_DB>-dstring:memory:Kullanımdan kaldırılmış ve surfpool start --help içinden gizlenmiştir. Mevcut betikler uyumluluk için bu parametreyi hâlâ kullanabilir.

Örnekler

Varsayılan ayarlarla başlat:

surfpool start

Devnet'i çatalla:

surfpool start --network devnet

Özel bir veri kaynağı RPC URL'si kullan:

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

TUI başlatmak yerine günlükleri yazdırın:

surfpool start --no-tui

Uzak bir RPC veri kaynağı olmadan başlatın:

surfpool start --offline

Birden fazla hesaba SOL havadan dağıtın:

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

Anlık görüntülerden hesap durumunu yükleyin:

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

target/deploy değiştiğinde programları yeniden dağıtın:

surfpool start --watch

Surfnet durumunu diskteki bir SQLite veritabanında kalıcı hale getirin:

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

surfpool run

Bir Runbook çalıştırır. Bir .tx dosyasını doğrudan çalıştırabilir veya bir txtx.yml manifestosunda tanımlanmış bir Runbook'a başvurabilirsiniz.

surfpool run [OPTIONS] <RUNBOOK>

Argümanlar

ArgümanTürAçıklama
<RUNBOOK>stringtxtx.yml'deki Runbook kimliği veya bir .tx dosyasının yolu.

Proje

BayrakKısaTürVarsayılanAçıklama
--manifest-file-path <MANIFEST_PATH>-myol./txtx.ymlRunbook manifestosunun yolu.
--env <ENVIRONMENT>yokstringyokKullanılacak txtx.yml ortamı.

Çalıştırma Modu

Bu bayraklar birbirini dışlar. Hiçbiri belirtilmezse, Surfpool tarayıcı denetimini kullanır.

BayrakKısaTürVarsayılanAçıklama
--unsupervised-ubooleanfalseDenetleyici arayüzü olmadan çalıştırır.
--browser-bbooleanvarsayılan modTarayıcı arayüzünde denetimle çalıştırır.
--terminal-tbooleanfalseTerminal konsolunda denetimle çalıştırır.

Girdiler ve Çıktılar

BayrakKısaTürVarsayılanAçıklama
--output-json [<OUTPUT_DIR>]yokisteğe bağlı yolyokRunbook çıktılarını JSON olarak yazdır veya yaz. Bir dizin belirtildiğinde, çıktı o dizindeki bir dosyaya yazılır.
--output <OUTPUT_NAME>yokdizeyokYürütmenin sonunda adlandırılmış bir çıktıyı yazdır. --output-json ile çakışır.
--input <INPUT_PATH>yokyol[]yokToplu işlem için kullanılacak giriş dosyası. Tekrarlanabilir.

Yürütme

BayrakKısaTürVarsayılanAçıklama
--explainyokbooleanfalseRunbook'un nasıl yürütüleceğini açıklar.
--force-fbooleanfalseÖnbelleğe alınmış yürütme durumunu yoksay.

Süpervizör Arayüzü

Bu bayraklar, Surfpool supervisor_ui özelliğiyle derlendiğinde kullanılabilir.

BayrakKısaTürVarsayılanAçıklama
--port <PORT>-ptamsayı8488Web arayüzü portu.
--ip <IP_ADDRESS>-idize127.0.0.1Web arayüzü IP adresi.

Günlükleme

BayrakKısaTürVarsayılanAçıklama
--log-level <LEVEL>-lenuminfoRunbook yürütme günlük seviyesi. Değerler: trace, debug, info, warn, error.
--log-path <LOG_DIR>yokyol.surfpool/logsRunbook yürütme günlükleri için dizin.

Örnekler

Tarayıcı denetimiyle bir manifest Runbook çalıştırın:

surfpool run deployment

Denetim olmadan çalıştırın ve JSON çıktıları yazın:

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

Bir .tx dosyasını doğrudan çalıştırın:

surfpool run ./runbooks/deployment.tx

surfpool ls

Çalışma alanı manifest dosyasında tanımlanan tüm Runbook'ları listeler.

surfpool ls [OPTIONS]
BayrakKısaTürVarsayılanAçıklama
--manifest-file-path <MANIFEST_PATH>-myol./txtx.ymlRunbook manifest dosyasının yolu.

surfpool completions

Kabuk tamamlama betikleri oluşturur.

surfpool completions <SHELL>
ArgümanTürAçıklama
<SHELL>enumTamamlama oluşturulacak kabuk. Değerler: bash, elvish, fish, powershell, zsh.

surfpool mcp

AI araç entegrasyonu için Surfpool MCP sunucusunu başlatır.

surfpool mcp

Is this page helpful?

© 2026 Solana Vakfı. Tüm hakları saklıdır.