Optimism RPC 端点文档 - ERPC

Optimism RPC 端点文档

将 ERPC 用作您的 Optimism RPC 端点,处理 HTTP JSON-RPC 请求。Optimism 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/optimism?api-key=<YOUR_API_KEY>
或发送至专用主机:
text
https://optimism.erpc.global?api-key=<YOUR_API_KEY>
仅接受发往 / 的请求。

示例

以下是在查询参数中携带 API key 的 HTTP 请求示例。
bash
curl 'https://edge.erpc.global/optimism?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"eth_blockNumber"
}'
以下是在 Authorization 请求头中携带 API key 的同一请求。
bash
curl 'https://edge.erpc.global/optimism' --header 'Content-Type: application/json' --header 'Authorization: Bearer <YOUR_API_KEY>' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"eth_blockNumber"
}'
您可以在 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 错误。请改为逐个发送这些调用。

支持的方法

该端点提供以下 35 个方法,按命名空间分组。
  • eth_* (24): eth_blockNumber, eth_call, eth_chainId, eth_estimateGas, eth_feeHistory, eth_gasPrice, eth_getBalance, eth_getBlockByHash, eth_getBlockByNumber, eth_getBlockReceipts, eth_getBlockTransactionCountByHash, eth_getBlockTransactionCountByNumber, eth_getCode, eth_getLogs, eth_getProof, eth_getStorageAt, eth_getTransactionByBlockHashAndIndex, eth_getTransactionByBlockNumberAndIndex, eth_getTransactionByHash, eth_getTransactionCount, eth_getTransactionReceipt, eth_maxPriorityFeePerGas, eth_sendRawTransaction, eth_syncing
  • net_* (3): net_listening, net_peerCount, net_version
  • web3_* (2): web3_clientVersion, web3_sha3
  • trace_* (2): trace_block, trace_transaction
  • debug_* (4): debug_traceBlockByHash, debug_traceBlockByNumber, debug_traceCall, debug_traceTransaction
未列出的方法或路径会收到 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服务暂时不可用

Optimism RPC 方法和文档

有关标准方法、参数和规范的完整列表,请参阅官方文档。