Unlimited Endpoint で Avalanche を呼ぶ

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

Unlimited でできること

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

リクエストを送る

ERPC Web Dashboard でリージョンとプランを選んで Unlimited Endpoint を用意し、リクエストを送るサーバーの IP アドレスを登録します。エンドポイントの URL は TLS なしの HTTP で、ダッシュボードに IP アドレスとポート 8899 の形で表示されます。
C-Chain のリクエストは、URL の末尾に /ava を付けて送ります。
endpoint
http://<YOUR_ENDPOINT_IP>:8899/ava
WebSocket は /ava/ws です。ポートは HTTP と同じです。
endpoint
ws://<YOUR_ENDPOINT_IP>:8899/ava/ws
次の例は、C-Chain の最新のブロック番号を取得します。
bash
curl http://<YOUR_ENDPOINT_IP>:8899/ava \
  --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/ava/ws"
# After connected, send:
{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}

対応メソッド

/ava に送ったリクエストは、C-Chain の EVM の JSON-RPC に届きます。C-Chain のメソッドは、Edge RPC の Avalanche の頁「エンドポイントと RPC キー」の対応メソッドにまとめています。
同じ一覧のうち Avalanche 独自の API(avax.*、avm.*、platform.*、proposervm.*、info.upgrades)は、/ava では呼べません。これらは Edge RPC の edge.erpc.global/ava で呼べます。Edge RPC は RPC キーで呼び、呼び出しごとに ERPC トークンを使います。

関連ページ