RPC 端点#
Note
主网和测试网均对每个 IP 地址限速 100 次请求/秒。
主网(chain-id: 0xC4,十进制 196)#
RPC:
- ChainID: 196
- https://rpc.xlayer.tech
- https://xlayerrpc.okx.com
测试网(chain-id: 0x7A0,十进制 1952)#
RPC:
基础设施提供商#
公共 RPC 可能存在速率限制或流量限制。如需专用的免费 RPC URL,可考虑以下服务商:
前置阅读#
在开始使用 X Layer 的 RPC 端点之前,建议先阅读以下相关文章:
启动 HTTP JSON-RPC#
推荐使用 curl 方式启动 HTTP JSON-RPC:
shell
# 主网
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' -H "Content-Type: application/json" https://rpc.xlayer.tech
# 测试网
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' -H "Content-Type: application/json" https://testrpc.xlayer.tech/terigon
JSON-RPC 方法#
1. 以太坊兼容 RPC#
以下列出了所有已支持的 JSON-RPC 端点,以及它们与以太坊节点默认行为的差异。 如果某个端点不在下方列表中,说明该端点暂不支持。 更多详情请参阅 Ethereum 的 JSON-RPC 文档。
| 方法 | 命名空间 | 说明 |
|---|---|---|
| web3_clientVersion | Web3 | 获取 Web3 客户端版本 |
| web3_sha3 | Web3 | 返回给定数据的 keccak-256 值(非标准化的 SHA3-256) |
| net_version | Net | 返回当前网络 ID |
| eth_protocolVersion | ETH | 响应始终为 'zero' |
| eth_syncing | ETH | 返回同步状态对象,或 false |
| eth_gasPrice | ETH | 返回当前以 OKB 计价的 Gas 价格 |
| eth_blockNumber | ETH | 返回当前区块高度 |
| eth_chainId | ETH | 以十六进制格式返回链标识符 |
| eth_getBalance | ETH | 返回指定账户地址和区块号的账户余额 |
| eth_getStorageAt | ETH | 返回指定账户地址的存储地址 |
| eth_getTransactionCount | ETH | 返回指定账户地址和区块号的总交易数 |
| eth_getBlockTransactionCountByNumber | ETH | 返回指定区块号的总交易数 |
| eth_getBlockTransactionCountByHash | ETH | 返回指定区块哈希的总交易数 |
| eth_getCode | ETH | 返回指定账户地址和区块号的合约代码 |
| eth_sign | ETH | 计算以太坊特定签名 |
| eth_sendTransaction | ETH | 从指定账户向目标账户发送交易 |
| eth_sendRawTransaction | ETH | 为已签名交易创建新的消息调用或合约部署 |
| eth_call | ETH | 立即执行新的消息调用,不在链上创建交易 |
| eth_estimateGas | ETH | 返回发送交易所需 Gas 的估算值 |
| eth_getBlockByNumber | ETH | 根据区块号返回区块信息 |
| eth_getBlockByHash | ETH | 根据区块哈希及布尔值返回区块信息 |
| eth_getTransactionByHash | ETH | 根据交易哈希返回交易详情 |
| eth_getTransactionByBlockHashAndIndex | ETH | 根据区块哈希和交易索引返回交易详情 |
| eth_getTransactionReceipt | ETH | 根据交易哈希返回交易回执 |
| eth_newFilter | ETH | 使用指定主题创建新过滤器 |
| eth_newBlockFilter | ETH | 在节点中创建过滤器,新区块到达时通知 |
| eth_uninstallFilter | ETH | 删除指定过滤器 ID 的过滤器 |
| eth_getFilterChanges | ETH | 过滤器的轮询方法,返回自上次轮询以来发生的日志数组 |
| eth_getLogs | ETH | 返回匹配给定过滤对象的所有日志数组 |
| eth_getFilterLogs | ETH | 返回匹配指定 ID 过滤器的所有日志数组 |
| eth_getTransactionbyBlockNumberAndIndex | ETH | 根据区块高度和区块索引返回交易详情 |
| eth_getCompilers | ETH | 响应始终为空 |
| eth_getUncleCountByBlockHash | ETH | 响应始终为空 |
| eth_getUncleCountByBlockNumber | ETH | 响应始终为空 |
| eth_getUncleByBlockHashAndIndex | ETH | 响应始终为空 |
| eth_getUncleByBlockNumberAndIndex | ETH | 响应始终为空 |
| eth_subscribe | WebSocket | 使用 JSON-RPC 通知进行订阅 |
| eth_unsubscribe | WebSocket | 使用订阅 ID 取消订阅事件 |
| debug_traceBlockByHash | Debug | 使用追踪器执行指定区块哈希内的所有交易,返回可能的追踪结果数量 |
| debug_traceBlockByNumber | Debug | 使用追踪器执行指定区块号内的所有交易,返回追踪结果(需开启 trace 模式) |
| debug_traceTransaction | Debug | 返回指定交易的所有追踪信息 |
| txpool_content | Txpool | 响应始终为空 |
