Gọi phương thức RPC và gửi sự kiện đến URL của bạn bằng ERPC CLI

erpc rpc call gửi một request JSON-RPC từ terminal của bạn bằng tài khoản ERPC bạn đã đăng nhập, hoặc trả phí theo từng lệnh gọi bằng x402. erpc webhook gửi sự kiện RPC đến URL của bạn bằng POST.
Trang này mô tả ERPC CLI v0.1.0-rc.4, một bản pre-release.

Gọi một phương thức RPC

Dùng tài khoản ERPC bạn đã đăng nhập để gọi Solana hoặc Ethereum mainnet. CLI chọn endpoint dùng chung dựa trên phương thức, hoặc bạn có thể tự chọn mạng.
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
  • Tham số là một mảng hoặc object JSON, một tệp với --params-file, hoặc - cho đầu vào chuẩn. Nếu không có tham số, lệnh gọi sẽ gửi [].
  • Mạng gồm solana-mainnet và ethereum-mainnet (cũng có thể viết eth-mainnet). erpc rpc list-networks liệt kê các mạng có RPC dùng chung của ERPC và RPC x402.
  • Endpoint của riêng bạn: --endpoint-url chỉ dùng thông tin xác thực có trong URL đó. URL này phải là URL bảo mật hoặc loopback, và không chứa thông tin người dùng.

Lệnh gọi dùng khóa nào trong các khóa của tài khoản

Một tài khoản có thể có nhiều khóa RPC. erpc rpc call và erpc webhook run thử lần lượt từng khóa, bắt đầu từ khóa chính, với một lệnh gọi getHealth cho mỗi khóa trước lệnh gọi của chính chúng. Khóa được đánh giá tại Solana RPC dùng chung, bất kể sau đó chain nào được gọi.
Khi RPC không nhận khóa nào và không hỏi được RPC về một trong các khóa, lệnh sẽ tiếp tục với khóa đầu tiên không hỏi được, và chính lệnh gọi của lệnh đó sẽ cho biết. Khi mọi khóa đều bị từ chối, lệnh thất bại với the shared RPC takes none of the account's API keys from this machine (<n> tried): xem Khi gặp lỗi.

Trả phí theo từng lệnh gọi với x402

Để truy cập theo hình thức trả phí từng lệnh gọi mà không cần tài khoản, hãy yêu cầu một báo giá x402. --quote in báo giá ra mà không đọc ví và không thực hiện thanh toán nào.
Để thanh toán, hãy chạy lệnh không có --quote trong terminal. CLI hiển thị số tiền, yêu cầu xác nhận, rồi ký khoản thanh toán EURC trên Base đã được báo giá bằng ví mà erpc wallet create đã cấu hình. Hãy giữ EURC trên Base trong ví đó (Thanh toán từ ví).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

Gửi sự kiện đến URL của bạn

Một webhook cục bộ subscribe WebSocket RPC và gửi sự kiện đến URL của bạn bằng POST. Hãy khởi động một bộ nhận, tạo subscription, rồi chạy ID mà create trả về, trong terminal hoặc bằng trình giám sát tiến trình của bạ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
Với hoạt động của ví trên Solana, hãy dùng --template solana-wallet --wallet ADDRESS thay cho --method. Với log của contract trên Ethereum, hãy dùng --template evm-contract-events --address CONTRACT. URL callback là HTTPS hoặc HTTP loopback, và các mạng giống với các mạng của erpc rpc call.

Bộ nhận của bạn nhận được gì

  • Mỗi POST chứa webhook_id, network và notification JSON-RPC gốc. Trả về HTTP 2xx để chấp nhận.
  • Việc gửi bắt đầu từ subscription trực tiếp hiện tại. Khi khởi động lại, runner sẽ subscribe các sự kiện mới.
  • Mất kết nối hoặc một callback thất bại sẽ kết thúc runner với trạng thái thoát khác không.
  • erpc webhook run nhận --once để thử một lần gửi duy nhất, và --endpoint-url để dùng RPC WebSocket của riêng bạn.

Quản lý webhook

LệnhChức năng
erpc webhook listLiệt kê các subscription đã lưu
erpc webhook show IDHiển thị một subscription. Thông tin xác thực của callback được lược bỏ
erpc webhook enabled-countĐếm các subscription đang được bật trên máy này
erpc webhook pause IDTắt việc gửi. Runner đang chạy sẽ thoát
erpc webhook activate IDCho phép một lần run về sau
erpc webhook delete IDXóa định nghĩa
Các lệnh này chỉ xem và thay đổi cấu hình cục bộ. Trong script, hãy truyền --yes cho pause, activate và delete.