通过 Edge RPC 调用 Solana 及其他链

Edge RPC 在 edge.erpc.global 接收发往 16 条链的请求。主机后面的路径决定目标链:Solana 位于根路径,Ethereum 位于 /eth,Polygon 位于 /polygon。
bash
curl https://edge.erpc.global/eth?api-key=<YOUR_RPC_KEY> \
  --header 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber"}'

使用 Edge RPC 可以做什么

  • 对 Solana 使用 edge.erpc.global 的根路径,对其他每条链使用对应的路径,例如 /base、/sui 或 /tron。
  • 在除 Sui 以外的所有链上,以 HTTP POST 发送 JSON-RPC。Sui 接受 unary gRPC-web 调用,每个请求对应一次调用;TRON 还在 /tron/wallet 和 /tron/walletsolidity 下接受其 HTTP API 调用。
  • 在 Solana、Ethereum、Avalanche 或 Base 上建立 WebSocket 连接。其他链则通过 HTTP 接收请求。
  • 将客户端连接到某条链自己的主机。除 Solana 外,每条链也在自己的主机上接收请求,例如 Ethereum 的 eth.erpc.global 和 Polygon 的 polygon.erpc.global。

发送请求

您需要一个 ERPC 账户和一个 RPC 密钥。请在 ERPC Web Dashboard 的 RPC 密钥标签页中复制密钥。使用 Free 方案时,在仪表盘中支付 €5 的一次性验证费后,请求即可开始处理。
向链的路径发送 JSON-RPC 请求,并通过 api-key 查询参数传递 RPC 密钥。以下请求向 Ethereum 查询最新区块号:
bash
curl https://edge.erpc.global/eth?api-key=<YOUR_RPC_KEY> \
  --header 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber"}'
结果是十六进制的区块号:
json
{ "jsonrpc": "2.0", "id": 1, "result": "0x..." }
要调用其他链,请使用该链的路径。以下示例将同一请求发送到 Polygon:
bash
curl https://edge.erpc.global/polygon?api-key=<YOUR_RPC_KEY> \
  --header 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber"}'
Solana 位于主机的根路径,因此请求无需附加路径。以下请求查询当前区块高度:
bash
curl https://edge.erpc.global?api-key=<YOUR_RPC_KEY> \
  --header 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"getBlockHeight"}'
各链的快速开始页面(见下表中的链接)介绍了适合该链的请求。

Edge RPC 如何处理请求

edge.erpc.global 读取路径,并将请求交给该链的服务。服务会检查您的 RPC 密钥和方案,将请求发送到链上,并返回链的响应。

身份验证

在所有链上使用同一个 RPC 密钥,由路径选择链。
  • 通过 api-key 查询参数传递密钥。所有链都会读取该参数,WebSocket 连接也通过这种方式接收密钥。
  • 对于 HTTP 请求,也可以改为发送 Authorization: Bearer <YOUR_RPC_KEY>。Base 请使用查询参数。
bash
curl https://edge.erpc.global/eth \
  --header 'Authorization: Bearer <YOUR_RPC_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber"}'

支持的链

链edge.erpc.global 上的路径协议WebSocketBearer 请求头快速开始
Solana/JSON-RPC支持支持Solana
Ethereum/ethJSON-RPC支持支持Ethereum
Avalanche/avaJSON-RPC支持支持Avalanche
Arbitrum/arbitrumJSON-RPC不支持支持Arbitrum
Base/baseJSON-RPC支持不支持Base
Bitcoin/bitcoinJSON-RPC不支持支持Bitcoin
Hyperliquid/hyperliquidJSON-RPC不支持支持Hyperliquid
Kaia/kaiaJSON-RPC不支持支持Kaia
Monad/monadJSON-RPC不支持支持Monad
NEAR/nearJSON-RPC不支持支持NEAR
Optimism/optimismJSON-RPC不支持支持Optimism
Polygon/polygonJSON-RPC不支持支持Polygon
Robinhood Chain/robinhoodJSON-RPC不支持支持Robinhood Chain
Soneium/soneiumJSON-RPC不支持支持Soneium
Sui/suigRPC-web不支持支持Sui
TRON/tronJSON-RPC 和 HTTP API不支持支持TRON
除 Solana 外,每条链都有一个端点页面,涵盖其端点、支持的方法、批量请求和响应状态码。

价格

用量以 token 计量,批量请求中的每次调用都会单独计量。方案详情请参阅 RPC 和 价格。

进一步了解 Edge RPC

  • API 参考:Solana RPC 方法,每个方法都可直接使用 Live try-it-out。
  • Unlimited:Unlimited Endpoint 及其支持的方法。
  • SWQoS:通过质押加权服务质量发送 Solana 交易。
  • Solana RPC 常见问题:关于 token 消耗、401 和 429 错误、WebSocket 以及区域的解答。