وثائق سولاناسلسلة الأدوات

أوامر واجهة سطر الأوامر (CLI)

تقوم واجهة سطر الأوامر surfpool بتشغيل شبكات Surfnet المحلية، وتنفيذ كتيبات التشغيل (Runbooks)، وعرض قائمة بكتيبات التشغيل من ملف تعريف مساحة العمل، وتوليد إكمالات الصدفة (shell completions)، وتشغيل خادم Surfpool MCP.

الأوامر

الأمرالوصف
surfpool startتشغيل شبكة Surfnet محلية. الاسم المختصر: surfpool simnet
surfpool runتنفيذ كتيب تشغيل (Runbook)
surfpool lsعرض قائمة كتيبات التشغيل في مساحة العمل الحالية
surfpool completionsتوليد نصوص إكمال الصدفة (shell completion)
surfpool mcpتشغيل خادم Surfpool MCP

surfpool start

يُشغّل شبكة Surfnet محلية. إذا قمت بتشغيله داخل مجلد برنامج سولانا، يمكن لـ Surfpool توليد وتنفيذ كتيبات التشغيل التي تنشر برامجك.

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نصلا شيءالتفرع من عنوان URL الخاص بـ RPC لمصدر البيانات هذا. يتعارض مع --network. يمكن أيضًا تعيينه عبر SURFPOOL_DATASOURCE_RPC_URL.
--network <NETWORK>-nتعدادلا شيءالتفرع من شبكة سولانا محددة مسبقًا. القيم: mainnet، devnet، testnet. يتعارض مع --rpc-url.
--offlineلا شيءقيمة منطقيةfalseالتشغيل بدون مصدر بيانات RPC بعيد.

المشروع والنشر

العلمالمختصرالنوعالافتراضيالوصف
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlالمسار إلى ملف بيان runbook.
--no-deploynonebooleanfalseتعطيل عمليات نشر البرامج التلقائية.
--runbook <RUNBOOK>-rstring[]deploymentمعرّف runbook للتنفيذ بعد بدء التشغيل. قابل للتكرار.
--runbook-input <INPUT_PATH>-ipath[]noneملف إدخال لتوفيره لتنفيذ runbook. قابل للتكرار.
--yes-ybooleanfalseتخطي مطالبات إنشاء runbook.
--watchnonebooleanfalseإعادة النشر عند تغيير مخرجات البرنامج.
--artifacts-path <ARTIFACTS_PATH>nonepathnoneالدليل الذي يحتوي على مخرجات برنامج .so. يتم الرجوع إلى target/deploy عند الحذف.
--legacy-anchor-compatibilitynonebooleanfalseاستخدام الإعدادات الافتراضية المناسبة لمجموعات اختبار Anchor القديمة.
--anchor-test-config-path <TEST_TOML>nonepath[]noneملف Anchor Test.toml للفحص. قابل للتكرار.

الحسابات والحالة

العلمالمختصرالنوعالافتراضيالوصف
--airdrop <PUBKEY>-apubkey[]nonepubkey لإرسال SOL إليه عند بدء التشغيل. قابل للتكرار.
--airdrop-keypair-path <KEYPAIR_PATH>-kpath[]~/.config/solana/id.jsonمسار keypair الذي يجب أن يتلقى pubkey الخاص به إرسالاً جوياً. قابل للتكرار.
--airdrop-amount <LAMPORTS>-qinteger10000000000000عدد lamport المراد إرسالها جواً إلى كل حساب عند بدء التشغيل.
--snapshot <SNAPSHOT_PATH>nonepath[]noneلقطة حساب JSON للتحميل المسبق. قابل للتكرار. تتجاوز الملفات اللاحقة الملفات السابقة في حالة تكرار المفاتيح.
--db <DB_URL>nonestringnoneعنوان URL لاتصال قاعدة البيانات لحالة Surfnet الدائمة. استخدم :memory: لـ SQLite في الذاكرة، أو ملف .sqlite لـ SQLite على القرص، أو عنوان URL لـ PostgreSQL عند البناء بميزة postgres.
--surfnet-id <SURFNET_ID>nonestringdefaultمساحة تخزين لهذه النسخة من Surfnet.

وقت التشغيل وواجهة المستخدم

العلامةمختصرالنوعالافتراضيالوصف
--no-tuinonebooleanfalseطباعة السجلات بدلاً من تشغيل واجهة المستخدم الطرفية.
--no-studiononebooleanfalseتعطيل Surfpool Studio.
--studio-port <PORT>-sinteger18488ربط Studio بهذا المنفذ.
--daemonnonebooleanfalseتشغيل Surfpool كعملية في الخلفية. وضع الخادم الخفي متاح على Linux فقط.
--cinonebooleanfalseاستخدام إعدادات مناسبة لبيئة CI. يؤدي هذا إلى تعطيل واجهة المستخدم الطرفية، و 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 المعاملة.

المراقبة والأداء

العلامةمختصرالنوعالافتراضيالوصف
--geyser-plugin-config <PLUGIN_CONFIG_PATH>-gpath[]noneملف تهيئة إضافة Geyser للتحميل. قابل للتكرار.
--disable-instruction-profilingnonebooleanfalseتعطيل تحليل التعليمات.
--max-profiles <COUNT>-cinteger200ملفات تعريف المعاملات المحتفظ بها في الذاكرة. تزيد القيم الأعلى من استخدام الذاكرة.
--log-bytes-limit <BYTES>noneinteger10000الحد الأقصى للبايتات المخزنة لكل سجل معاملة. اضبط على 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تفعيل نقطة نهاية مقاييس Prometheus. متاح عند بناء Surfpool بميزة prometheus.
--metrics-addr <METRICS_ADDR>nonestring127.0.0.1:9000عنوان نقطة نهاية مقاييس Prometheus. يمكن أيضاً ضبطه باستخدام SURFPOOL_METRICS_ADDR. متاح عند بناء Surfpool بميزة prometheus.

التوافق المُهمَل

العلامةمختصرالنوعالافتراضيالوصف
--subgraph-db <SUBGRAPH_DB>-dstring:memory:مُهمَل ومخفي من surfpool start --help. يمكن للسكريبتات الحالية تمريره للتوافق.

أمثلة

البدء بالإعدادات الافتراضية:

surfpool start

تفرع من devnet:

surfpool start --network devnet

استخدام عنوان URL مخصص لمصدر البيانات:

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

طباعة السجلات بدلاً من تشغيل واجهة TUI:

surfpool start --no-tui

البدء بدون مصدر بيانات RPC عن بُعد:

surfpool start --offline

إرسال 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معرّف Runbook من txtx.yml، أو مسار إلى ملف .tx.

المشروع

العلامةالمختصرالنوعالافتراضيالوصف
--manifest-file-path <MANIFEST_PATH>-mpath./txtx.ymlالمسار إلى مانيفست الـ runbook.
--env <ENVIRONMENT>nonestringnoneالبيئة المستخدمة من txtx.yml.

وضع التنفيذ

هذه العلامات متنافية. إذا لم يُحدَّد أي منها، يستخدم Surfpool إشراف المتصفح.

العلامةالمختصرالنوعالافتراضيالوصف
--unsupervised-ubooleanfalseالتنفيذ بدون واجهة المشرف.
--browser-bbooleanالوضع الافتراضيالتنفيذ مع الإشراف في واجهة المتصفح.
--terminal-tbooleanfalseالتنفيذ مع الإشراف في وحدة تحكم الطرفية.

المدخلات والمخرجات

العلمالمختصرالنوعالافتراضيالوصف
--output-json [<OUTPUT_DIR>]noneoptional pathnoneطباعة أو كتابة مخرجات Runbook بتنسيق JSON. عند تحديد مجلد، تُكتب المخرجات إلى ملف داخل ذلك المجلد.
--output <OUTPUT_NAME>nonestringnoneطباعة مخرج واحد محدد الاسم في نهاية التنفيذ. يتعارض مع --output-json.
--input <INPUT_PATH>nonepath[]noneملف الإدخال المستخدم للمعالجة الدفعية. قابل للتكرار.

التنفيذ

العلمالمختصرالنوعالافتراضيالوصف
--explainnonebooleanfalseشرح كيفية تنفيذ Runbook.
--force-fbooleanfalseتجاهل حالة التنفيذ المخزنة مؤقتاً.

واجهة المشرف

هذه العلامات متاحة عند بناء Surfpool بميزة supervisor_ui.

العلمالمختصرالنوعالافتراضيالوصف
--port <PORT>-pinteger8488منفذ واجهة الويب.
--ip <IP_ADDRESS>-istring127.0.0.1عنوان IP لواجهة الويب.

التسجيل

العلمالمختصرالنوعالافتراضيالوصف
--log-level <LEVEL>-lenuminfoمستوى سجل تنفيذ Runbook. القيم: trace, debug, info, warn, error.
--log-path <LOG_DIR>nonepath.surfpool/logsالمجلد المخصص لسجلات تنفيذ Runbook.

أمثلة

تشغيل Runbook من ملف manifest مع إشراف المتصفح:

surfpool run deployment

التشغيل بدون إشراف وكتابة مخرجات JSON:

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

تشغيل ملف .tx مباشرةً:

surfpool run ./runbooks/deployment.tx

surfpool ls

يسرد جميع Runbooks المُعلَنة في ملف manifest الخاص بمساحة العمل.

surfpool ls [OPTIONS]
العلامةالمختصرةالنوعالافتراضيالوصف
--manifest-file-path <MANIFEST_PATH>-mمسار./txtx.ymlالمسار إلى ملف manifest الخاص بـ runbook.

surfpool completions

يُنشئ سكريبتات إكمال الأوامر لـ shell.

surfpool completions <SHELL>
الوسيطةالنوعالوصف
<SHELL>enumالـ shell المراد إنشاء الإكمال التلقائي له. القيم: bash، elvish، fish، powershell، zsh.

surfpool mcp

يُشغِّل خادم Surfpool MCP لتكامل أدوات الذكاء الاصطناعي.

surfpool mcp

Is this page helpful?