Unlimited Endpoint で Ethereum を呼ぶ

Unlimited Endpoint は、選んだリージョンのサーバーに置く、専有の HTTP エンドポイントです。URL の末尾に /eth を付けると、Ethereum を呼べます。呼んだ回数で料金は増えず、リクエスト単位のレート制限もありません。

Unlimited でできること

  • ERPC トークンを使わずに呼べます。Edge RPC は呼び出しごとに ERPC トークンの残高を使いますが、このエンドポイントへの呼び出しは残高を使いません。月間のクレジット枠やバーストスロットルもありません。
  • RPC キーなしで接続できます。登録した IP アドレスからのリクエストを受け付けます。
  • 新しい接続でも、最初の応答が早く返ります。TLS なしの HTTP なので、TLS ハンドシェイクを待ちません。HTTP と WebSocket は同じポートです。

リクエストを送る

ERPC Web Dashboard でリージョンとプランを選んで Unlimited Endpoint を用意し、リクエストを送るサーバーの IP アドレスを登録します。エンドポイントの URL は TLS なしの HTTP で、ダッシュボードに IP アドレスとポート 8899 の形で表示されます。
Ethereum のリクエストは、URL の末尾に /eth を付けて送ります。
endpoint
http://<YOUR_ENDPOINT_IP>:8899/eth
WebSocket は /eth/ws です。ポートは HTTP と同じです。
endpoint
ws://<YOUR_ENDPOINT_IP>:8899/eth/ws
次の例は、Ethereum の最新のブロック番号を取得します。
bash
curl http://<YOUR_ENDPOINT_IP>:8899/eth \
  --header 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber"}'
レスポンスの result に、ブロック番号が 16 進数で入ります。
json
{ "jsonrpc": "2.0", "id": 1, "result": "0x..." }
新しいブロックを届いた順に受け取るには、WebSocket で接続して購読します。
bash
wscat -c "ws://<YOUR_ENDPOINT_IP>:8899/eth/ws"
# After connected, send:
{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}

対応メソッド

Ethereum のメソッドは、Edge RPC の Ethereum の頁「エンドポイントと RPC キー」の対応メソッドにまとめています。

関連ページ