ERPC CLI ile RPC yöntemlerini çağırın ve olayları URL'nize gönderin

erpc rpc call, oturum açtığınız ERPC hesabınızla terminalinizden tek bir JSON-RPC isteği gönderir ya da x402 ile çağrı başına ödeme yapar. erpc webhook, RPC olaylarını URL'nize POST eder.
Bu sayfada bir ön sürüm olan ERPC CLI v0.1.0-rc.4 anlatılır.

Bir RPC yöntemini çağırma

Solana veya Ethereum mainnet'i çağırmak için oturum açtığınız ERPC hesabınızı kullanın. CLI, paylaşımlı endpoint'i yönteme göre seçer; isterseniz ağı siz de seçebilirsiniz.
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
  • Parametreler bir JSON dizisi veya nesnesi, --params-file ile bir dosya ya da standart girdi için - olabilir. Parametre verilmezse çağrı [] gönderir.
  • Ağlar solana-mainnet ve ethereum-mainnet'tir (ayrıca eth-mainnet). erpc rpc list-networks, ERPC paylaşımlı RPC'si ve x402 RPC'si bulunan ağları listeler.
  • Kendi endpoint'iniz: --endpoint-url yalnızca o URL'deki kimlik bilgilerini kullanır. Bu URL güvenli bir URL ya da loopback olmalı ve kullanıcı bilgisi içermemelidir.

Bir çağrının hesabın hangi anahtarını kullandığı

Bir hesabın birden çok RPC anahtarı olabilir. erpc rpc call ve erpc webhook run bu anahtarları birincil anahtardan başlayarak sırayla dener ve kendi çağrılarından önce her anahtar için bir getHealth çağrısı yapar. Anahtar, ardından hangi zincir çağrılırsa çağrılsın, paylaşımlı Solana RPC'sinde değerlendirilir.
RPC hiçbir anahtarı kabul etmediğinde ve anahtarlardan biri hakkında RPC'ye sorulamadığında, komut sorulamayan ilk anahtarla devam eder ve sonucu kendi çağrısı gösterir. Tüm anahtarlar reddedildiğinde komut the shared RPC takes none of the account's API keys from this machine (<n> tried) hatasıyla başarısız olur: bkz. Sorun çıktığında.

x402 ile çağrı başına ödeme

Hesap olmadan çağrı başına ödemeli erişim için bir x402 fiyat teklifi isteyin. --quote, bir cüzdanı okumadan ve ödeme yapmadan teklifi yazdırır.
Ödemek için komutu terminalde --quote olmadan çalıştırın. CLI tutarı gösterir, onay ister ve teklif edilen Base EURC ödemesini erpc wallet create ile yapılandırılan cüzdanla imzalar. Bu cüzdanda Base üzerinde EURC bulundurun (Cüzdandan ödeme).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

Olayları URL'nize gönderme

Yerel bir webhook, RPC WebSocket'ine abone olur ve olayları URL'nize POST eder. Bir alıcı başlatın, aboneliği oluşturun, ardından create komutunun döndürdüğü ID'yi bir terminalde veya süreç denetleyicinizin altında çalıştırın.
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'daki cüzdan etkinliği için --method yerine --template solana-wallet --wallet ADDRESS kullanın. Ethereum sözleşme log'ları için --template evm-contract-events --address CONTRACT kullanın. Geri çağırma URL'si HTTPS ya da loopback HTTP'dir ve ağlar erpc rpc call ile aynıdır.

Alıcınızın aldıkları

  • Her POST, webhook_id, network ve özgün JSON-RPC notification alanlarını içerir. Kabul etmek için HTTP 2xx döndürün.
  • Teslimat, o anki canlı abonelikten başlar. Çalıştırıcı yeniden başlatıldığında yeni olaylara abone olunur.
  • Bağlantının kopması veya bir geri çağırmanın başarısız olması, çalıştırıcıyı sıfır olmayan bir çıkış koduyla sonlandırır.
  • erpc webhook run, tek bir teslimatı test etmek için --once ve kendi WebSocket RPC'nizi kullanmak için --endpoint-url seçeneklerini alır.

Webhook'ları yönetme

KomutNe yapar
erpc webhook listKayıtlı abonelikleri listeler
erpc webhook show IDBir aboneliği gösterir. Geri çağırma kimlik bilgileri gösterilmez
erpc webhook enabled-countBu makinede etkin olan abonelikleri sayar
erpc webhook pause IDTeslimatı devre dışı bırakır. Çalışmakta olan bir çalıştırıcı sonlanır
erpc webhook activate IDSonraki bir run için etkinleştirir
erpc webhook delete IDTanımı kaldırır
Bunlar yalnızca yerel yapılandırmayı inceler ve değiştirir. Betiklerde pause, activate ve delete komutlarına --yes verin.