ERPC NEAR RPC エンドポイント ドキュメント

NEAR RPC エンドポイント ドキュメント

ERPC を NEAR RPC エンドポイントとして、HTTP JSON-RPC リクエストにご利用いただけます。NEAR RPC は、Global Edge Blockchain Infrastructure における ERPC の RPC APIs の一部であり、API key は ERPC Web Dashboard から管理できます。
Solana、Ethereum、Avalanche と同じ RPC キーを利用できます。
API key は api-key クエリパラメータで渡すか、Authorization: Bearer <YOUR_API_KEY> として送信してください。両方が指定された場合は、クエリパラメータが使われます。

エンドポイント

JSON-RPC 2.0 リクエストは、次の URL に対して HTTP POST で送信します。
text
https://edge.erpc.global/near?api-key=<YOUR_API_KEY>
または、次の専用ホストに送信します。
text
https://near.erpc.global?api-key=<YOUR_API_KEY>
リクエストは / でのみ受け付けます。

使用例

API key をクエリパラメータで指定した HTTP リクエストの例です。
bash
curl 'https://edge.erpc.global/near?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"block",
  "params":{"finality":"final"}
}'
API key を Authorization ヘッダーで指定した、同じリクエストの例です。
bash
curl 'https://edge.erpc.global/near' --header 'Content-Type: application/json' --header 'Authorization: Bearer <YOUR_API_KEY>' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"block",
  "params":{"finality":"final"}
}'
API key は ERPC Web Dashboard 上にて取得、確認いただけます: ERPC Web Dashboard

バッチリクエスト

1 回の HTTP リクエストにつき 1〜100 件の呼び出しを含む JSON-RPC バッチに対応しています。各呼び出しにはそれぞれ id が必要で、バッチ内で id の値を重複させることはできません。バッチ内の各呼び出しは、それぞれ個別の呼び出しとして計測されます。リクエストボディの上限は 1 MiB です。

利用量の計測

利用量は token として計測され、token レートはメソッドによって異なる場合があります。HTTP バッチ内の各呼び出しは、それぞれ個別に計測されます。

Free プランの制限

Free プランでは、お使いのアカウントから送信できるのは 10 秒に 1 リクエストまでです。この制限はエンドポイントごとではなくアカウントごとに数えられるため、別のチェーンへのリクエストも数えられることがあります。それより早く送ったリクエストには HTTP 429 が返され、retry-after ヘッダーに待機する秒数が示されます。
Free プランでは、2 件以上の JSON-RPC 呼び出しを含むリクエストには HTTP 429 が返され、そのリクエストの呼び出しはどれも送信されません。それぞれの呼び出しには、コード -32041 の JSON-RPC エラーが返されます。代わりに、これらの呼び出しを 1 件ずつ送信してください。

対応メソッド

本エンドポイントは、次の NEAR JSON-RPC メソッドを提供します。EXPERIMENTAL_ で始まるメソッドは、大文字のプレフィックスを付けたまま送信します。
  • メソッド (17): EXPERIMENTAL_changes_in_block, EXPERIMENTAL_genesis_config, EXPERIMENTAL_protocol_config, EXPERIMENTAL_receipt, EXPERIMENTAL_receipt_to_tx, EXPERIMENTAL_tx_status, EXPERIMENTAL_validators_ordered, block, broadcast_tx_async, broadcast_tx_commit, chunk, gas_price, network_info, send_tx, status, tx, validators
  • query (request_type の値 6 種): call_function, view_access_key, view_access_key_list, view_account, view_code, view_state
  • EXPERIMENTAL_changes (changes_type の値 5 種): account_changes, all_access_key_changes, contract_code_changes, data_changes, single_access_key_changes
query と EXPERIMENTAL_changes は、上記の request_type または changes_type の値を含むオブジェクトを params として送信する必要があります。
一覧にないメソッドには HTTP 400 が返されます。

レスポンスステータスコード

HTTP ステータス意味
200アップストリームの JSON-RPC レスポンス。JSON-RPC エラーも HTTP 200 で返されます。リクエストの id と error.code はそのまま保たれ、error.message は ERPC upstream error になり、error.data は返されません
400「対応メソッド」にないメソッドまたはパス、無効な JSON-RPC リクエスト、空のバッチまたは 100 件を超えるバッチ、バッチ内の重複した id、1 MiB を超えるリクエストボディ
401API key が未指定または無効、もしくはキーに設定された IP・Origin の制限を満たしていません
405POST 以外のリクエストメソッド
426WebSocket Upgrade が要求されました。このエンドポイントは HTTP 専用です
429レート制限。上記の Free プランの制限(10 秒に 1 リクエストを超える送信、または 1 回のリクエストに 2 件以上の呼び出し)も対象です。retry-after ヘッダーがある場合は、示された秒数だけ待機してください
502アップストリームへのリクエストを完了できませんでした(アップストリームの応答が失敗した、応答が 8 MiB を超えた、または 30 秒以内に応答がなかった)
503サービスが一時的に利用できません

NEAR RPC メソッドとドキュメント

標準メソッド、パラメータ、仕様の全一覧については、公式ドキュメントをご参照ください。