摘要
IoTeX 是一个兼容 EVM 的 Layer 1 区块链,专注于 DePIN 和机器经济。要与 IoTeX 交互,你需要一个 RPC 端点——一个读取区块链数据和提交交易的网关。本文列出了 IoTeX 主网和测试网的官方及第三方 RPC 端点,包括链设置、示例代码以及选择可靠提供商的准则。
IoTeX 是一个兼容 EVM 的 Layer 1 区块链,专为 DePIN(去中心化物理基础设施网络)和机器经济优化。要在 IoTeX 上构建,你需要一个 RPC 端点,让你的钱包、dApp 或后端与链通信。本指南涵盖了你需要的一切:官方端点、链设置、示例连接以及选择正确 RPC 提供商的检查清单。
IoTeX RPC 决策检查清单
在设置 IoTeX 连接时使用此清单:
- 验证正确的链 ID(主网为 4689,测试网为 4690)
- 选择全节点(轻量、快速)或归档节点(支持历史状态查询)
- 通过测试调用评估提供商延迟和稳定性
- 如果 dApp 需要实时事件,确认 WebSocket 支持
- 了解速率限制——公共端点可能会限制高流量
- 决定使用公共共享 RPC 还是用于生产工作负载的专用或私有端点
- 检查测试网是否可用于开发和预发布
IoTeX 网络链设置
| 参数 | 值 |
|---|---|
| 链 ID | 4689 (0x1251) |
| 原生代币 | IOTX(18 位小数) |
| EVM 兼容性 | 完全兼容 |
| 区块浏览器 | iotexscan.io |
| 测试网链 ID | 4690 (0x1252) |
| 测试网浏览器 | testnet.iotexscan.io |
IoTeX RPC 端点
IoTeX 基金会和多个第三方提供商提供公共 RPC 端点。以下是主网和测试网的常见选项。
主网全节点端点
| 类型 | URL | 提供商 |
|---|---|---|
| HTTP | https://babel-api.mainnet.iotex.io | IoTeX 基金会 |
| WSS | wss://babel-api.mainnet.iotex.io/ws | IoTeX 基金会 |
| HTTP | https://babel-api.mainnet.iotex.one | IoTeX 基金会 |
| HTTP | https://iotex.api.onfinality.io/public | OnFinality |
| HTTP | https://rpc.ankr.com/iotex | Ankr |
| HTTP | https://4689.rpc.thirdweb.com | Thirdweb |
| HTTP | https://babel-api.fastblocks.io | FastBlocks |
主网归档节点端点
| 类型 | URL | 提供商 |
|---|---|---|
| HTTP | https://archive-mainnet.iotex.io | IoTeX 基金会 |
测试网端点
| 类型 | URL | 提供商 |
|---|---|---|
| HTTP | https://babel-api.testnet.iotex.io | IoTeX 基金会 |
| WSS | wss://babel-api.testnet.iotex.io/ws | IoTeX 基金会 |
| HTTP | https://babel-api.testnet.iotex.one | IoTeX 基金会 |
| HTTP(归档) | https://archive-testnet.iotex.io | IoTeX 基金会 |
如何连接到 IoTeX
使用 ethers.js(JavaScript)
import { ethers } from "ethers";
// 连接到 IoTeX 主网
const provider = new ethers.JsonRpcProvider("https://babel-api.mainnet.iotex.io");
// 获取链 ID 以验证连接
const network = await provider.getNetwork();
console.log(`Connected to chain ID: ${network.chainId}`); // 应为 4689n
// 获取当前区块号
const blockNumber = await provider.getBlockNumber();
console.log(`Current block: ${blockNumber}`);
// 查询地址余额
const balance = await provider.getBalance("0xYourIoTeXAddress");
console.log(`Balance: ${ethers.formatEther(balance)} IOTX`);
使用 curl
# 获取最新区块号
curl -X POST https://babel-api.mainnet.iotex.io \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
# 检查 ETH 余额(IOTX)
curl -X POST https://babel-api.mainnet.iotex.io \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xYourIoTeXAddress", "latest"],"id":1}'
将 IoTeX 添加到 MetaMask
打开 MetaMask → 网络 → 手动添加网络并填写:
- 网络名称: IoTeX 主网
- RPC URL: 任意全节点端点(例如
https://babel-api.mainnet.iotex.io) - 链 ID: 4689
- 符号: IOTX
- 浏览器 URL:
https://iotexscan.io
如何选择 IoTeX RPC 提供商
并非所有 RPC 端点都相同。根据项目需求,使用以下标准评估提供商。
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 延迟 | 一周内来自不同地理位置的响应时间 | 低延迟意味着更快的交易提交和数据获取 |
| 正常运行时间 | 提供商状态页面或社区报告 | 中断可能导致 dApp 故障——选择经过验证的可靠提供商 |
| 归档支持 | 提供商是否提供归档节点端点? | 对于需要历史状态的应用程序(如区块浏览器或分析工具)是必需的 |
| WebSocket | WSS 端点可用性 | 对于交易监控、事件订阅等实时功能至关重要 |
| 速率限制 | 每秒或每分钟的最大请求数 | 公共端点通常有限制;高流量 dApp 需要更高的限制或专用计划 |
| 地理分布 | CDN 或多区域端点 | 改善全球用户的速度并减少延迟峰值 |
| 定价 | 免费层 vs. 付费计划 | 对于生产环境,可能需要保证吞吐量的付费计划 |
公共 vs. 专用 RPC
- 公共 RPC:免费且易于启动,但由许多用户共享。速率限制和偶尔的拥塞可能影响可靠性。
- 专用 RPC:具有预留容量、稳定性能且通常可访问归档或追踪 API 的私有端点。适用于生产级 dApp。
OnFinality 为需要可预测性能和支持的团队提供专用 IoTeX 节点。访问 IoTeX 网络页面 了解详情。
设置本地 IoTeX RPC 节点
如果你更喜欢完全控制,可以运行自己的 IoTeX 全节点。IoTeX 文档提供了基于 Docker 部署的 引导指南。你需要下载快照(包括用于 RPC 查询的数据库索引)并暴露端口 15014 用于以太坊 JSON-RPC 网关。这种方法提供无限的请求,但需要持续的基础设施维护。
常见 IoTeX RPC 问题排查
- 连接超时:确保你的防火墙允许出站流量到 RPC 端点。如果某个端点较慢,尝试其他提供商。
- 速率受限:如果收到 HTTP 429 错误,降低请求频率或切换到限制更高的提供商。
- 错误的链 ID:验证链 ID 为 4689(主网)或 4690(测试网)。使用错误的 ID 可能导致交易被拒绝。
- 缺少归档数据:对于历史查询,使用归档端点。全节点仅保留近期状态。
关键要点
- IoTeX 使用兼容 EVM 的 RPC——你可以重用标准的以太坊开发工具。
- 官方端点免费但可能有速率限制;对于生产环境,根据延迟、归档支持、WebSocket 和定价评估提供商。
- OnFinality 提供公共 IoTeX RPC 和具有一致性能和支持的专用节点。
- 在集成前始终验证链 ID(4689)并使用简单的
eth_blockNumber调用进行测试。
有关支持的网络和基础设施选项的完整列表,请访问 OnFinality 网络。
常见问题
IoTeX 主网的 RPC URL 是什么?
官方端点是 https://babel-api.mainnet.iotex.io。上表中列出了备选端点。
IoTeX 的链 ID 是多少?
主网链 ID 是 4689(0x1251)。测试网是 4690。
如何获取测试网 IOTX?
使用 IoTeX 测试网水龙头。查看 IoTeX Discord 或官方文档获取当前水龙头链接。
我可以将 IoTeX 与标准以太坊工具一起使用吗?
是的,IoTeX 完全兼容 EVM,因此你可以使用 MetaMask、ethers.js、Hardhat 和其他以太坊工具,无需修改。
OnFinality 支持 IoTeX 吗?
是的,OnFinality 提供公共和专用的 IoTeX RPC 端点,基础设施可靠。请参阅 IoTeX 网络页面 了解详情,定价页面 了解计划选项。