تقوم واجهة سطر الأوامر solana بإعداد الاتصال بالـ cluster، وقراءة حالة
الشبكة، وإرسال SOL، وإدارة الـ nonce الدائم، ونشر البرامج، وتشغيل
حسابات الـ stake والتصويت.
يتبع هذا المرجع
Agave v4.2.1. شغّل
solana --version للتحقق من الإصدار المثبّت، واستخدم --help لمعرفة الخيارات
الدقيقة المتاحة في ذلك الإصدار.
الأوامر التي تنشئ أو تحوّل أو تفوّض أو تسحب أو تنشر ترسل معاملات. تأكد من الـ cluster والموقّع المُعدّين قبل تشغيلها. رموز Devnet وTestnet لا قيمة لها؛ أما أوامر Mainnet فتستخدم SOL حقيقية.
هيكل الأوامر
solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]
احصل على المساعدة على أي مستوى:
solana --helpsolana transfer --helpsolana address-lookup-table extend --help
الخيارات العامة
يمكن وضع الخيارات العامة قبل الأمر. تكرر مساعدة الأمر الخاص الخيارات المنطبقة على ذلك الأمر.
| الخيار | الغرض |
|---|---|
-u, --url <URL_OR_MONIKER> | حدّد عنوان RPC URL أو mainnet-beta أو testnet أو devnet أو localhost. |
--ws <URL> | تجاوز نقطة نهاية WebSocket. |
-k, --keypair <KEYPAIR> | حدّد ملف keypair أو ASK أو stdin (-) أو عنوان URL لموقّع مدعوم. |
-C, --config <FILEPATH> | استخدم ملف إعدادات CLI مختلفًا. |
--commitment <LEVEL> | اقرأ عند مستوى التأكيد processed أو confirmed أو finalized. |
--output <FORMAT> | أعد json أو json-compact حيثما كان مدعومًا. |
--skip-preflight | أرسل دون محاكاة عبر RPC. لا تستخدمه إلا عند فهم مخاطر الفشل. |
--use-tpu-client | أرسل المعاملات عبر عميل TPU. |
--no-address-labels | اطبع العناوين دون التسميات المحلية. |
--skip-seed-phrase-validation | اسمح بعبارة استرداد خارج قائمة BIP39 الإنجليزية. |
-v, --verbose | اعرض مخرجات إضافية للأمر. |
-V, --version | اطبع إصدار CLI المثبّت. |
إعداد CLI
# Inspect the effective configuration.solana config get# Use Devnet and a specific signer by default.solana config set --url devnetsolana config set --keypair ./devnet-keypair.json# Override defaults for one command.solana --url mainnet-beta --keypair usb://ledger address
يحتوي الإعداد على RPC URL وWebSocket URL والموقّع الافتراضي ومستوى التأكيد. يتجاوز خيار سطر الأوامر القيمة المحفوظة لذلك التنفيذ.
سير عمل الحسابات والمعاملات الشائعة
# Print the default signer's address and balance.solana addresssolana balance# Read an account as JSON.solana account <ACCOUNT_ADDRESS> --output json# Request Devnet SOL.solana airdrop 1 --url devnet# Send SOL and then confirm the returned signature.solana transfer <RECIPIENT_ADDRESS> 0.1 --allow-unfunded-recipientsolana confirm <TRANSACTION_SIGNATURE># Inspect recent activity and stream logs mentioning an address.solana transaction-history <ADDRESS> --limit 20solana logs <ADDRESS>
يقبل transfer عملة SOL افتراضيًا. استخدم ALL كمبلغ لتحويل الرصيد المتاح
بعد الرسوم. لأمثلة الرموز، راجع
البدء السريع للرموز.
سير عمل البرامج
# Deploy or upgrade an SBF program.solana program deploy ./target/deploy/my_program.so# Inspect the deployed program and list programs controlled by the signer.solana program show <PROGRAM_ID>solana program show --programs# Close a program buffer and recover its lamports.solana program close <BUFFER_ADDRESS>
مرّر --program-id <KEYPAIR_OR_ADDRESS> عندما يجب أن يستخدم النشر معرّف
برنامج معروفًا. يجعل --final النشر الجديد غير قابل للتغيير؛ اقرأ مساعدته بعناية
قبل استخدامه لأن سلطة الترقية لا يمكن استعادتها.
سير عمل الـ nonce الدائم
solana-keygen new --outfile nonce-account.jsonsolana create-nonce-account nonce-account.json 0.1solana nonce nonce-account.jsonsolana new-nonce nonce-account.jsonsolana withdraw-from-nonce-account nonce-account.json <RECIPIENT_ADDRESS> ALL
استخدم authorize-nonce-account لتغيير سلطة الـ nonce وnonce-account
لفحص الحالة الكاملة للحساب. كما تقبل المعاملات التي تستخدم nonce الخيارين
--nonce و--nonce-authority في الأوامر المدعومة.
سير عمل الـ stake
solana-keygen new --outfile stake-account.jsonsolana create-stake-account stake-account.json 1solana delegate-stake stake-account.json <VOTE_ACCOUNT_ADDRESS>solana stake-account stake-account.jsonsolana deactivate-stake stake-account.jsonsolana withdraw-stake stake-account.json <RECIPIENT_ADDRESS> ALL
يكتمل إلغاء التفعيل عند حدود epoch وقد يستغرق أكثر من epoch واحد.
استخدم stakes وvalidators وstake-history وstake-minimum-delegation من أجل
فحص حالة الـ cluster والتفويض قبل إرسال التغييرات.
أدوات العناوين
# Derive a PDA from typed seeds.solana find-program-derived-address \<PROGRAM_ID> \string:profile \pubkey:<OWNER_ADDRESS># Create and extend an address lookup table.solana address-lookup-table createsolana address-lookup-table extend \<LOOKUP_TABLE_ADDRESS> \--addresses <ADDRESS_1>,<ADDRESS_2>
تستخدم قيم seed الخاصة بـ PDA الصيغة PREFIX:VALUE. تشمل البادئات المدعومة string وpubkey
وhex وu8 وترميزات الأعداد الصحيحة ذات العرض الثابت، الموقّعة أو غير الموقّعة، مثل
u64le.
الرسائل خارج السلسلة وإكمال shell التلقائي
solana sign-offchain-message "terms accepted"solana verify-offchain-signature \"terms accepted" \<SIGNATURE> \--signer <SIGNER_ADDRESS># Print a completion script for the current shell.solana completion --shell zsh
الفهرس الكامل للأوامر
يتضمن الفهرس التالي كل أمر من المستوى الأعلى في Agave v4.2.1. أوامر
مثل program وconfig وfeature وaddress-lookup-table تحتوي على
أوامر فرعية؛ شغّل <command> --help لعرضها.
| الأمر | الوصف |
|---|---|
account | اعرض lamports الحساب ومالكه وبياناته وحالة قابليته للتنفيذ. |
address | اطبع المفتاح العام للموقّع المحدد. |
address-lookup-table | أنشئ جداول البحث عن العناوين ووسّعها وجمّدها وعطّلها وأغلقها وافحصها. |
airdrop | اطلب SOL من faucet الخاص بالـ cluster. |
alpenglow-genesis-info | اقرأ معلومات عن شهادة genesis الخاصة بـ Alpenglow. |
authorize-nonce-account | عيّن سلطة لحساب nonce دائم. |
balance | اعرض رصيد SOL للحساب. |
block | اجلب كتلة مؤكدة حسب slot. |
block-height | اعرض ارتفاع الكتلة الحالي. |
block-production | اعرض إنتاج الكتل لدى leader ضمن نطاق slot. |
block-time | قدّر وقت إنتاج كتلة. |
catchup | انتظر حتى يلحق validator بالـ cluster. |
close-vote-account | أغلق حساب تصويت واسحب أمواله المتبقية. |
cluster-date | قدّر تاريخ الـ cluster من وقت genesis ووقت الشبكة. |
cluster-version | اعرض إصدار برنامج نقطة دخول الـ cluster. |
completion | أنشئ سكربت إكمال تلقائي لـ shell. |
config | اعرض إعدادات CLI الافتراضية أو عيّنها. |
confirm | تحقق من حالة تأكيد توقيع معاملة. |
create-address-with-seed | اشتق عنوان نظام من base وseed ومعرّف البرنامج. |
create-nonce-account | أنشئ حساب nonce دائمًا وهيّئه. |
create-stake-account | أنشئ حساب stake. |
create-stake-account-checked | أنشئ حساب stake مع التحقق من سلطة السحب كموقّع. |
create-vote-account | أنشئ حساب تصويت لـ validator. |
deactivate-stake | ابدأ إلغاء تفعيل الـ stake المفوَّض. |
decode-transaction | فك ترميز معاملة مسلسلة. |
delegate-stake | فوّض حساب stake إلى حساب تصويت. |
epoch | اعرض رقم epoch الحالي. |
epoch-info | اعرض معلومات epoch وslot وارتفاع الكتلة وعدد المعاملات. |
feature | افحص حسابات ميزات وقت التشغيل وأدرها. |
find-program-derived-address | اشتق PDA وbump القانوني من قيم seed محددة النوع. |
first-available-block | اعرض أول كتلة كاملة تحتفظ بها عقدة RPC. |
genesis-hash | اعرض هاش genesis الخاص بالـ cluster. |
gossip | اعرض العقد المرئية عبر gossip. |
help | اطبع المساعدة الجذرية أو مساعدة أمر. |
inflation | اعرض معلومات حاكم التضخم أو معدله أو المكافآت. |
largest-accounts | اعرض أكبر حسابات الـ cluster. |
leader-schedule | اعرض جدول leader. |
live-slots | بثّ تقدّم slot الحالي. |
logs | بثّ سجلات المعاملات، مع إمكانية التصفية حسب العنوان. |
merge-stake | ادمج حسابات stake المتوافقة. |
new-nonce | انقل nonce دائمًا إلى القيمة التالية. |
nonce | اطبع قيمة nonce دائم. |
nonce-account | اعرض الحالة الكاملة لحساب nonce دائم. |
program | انشر البرامج والمخازن المؤقتة أو رقِّها أو افحصها أو استخرجها أو عيّن سلطتها أو أغلقها. |
recent-prioritization-fees | اعرض رسوم الأولوية الأخيرة للحسابات القابلة للكتابة. |
rent | احسب الحد الأدنى للإعفاء من الإيجار لحجم بيانات حساب. |
resolve-signer | حوّل مرجع موقّع عامًا مثل عنوان Ledger URL إلى مساره المحدد. |
sign-offchain-message | وقّع رسالة UTF-8 خارج السلسلة. |
slot | اعرض slot الحالي. |
split-stake | قسّم lamports من حساب stake إلى حساب آخر. |
stake-account | اعرض سلطات حساب stake ورصيده وحالة التفويض. |
stake-authorize | غيّر سلطة stake أو سلطة السحب. |
stake-authorize-checked | غيّر سلطة stake مع التحقق من السلطة الجديدة كموقّع. |
stake-history | اعرض سجل تفعيل stake وإلغاء تفعيله في الـ cluster. |
stake-minimum-delegation | اعرض الحد الأدنى لتفويض stake في الـ cluster. |
stake-set-lockup | عيّن قفل حساب stake. |
stake-set-lockup-checked | عيّن قفلًا مع التحقق من الوصي الجديد كموقّع. |
stakes | اعرض حسابات stake، مع إمكانية التصفية حسب validator أو السلطة. |
supply | اعرض المعروض من SOL المتداول وغير المتداول والإجمالي. |
transaction-count | اعرض عدد معاملات الـ cluster. |
transaction-history | اعرض المعاملات المتعلقة بعنوان من الأحدث إلى الأقدم. |
transfer | حوّل SOL بين حسابات النظام. |
upgrade-nonce-account | رقِّ حساب nonce قديمًا بصورة متساوية الأثر (idempotent). |
validator-info | انشر معلومات validator أو اقرأها. |
validators | اعرض ملخص stake لدى validator والعمولة ومعدل التخطي والإصدار. |
verify-offchain-signature | تحقق من رسالة موقّعة خارج السلسلة. |
vote-account | اعرض سلطات حساب التصويت وعمولته ونقاطه وأصواته. |
vote-authorize-voter | غيّر سلطة المصوّت لحساب تصويت. |
vote-authorize-voter-checked | غيّر سلطة المصوّت مع التحقق من السلطة الجديدة كموقّع. |
vote-authorize-withdrawer | غيّر سلطة السحب لحساب تصويت. |
vote-authorize-withdrawer-checked | غيّر سلطة السحب مع التحقق من السلطة الجديدة كموقّع. |
vote-update-commission | غيّر عمولة حساب تصويت. |
vote-update-validator | غيّر هوية validator المعيّنة لحساب تصويت. |
withdraw-from-nonce-account | اسحب بعض SOL أو كلها من حساب nonce دائم. |
withdraw-from-vote-account | اسحب lamports من حساب تصويت. |
withdraw-stake | اسحب SOL غير النشطة من حساب stake. |
مخرجات السكربتات
استخدم --output json أو --output json-compact حيثما كان مدعومًا بدلًا من
تحليل المخرجات المقروءة للبشر:
solana epoch-info --output jsonsolana account <ACCOUNT_ADDRESS> --output json-compactsolana validators --output json > validators.json
لا يدعم كل أمر المخرجات المهيكلة. راجع مساعدة الأمر قبل الاعتماد عليها في الأتمتة، واعتبر رمز الخروج غير الصفري فشلًا.
Is this page helpful?