Bitcoin RPC 端点文档 - ERPC

Bitcoin RPC 端点文档

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

示例

以下是在查询参数中携带 API key 的 HTTP 请求示例。
bash
curl 'https://edge.erpc.global/bitcoin?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{
  "jsonrpc":"1.0","id":1,
  "method":"getblockcount",
  "params":[]
}'
以下是在 Authorization 请求头中携带 API key 的同一请求。
bash
curl 'https://edge.erpc.global/bitcoin' --header 'Content-Type: application/json' --header 'Authorization: Bearer <YOUR_API_KEY>' --data '{
  "jsonrpc":"1.0","id":1,
  "method":"getblockcount",
  "params":[]
}'
Bitcoin 接受将 jsonrpc 设为 1.0 或 2.0,也可以省略,且每次调用都需要 id。
您可以在 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 错误。请改为逐个发送这些调用。

支持的方法

该端点提供以下 32 个 Bitcoin Core JSON-RPC 方法。
decoderawtransaction, decodescript, estimatesmartfee, getbestblockhash, getblock, getblockchaininfo, getblockcount, getblockfilter, getblockhash, getblockheader, getblockstats, getchaintips, getchaintxstats, getconnectioncount, getdifficulty, getmempoolancestors, getmempooldescendants, getmempoolinfo, getmininginfo, getnetworkinfo, getrawmempool, getrawtransaction, gettransaction, gettxout, gettxoutproof, gettxoutsetinfo, sendrawtransaction, testmempoolaccept, validateaddress, verifychain, verifymessage, verifytxoutproof
未列出的方法会收到 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服务暂时不可用

Bitcoin RPC 方法和文档

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