أوامر ERPC CLI

كل مجموعات أوامر ERPC CLI في جدول واحد، والخيارات التي تعمل مع كل أمر، ورموز الخروج التي يمكن للسكربت الاعتماد عليها.
تصف هذه الصفحة ERPC CLI v0.1.0-rc.4، وهو إصدار تمهيدي.

مجموعات الأوامر

شغّل أي مجموعة أوامر دون أمر فرعي، مثل erpc validator أو erpc worker، لسرد أوامرها الفرعية.
الأمرما يفعله
validator (v), rpc (r), node (n)المدققون وعُقد RPC
rpc callيرسل طلب JSON-RPC واحدًا إلى نقطة نهاية مشتركة أو مخصصة أو عبر x402 (استدعاءات RPC وwebhooks)
webhookيدير اشتراكات RPC المحلية ويسلّم الأحداث إلى عنوان رد استدعاء HTTP
ai, resume, memory, skillsERPC AI ومحادثاته المحفوظة وما يتذكره ومهاراته
worker (w)تطبيقاتك الخاصة على خادم
storage (st), backupERPC Global Storage والنسخ الاحتياطية للأجهزة (أدناه)
walletمحفظة Base التي تشتري ERPC Credit باستخدام EURC (الدفع من محفظة)
signup, login, logout, whoamiحساب ERPC الخاص بك (تسجيل الدخول والمفاتيح)
doctorيُبلغ عن الطريقة التي يحفظ بها هذا الجهاز جلستك
configيقرأ ~/.erpc/config.toml ويغيّره (الإعدادات العامة فقط). يكتب erpc config init ملف بداية مزوَّدًا بالتعليقات، ما لم يكن هناك ملف موجود
versionمعلومات الإصدار والبناء والمكوّنات
completionsيولّد إكمالات الصدفة: erpc completions zsh، وكذلك bash وfish وpowershell وelvish

الخيارات العامة

  • --json يعطي مخرجات قابلة للقراءة آليًا: erpc --json <command>. وللمتغير ERPC_JSON=true التأثير نفسه. في أوامر العُقد، يجب أن يأتي --json قبل الأمر.
  • --lang يحدد اللغة التي يتحدث بها erpc: en أو ja أو zh أو ru. وبدونه يستخدم erpc الإعداد locale، وإلا فلغة النظام.

الأخطاء ورموز الخروج

يبدو الفشل بالشكل نفسه في كل مكان: سطر error: يذكر ما الذي حدث من خطأ، وسطر hint: يذكر ما يجب فعله بعد ذلك، إن وُجد. مع --json، يكون الفشل كائنًا واحدًا على المخرج القياسي، {"error": {"code", "exit", "message", "hint"}}. وفي حالتين تُطبع رسالة clap الخاصة به بدلًا من ذلك ويكون الخروج بالرمز 2: سطر أوامر لا يستطيع clap تحليله في الطرفية، ووسيطة لا يقبلها الأمر الفرعي في شجرة أوامر العُقد (erpc validator وrpc وnode)، حتى مع --json. ولا يظهر الحقل details إلا عندما يكون لدى الأمر ما يضيفه للسكربت عمّا فعله قبل أن يفشل، ولا يظهر أبدًا في الطرفية.
الخروجالرمزالمعنى
0نجح الأمر
1failedتعذّر عليه تنفيذ المطلوب
2usageسطر الأوامر غير قابل للاستخدام
3needs_terminalيجب أن يجيب شخص: مرّر --yes أو شغّله في الطرفية
4not_signed_inشغّل erpc login
5problems_foundوجد فحصٌ (status، doctor) مشكلات، ويذكر تقريره ما هي
6declinedأجبتَ بالرفض، ولم يُغيَّر شيء
7networkتعذّر الوصول إلى ERPC أو إلى خدمة أخرى
عند إيقافه بـ Ctrl-C (أو SIGTERM أو SIGHUP)، ينتهي erpc بالإشارة نفسها، فتتوقف أيضًا أي حلقة في السكربت. ويحتفظ الرمز المنشور باسمه وبرمز الخروج الخاص به، ولا يُعاد استخدام أي رمز أبدًا.

التخزين والنسخ الاحتياطية

bash
erpc storage buy 5        # an ERPC Global Storage plan
erpc backup init          # back this machine up with restic, on a schedule if you like
يشتري erpc storage buy خطة ERPC Global Storage، ويُدفع ثمنها من ERPC Credit. تجد الخطط والأسعار في صفحة الأسعار.

erpc storage

  • يشفّر erpc storage put الملف على هذا الجهاز قبل إرسال أي جزء منه، ما لم يُمرَّر --no-encrypt. لا يخزّن ERPC سوى البايتات المشفرة، ولا يحتفظ بالمفتاح أبدًا. ويتعرّف erpc storage get على الملف المشفر ويفك تشفيره.
  • يوجد مفتاح تخزين واحد لكل حساب، ويُحفظ في مكان الحفظ الذي اختاره erpc login. لا يحتفظ به erpc في حلقة مفاتيح نواة Linux، التي تُفقد عند إعادة تشغيل الجهاز: سجّل الدخول باستخدام --store 1password أو --store file، أو استخدم --no-encrypt. ومع مكان الحفظ file، يوجد المفتاح في ~/.erpc/storage-key (الوضع 0600) غير مشفّر. ويرفع --no-encrypt الملفَّ الذي ترسله كما هو، دون تشفير.
  • فقدان مفتاح التخزين يعني فقدان كل ملف شُفِّر به، ولا يستطيع ERPC استعادته. يطبع erpc storage key export --show المفتاح حتى يمكن الاحتفاظ بنسخة منه بعيدًا عن الجهاز، ويعيده erpc storage key import على جهاز آخر.
  • المسار الذي يُخزَّن تحته الملف، وحجمه، مرئيان لـ ERPC.
  • يعرض erpc storage keys list مفاتيح الوصول إلى التخزين، ويُبطل erpc storage keys revoke <n> واحدًا منها.

erpc backup

ينسخ erpc backup الجهاز احتياطيًا إلى ERPC Global Storage باستخدام restic. تُشفَّر الملفات على جهازك قبل أن تغادره، ولا يحتفظ ERPC أبدًا بكلمة مرور تفتح النسخ الاحتياطية.
الأمرما يفعله
erpc backup initيثبّت restic، وينشئ مفاتيح الوصول والمستودع، ويمنح هذا الجهاز مفتاح restic خاصًا به
erpc backup run [paths]ينفّذ النسخ الاحتياطي. على Linux، ودون مسارات، ينسخ / باستثناء أنظمة الملفات الزائفة ونقاط التركيب والمسارات المتطايرة. وفي غيره، حدّد المسارات
erpc backup snapshotsلقطات هذا الجهاز؛ و--all-hosts للقطات كل الأجهزة
erpc backup restore <id|latest>يستعيد إلى مجلد جديد ما لم يحدد --target مجلدًا آخر. يكتب --in-place فوق هذا الجهاز، بعد السؤال
erpc backup checkيفحص المستودع ويعيد قراءة 5% من البيانات
erpc backup pruneيحتفظ بـ 7 لقطات يومية و4 أسبوعية و6 شهرية لجهاز واحد، بعد السؤال
erpc backup schedule daily|weekly|off [paths]يشغّل run بمؤقِّت، في الوقت المحدد بـ --at (الافتراضي 03:00)
erpc backup statusالجدول الزمني، وكيف انتهى آخر تشغيل
erpc backup password --showيطبع كلمة المرور الرئيسية للمستودع، للاحتفاظ بنسخة منها في مكان آخر
  • يحصل كل جهاز على مفتاح للإلحاق فقط لا يستطيع حذف نسخه الاحتياطية. أما الجهاز الذي شغّلت عليه erpc backup init فيحتفظ أيضًا بالمفاتيح التي تستطيع ذلك، لذا لا تصمد هذه الحماية إلا على جهاز لا يحتفظ بجلسة erpc ولا بأسرار النسخ الاحتياطي الخاصة بالحساب.
  • احتفظ بنسخة من erpc backup password --show بعيدًا عن الأجهزة. فقدان كلمة المرور الرئيسية وملفات backup.env لجميع الأجهزة يعني فقدان النسخ الاحتياطية.
  • يستبعد النسخ الاحتياطي ملفات المفاتيح المعروفة وأسرار النظام، مثل .ssh/id_* و.config/solana/id.json وجلسة erpc ومفاتيح مضيف SSH. أما مادة المفاتيح التي تحمل اسمًا آخر أو توجد في مكان آخر فتُنسخ احتياطيًا مثل أي ملف آخر: استبعدها باستخدام --exclude.
  • يثبّت erpc الإصدار 0.19.1 من restic، ويتحقق من الأرشيف ومن البرنامج كليهما مقابل ملخصات SHA-256 المضمَّنة في erpc عند بنائه.
  • الجدولة: على Linux، شغّل sudo erpc backup init، ثم sudo erpc backup schedule daily. وعلى macOS، erpc backup schedule daily ~/Documents؛ وتعمل المهمة باسمك، ما دمت مسجّل الدخول.
  • تذهب النسخ الاحتياطية إلى المنطقة الافتراضية للحساب. يعمل erpc backup على الجهاز الذي ينسخه احتياطيًا؛ أما خادم الـ worker فيُعدّ باستخدام erpc worker backup on بدلًا من ذلك (النسخ الاحتياطي لبيانات حالة التطبيق).