Panggil method RPC dan kirim event ke URL Anda dengan ERPC CLI

erpc rpc call mengirim satu request JSON-RPC dari terminal Anda dengan akun ERPC Anda yang sudah masuk, atau membayar per panggilan dengan x402. erpc webhook mengirim event RPC ke URL Anda dengan POST.
Halaman ini menjelaskan ERPC CLI v0.1.0-rc.4, versi pra-rilis.

Memanggil method RPC

Gunakan akun ERPC Anda yang sudah masuk untuk memanggil mainnet Solana atau Ethereum. CLI memilih endpoint bersama berdasarkan method-nya, atau Anda sendiri dapat memilih jaringannya.
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 berupa array atau objek JSON, file dengan --params-file, atau - untuk standard input. Tanpa parameter, sebuah panggilan mengirim [].
  • Jaringan yang tersedia adalah solana-mainnet dan ethereum-mainnet (juga eth-mainnet). erpc rpc list-networks menampilkan daftar jaringan yang memiliki shared RPC ERPC dan RPC x402.
  • Endpoint milik Anda sendiri: --endpoint-url hanya memakai kredensial yang ada di URL tersebut. URL itu harus berupa URL aman atau loopback, tanpa informasi pengguna.

Kunci milik akun yang dipakai sebuah panggilan

Sebuah akun dapat memiliki beberapa RPC key. erpc rpc call dan erpc webhook run mencobanya secara berurutan, dimulai dari yang utama, dengan satu panggilan getHealth untuk setiap kunci sebelum panggilan perintah itu sendiri. Kunci dinilai di shared RPC Solana, apa pun chain yang kemudian dipanggil.
Jika RPC tidak menerima satu kunci pun dan RPC tidak dapat ditanyai tentang salah satu kunci, perintah tetap berlanjut dengan kunci pertama yang tidak dapat ditanyakan, dan panggilan perintah itu sendiri yang akan menunjukkan hasilnya. Jika semua kunci ditolak, perintah gagal dengan the shared RPC takes none of the account's API keys from this machine (<n> tried); lihat Jika gagal.

Membayar per panggilan dengan x402

Untuk akses bayar per panggilan tanpa akun, minta quote x402. --quote menampilkan quote tanpa membaca wallet atau melakukan pembayaran.
Untuk membayar, jalankan perintah tanpa --quote di terminal. CLI menampilkan jumlahnya, meminta konfirmasi, lalu menandatangani pembayaran EURC di Base sesuai quote dengan wallet yang dikonfigurasi oleh erpc wallet create. Simpan EURC di Base dalam wallet tersebut (Membayar dari wallet).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

Mengirim event ke URL Anda

Webhook lokal melakukan subscribe ke WebSocket RPC dan mengirim event ke URL Anda dengan POST. Jalankan penerima, buat subscription-nya, lalu jalankan ID yang dikembalikan oleh create, di terminal atau melalui process supervisor Anda.
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
Untuk aktivitas wallet di Solana, gunakan --template solana-wallet --wallet ADDRESS sebagai pengganti --method. Untuk log kontrak Ethereum, gunakan --template evm-contract-events --address CONTRACT. URL callback berupa HTTPS atau HTTP loopback, dan jaringannya sama dengan jaringan untuk erpc rpc call.

Yang diterima penerima Anda

  • Setiap POST berisi webhook_id, network, dan notification JSON-RPC aslinya. Kembalikan HTTP 2xx untuk menerimanya.
  • Pengiriman dimulai dari subscription live yang sedang berjalan saat itu. Jika runner di-restart, runner melakukan subscribe ke event baru.
  • Koneksi yang terputus atau callback yang gagal mengakhiri runner dengan status keluar bukan nol.
  • erpc webhook run menerima --once untuk menguji satu kali pengiriman, dan --endpoint-url untuk memakai RPC WebSocket milik Anda sendiri.

Mengelola webhook

PerintahFungsinya
erpc webhook listMenampilkan daftar subscription yang tersimpan
erpc webhook show IDMenampilkan sebuah subscription. Kredensial callback tidak ditampilkan
erpc webhook enabled-countMenghitung subscription yang diaktifkan di mesin ini
erpc webhook pause IDMenonaktifkan pengiriman. Runner yang sedang berjalan akan berhenti
erpc webhook activate IDMengaktifkan run berikutnya
erpc webhook delete IDMenghapus definisinya
Perintah-perintah ini hanya memeriksa dan mengubah konfigurasi lokal. Di skrip, berikan --yes ke pause, activate, dan delete.