تقوم واجهة سطر الأوامر 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> | -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 للفحص. قابل للتكرار. |
الحسابات والحالة
| العلم | المختصر | النوع | الافتراضي | الوصف |
|---|---|---|---|---|
--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 | none | boolean | false | طباعة السجلات بدلاً من تشغيل واجهة المستخدم الطرفية. |
--no-studio | none | boolean | false | تعطيل Surfpool Studio. |
--studio-port <PORT> | -s | integer | 18488 | ربط Studio بهذا المنفذ. |
--daemon | none | boolean | false | تشغيل Surfpool كعملية في الخلفية. وضع الخادم الخفي متاح على Linux فقط. |
--ci | none | boolean | false | استخدام إعدادات مناسبة لبيئة CI. يؤدي هذا إلى تعطيل واجهة المستخدم الطرفية، و 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 المعاملة. |
المراقبة والأداء
| العلامة | مختصر | النوع | الافتراضي | الوصف |
|---|---|---|---|---|
--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
استخدام عنوان 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> | -m | path | ./txtx.yml | المسار إلى مانيفست الـ runbook. |
--env <ENVIRONMENT> | none | string | none | البيئة المستخدمة من txtx.yml. |
وضع التنفيذ
هذه العلامات متنافية. إذا لم يُحدَّد أي منها، يستخدم Surfpool إشراف المتصفح.
| العلامة | المختصر | النوع | الافتراضي | الوصف |
|---|---|---|---|---|
--unsupervised | -u | boolean | false | التنفيذ بدون واجهة المشرف. |
--browser | -b | boolean | الوضع الافتراضي | التنفيذ مع الإشراف في واجهة المتصفح. |
--terminal | -t | boolean | false | التنفيذ مع الإشراف في وحدة تحكم الطرفية. |
المدخلات والمخرجات
| العلم | المختصر | النوع | الافتراضي | الوصف |
|---|---|---|---|---|
--output-json [<OUTPUT_DIR>] | none | optional path | 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 | تجاهل حالة التنفيذ المخزنة مؤقتاً. |
واجهة المشرف
هذه العلامات متاحة عند بناء Surfpool بميزة supervisor_ui.
| العلم | المختصر | النوع | الافتراضي | الوصف |
|---|---|---|---|---|
--port <PORT> | -p | integer | 8488 | منفذ واجهة الويب. |
--ip <IP_ADDRESS> | -i | string | 127.0.0.1 | عنوان IP لواجهة الويب. |
التسجيل
| العلم | المختصر | النوع | الافتراضي | الوصف |
|---|---|---|---|---|
--log-level <LEVEL> | -l | enum | info | مستوى سجل تنفيذ Runbook. القيم: trace, debug, info, warn, error. |
--log-path <LOG_DIR> | none | path | .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?