---
title: "استدعِ طرق RPC وأرسل الأحداث إلى عنوان URL الخاص بك باستخدام ERPC CLI"
description: "يرسل erpc rpc call طلب JSON-RPC واحدًا إلى mainnet لـ Solana أو Ethereum، ويدفع x402 لكل استدعاء دون حساب، ويرسل erpc webhook أحداث RPC إلى URL لديك عبر POST."
canonical: "https://erpc.global/ar/doc/erpc-cli/rpc-call-and-webhooks/"
locale: "ar"
---

# استدعِ طرق 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)`: راجع [عند حدوث عطل](https://erpc.global/ar/doc/erpc-cli/worker-troubleshooting/).

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

للوصول بالدفع لكل استدعاء دون حساب، اطلب عرض سعر x402. يطبع `--quote` عرض السعر دون قراءة أي محفظة ودون إجراء أي دفعة.

للدفع، شغّل الأمر دون `--quote` في الطرفية. يعرض CLI المبلغ ويطلب التأكيد، ثم يوقّع دفعة EURC على Base الواردة في عرض السعر باستخدام المحفظة التي أعدّها `erpc wallet create`. احتفظ بـ EURC على Base في تلك المحفظة ([الدفع من محفظة](https://erpc.global/ar/doc/erpc-cli/ai/#الدفع-من-محفظة)).

```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` في السكربتات.
