ERPC NEAR RPC 端點文件

NEAR RPC 端點文件

將 ERPC 作為您的 NEAR RPC 端點,用於處理 HTTP JSON-RPC 請求。NEAR RPC 是 ERPC 在 Global Edge Blockchain Infrastructure 中提供的 RPC APIs 之一,API key 可以在 ERPC Web Dashboard 中管理。
您可以直接使用與 Solana、Ethereum 和 Avalanche 相同的 RPC key。
請透過 api-key 查詢參數傳遞 API key,或以 Authorization: Bearer <YOUR_API_KEY> 傳送。兩者同時存在時,以查詢參數為準。

端點

將 JSON-RPC 2.0 請求以 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"}
}'
以下是在 Authorization 標頭中帶入 API key 的同一請求。
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"}
}'
您可以在 ERPC Web Dashboard 上取得和檢視您的 API key。

批次請求

每次 HTTP 請求支援包含 1 到 100 個呼叫的 JSON-RPC 批次請求。每次呼叫都需要有自己的 id,且同一批次內的 id 值不可重複。批次中的每次呼叫都會作為單獨的呼叫計量。請求本文最大為 1 MiB。

用量計量

用量以 token 計量,token 費率可能因方法而異。HTTP 批次請求中的每次呼叫都會單獨計量。

Free 方案限制

在 Free 方案中,您的帳戶每 10 秒可以傳送一個請求。此限制依帳戶計算,而不是依端點計算,因此傳送至另一條鏈的請求也可能計入此限制。過早傳送的請求會收到 HTTP 429 回應,retry-after 標頭會給出以秒為單位的等待時間。
在 Free 方案中,包含兩個或更多 JSON-RPC 呼叫的請求會收到 HTTP 429 回應,且其中的呼叫都不會被傳送:每個呼叫都會收到錯誤碼為 -32041 的 JSON-RPC 錯誤。請改為逐個傳送這些呼叫。

支援的方法

此端點提供以下 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 (6 個 request_type 值): call_function, view_access_key, view_access_key_list, view_account, view_code, view_state
  • EXPERIMENTAL_changes (5 個 changes_type 值): account_changes, all_access_key_changes, contract_code_changes, data_changes, single_access_key_changes
query 與 EXPERIMENTAL_changes 必須以物件形式傳送 params,並在其中帶入上述 request_type 或 changes_type 值。
未列出的方法會收到 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 的請求本文
401缺少 API key 或 API key 無效,或不符合該 key 的 IP 或 Origin 限制
405使用了 POST 以外的請求方法
426請求了 WebSocket Upgrade。此端點僅支援 HTTP
429已被限速,包括上文的 Free 方案限制:每 10 秒超過一個請求,或一個請求中包含兩個或更多呼叫。若有 retry-after 標頭,請等待其指定的秒數
502上游請求無法完成:上游回應失敗、回應超過 8 MiB,或 30 秒內未回應
503服務暫時無法使用

NEAR RPC 方法和文件

有關標準方法、參數和規範的完整列表,請參閱官方文件。