JSON-RPC 概览
OXN 暴露标准的以太坊兼容 JSON-RPC API。所有讲以太坊 JSON-RPC 的 SDK、钱包、工具都可以只改端点 URL 就与 OXN 对话。
端点
| 协议 | URL |
|---|---|
| HTTPS | https://rpc.bout.network |
WebSocket 端点用于订阅,见 WebSocket 订阅。
认证
公共端点不需要认证。请求按源 IP 限流——见限流。
请求格式
标准 JSON-RPC 2.0,HTTP POST:
curl -X POST https://rpc.bout.network \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": [],
"id": 1
}'
响应:
{
"jsonrpc": "2.0",
"result": "0xba",
"id": 1
}
错误码
遵循标准 JSON-RPC 错误语义:
| 码值 | 含义 |
|---|---|
-32700 | 解析错误(畸形 JSON) |
-32600 | 无效请求 |
-32601 | 方法未找到 |
-32602 | 无效参数 |
-32603 | 内部错误 |
-32000 | (保留给服务器错误) |
3 | 执行 revert(以太坊约定) |
错误响应示例:
{
"jsonrpc": "2.0",
"error": { "code": 3, "message": "execution reverted: not authorized" },
"id": 1
}
Batch 请求
多个请求可以作为 JSON 数组在单次 HTTP POST 里发送:
[
{ "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1 },
{ "jsonrpc": "2.0", "method": "eth_gasPrice", "params": [], "id": 2 }
]
响应是同序数组。Batch 大小有限——公共端点可能拒绝超过一定数量的 batch。经验值:单批 25 条以内。
方法分类
eth_*——标准以太坊方法:账户、区块、交易、调用。完整列表:以太坊兼容方法。net_*——网络识别(net_version、net_listening)。web3_*——客户端识别(web3_clientVersion)。debug_*——trace 与诊断方法,部分支持。- OXN 专属方法——机密调用构造扩展。见 OXN 专属方法。
通过 ethers.js / viem
你不必自己构造原始 JSON-RPC。每个 SDK 都会处理:
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://rpc.bout.network");
const chainId = (await provider.getNetwork()).chainId; // 186n
const gasPrice = (await provider.getFeeData()).gasPrice;
加密调用把 provider wrap——见 TypeScript SDK。