Mit ERPC CLI RPC-Methoden aufrufen und Ereignisse an Ihre URL senden

erpc rpc call sendet eine JSON-RPC-Anfrage aus Ihrem Terminal mit Ihrem angemeldeten ERPC-Konto oder zahlt je Aufruf mit x402. erpc webhook sendet RPC-Ereignisse per POST an Ihre URL.
Diese Seite beschreibt ERPC CLI v0.1.0-rc.4, eine Vorabversion.

Eine RPC-Methode aufrufen

Verwenden Sie Ihr angemeldetes ERPC-Konto, um Solana- oder Ethereum-Mainnet aufzurufen. Die CLI wählt den Shared-Endpunkt anhand der Methode aus, oder Sie können das Netzwerk selbst auswählen.
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
  • Parameter sind ein JSON-Array oder -Objekt, eine Datei mit --params-file oder - für die Standardeingabe. Ohne sie sendet ein Aufruf [].
  • Netzwerke sind solana-mainnet und ethereum-mainnet (auch eth-mainnet). erpc rpc list-networks listet die Netzwerke auf, für die es Shared RPC und x402-RPC von ERPC gibt.
  • Ihr eigener Endpunkt: --endpoint-url verwendet nur die Zugangsdaten in dieser URL. Sie muss eine sichere URL oder Loopback sein, ohne Benutzerinformationen.

Welchen Schlüssel des Kontos ein Aufruf verwendet

Ein Konto kann mehrere RPC-Schlüssel haben. erpc rpc call und erpc webhook run probieren sie der Reihe nach aus, den primären zuerst, mit einem Aufruf von getHealth pro Schlüssel vor ihrem eigenen Aufruf. Der Schlüssel wird am Shared RPC für Solana beurteilt, unabhängig davon, welche Chain danach aufgerufen wird.
Wenn der RPC keinen Schlüssel annimmt und zu einem davon nicht befragt werden konnte, fährt der Befehl mit dem ersten Schlüssel fort, zu dem er nicht befragt werden konnte, und sein eigener Aufruf zeigt das Ergebnis. Wenn jeder Schlüssel abgelehnt wird, schlägt der Befehl mit the shared RPC takes none of the account's API keys from this machine (<n> tried) fehl: siehe Wenn etwas schiefgeht.

Je Aufruf mit x402 bezahlen

Für einen Zugriff mit Bezahlung je Aufruf ohne Konto fordern Sie ein x402-Angebot an. --quote gibt das Angebot aus, ohne eine Wallet zu lesen oder eine Zahlung auszuführen.
Zum Bezahlen führen Sie den Befehl ohne --quote an einem Terminal aus. Die CLI zeigt den Betrag an, fragt nach einer Bestätigung und signiert die im Angebot genannte EURC-Zahlung auf Base mit der Wallet, die erpc wallet create eingerichtet hat. Halten Sie EURC auf Base in dieser Wallet bereit (Aus einer Wallet bezahlen).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

Ereignisse an Ihre URL senden

Ein lokaler Webhook abonniert den RPC-WebSocket und sendet Ereignisse per POST an Ihre URL. Starten Sie einen Empfänger, legen Sie das Abonnement an und führen Sie dann die ID aus, die create zurückgibt, in einem Terminal oder unter Ihrem Prozess-Supervisor.
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
Für Wallet-Aktivität auf Solana verwenden Sie --template solana-wallet --wallet ADDRESS anstelle von --method. Für Contract-Logs auf Ethereum verwenden Sie --template evm-contract-events --address CONTRACT. Die Callback-URL ist HTTPS oder Loopback-HTTP, und die Netzwerke sind dieselben wie bei erpc rpc call.

Was Ihr Empfänger erhält

  • Jeder POST enthält webhook_id, network und die ursprüngliche JSON-RPC-Nachricht notification. Geben Sie HTTP 2xx zurück, um ihn anzunehmen.
  • Die Zustellung beginnt beim aktuellen Live-Abonnement. Wird der Runner neu gestartet, abonniert er neue Ereignisse.
  • Ein Verbindungsabbruch oder ein fehlgeschlagener Callback beendet den Runner mit einem Status ungleich null.
  • erpc webhook run akzeptiert --once, um eine einzelne Zustellung zu testen, und --endpoint-url, um Ihren eigenen WebSocket-RPC zu verwenden.

Webhooks verwalten

BefehlWas er tut
erpc webhook listListet die gespeicherten Abonnements auf
erpc webhook show IDZeigt ein Abonnement an. Zugangsdaten des Callbacks werden weggelassen
erpc webhook enabled-countZählt die auf diesem Rechner aktivierten Abonnements
erpc webhook pause IDDeaktiviert die Zustellung. Ein laufender Runner beendet sich
erpc webhook activate IDGibt einen späteren run frei
erpc webhook delete IDEntfernt die Definition
Diese Befehle lesen und ändern nur die lokale Konfiguration. Übergeben Sie in Skripten --yes an pause, activate und delete.