استدعِ طرق RPC وأرسل الأحداث إلى عنوان URL الخاص بك باستخدام ERPC CLI

يرسل erpc rpc call طلب JSON-RPC واحدًا من الطرفية باستخدام حساب ERPC الذي سجّلت الدخول به، أو يدفع لكل استدعاء عبر x402. يرسل erpc webhook أحداث RPC إلى عنوان URL الخاص بك بطلبات POST.
تصف هذه الصفحة ERPC CLI v0.1.0-rc.4، وهو إصدار تمهيدي.

استدعاء طريقة RPC

استخدم حساب ERPC الذي سجّلت الدخول به لاستدعاء شبكة mainnet لـ Solana أو Ethereum. يختار CLI نقطة النهاية المشتركة بحسب الطريقة، أو يمكنك أنت اختيار الشبكة.
sh
erpc login
erpc rpc call getSlot
erpc --json rpc call eth_getBlockByNumber '["latest", false]' --network ethereum-mainnet
erpc rpc call eth_call --params-file params.json
printf '%s' '["finalized", false]' | erpc rpc call eth_getBlockByNumber -
erpc rpc call getHealth --endpoint-url http://127.0.0.1:8899
  • المعاملات مصفوفة JSON أو كائن JSON، أو ملف عبر --params-file، أو - للإدخال القياسي. وبدونها يرسل الاستدعاء [].
  • الشبكات هي solana-mainnet وethereum-mainnet (وأيضًا eth-mainnet). يسرد erpc rpc list-networks الشبكات التي يتوفر لها RPC المشترك من ERPC وRPC عبر x402.
  • نقطة النهاية الخاصة بك: لا يستخدم --endpoint-url إلا بيانات الاعتماد الموجودة في ذلك العنوان. ويجب أن يكون عنوان URL آمنًا أو عنوانًا على واجهة loopback، دون معلومات المستخدم.

أيّ مفتاح من مفاتيح الحساب يستخدمه الاستدعاء

يمكن أن يكون للحساب عدة مفاتيح RPC. يجرّبها erpc rpc call وerpc webhook run بالترتيب، بدءًا بالمفتاح الأساسي، مع استدعاء getHealth واحد لكل مفتاح قبل استدعائهما الخاص. ويُحكم على المفتاح لدى RPC المشترك لـ Solana، أيًّا كانت السلسلة التي تُستدعى بعد ذلك.
إذا لم يقبل RPC أي مفتاح وتعذّر سؤاله عن أحدها، يمضي الأمر بأول مفتاح تعذّر سؤاله عنه، ويكشف استدعاؤه الخاص النتيجة. وإذا رُفضت كل المفاتيح، يفشل الأمر بالرسالة the shared RPC takes none of the account's API keys from this machine (<n> tried): راجع عند حدوث عطل.

الدفع لكل استدعاء عبر x402

للوصول بالدفع لكل استدعاء دون حساب، اطلب عرض سعر x402. يطبع --quote عرض السعر دون قراءة أي محفظة ودون إجراء أي دفعة.
للدفع، شغّل الأمر دون --quote في الطرفية. يعرض CLI المبلغ ويطلب التأكيد، ثم يوقّع دفعة EURC على Base الواردة في عرض السعر باستخدام المحفظة التي أعدّها erpc wallet create. احتفظ بـ EURC على Base في تلك المحفظة (الدفع من محفظة).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

إرسال الأحداث إلى عنوان URL الخاص بك

يشترك webhook محلي في WebSocket الخاص بـ RPC ويرسل الأحداث إلى عنوان URL الخاص بك بطلبات POST. شغّل مستقبِلًا، وأنشئ الاشتراك، ثم شغّل المعرّف الذي يعيده create، في الطرفية أو تحت مشرف العمليات لديك.
sh
erpc webhook create --name slots --network solana-mainnet \
  --url http://127.0.0.1:8080/events --method slotSubscribe
erpc webhook create --name heads --network ethereum-mainnet \
  --url http://127.0.0.1:8080/events --method eth_subscribe --params '["newHeads"]'
erpc webhook list
erpc webhook run 1
لنشاط المحافظ على Solana، استخدم --template solana-wallet --wallet ADDRESS بدلًا من --method. ولسجلات عقود Ethereum، استخدم --template evm-contract-events --address CONTRACT. يكون عنوان URL لرد الاستدعاء HTTPS أو HTTP على واجهة loopback، والشبكات هي نفسها شبكات erpc rpc call.

ما يتلقاه المستقبِل لديك

  • يحتوي كل طلب POST على webhook_id وnetwork وnotification الأصلي من JSON-RPC. أعِد HTTP 2xx لقبوله.
  • يبدأ التسليم من الاشتراك المباشر الحالي. وتؤدي إعادة تشغيل عملية التسليم إلى الاشتراك في الأحداث الجديدة.
  • ينهي انقطاعُ الاتصال أو فشلُ رد الاستدعاء عمليةَ التسليم برمز خروج غير صفري.
  • يقبل erpc webhook run الخيار --once لاختبار تسليم واحد، و--endpoint-url لاستخدام RPC الخاص بك عبر WebSocket.

إدارة webhooks

الأمرما يفعله
erpc webhook listيسرد الاشتراكات المحفوظة
erpc webhook show IDيعرض اشتراكًا. لا تُعرَض بيانات اعتماد رد الاستدعاء
erpc webhook enabled-countيعدّ الاشتراكات المفعّلة على هذا الجهاز
erpc webhook pause IDيعطّل التسليم. وتنتهي عملية التسليم إن كانت جارية
erpc webhook activate IDيتيح تنفيذ run لاحقًا
erpc webhook delete IDيحذف التعريف
لا تفحص هذه الأوامر ولا تغيّر إلا الإعدادات المحلية. مرّر --yes إلى pause وactivate وdelete في السكربتات.