摘要
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](https://discord.iotex.io) 或官方文档获取当前水龙头链接。
我可以将 IoTeX 与标准以太坊工具一起使用吗?
是的,IoTeX 完全兼容 EVM,因此你可以使用 MetaMask、ethers.js、Hardhat 和其他以太坊工具,无需修改。
OnFinality 支持 IoTeX 吗?
是的,OnFinality 提供公共和专用的 IoTeX RPC 端点,基础设施可靠。请参阅 [IoTeX 网络页面](/networks/iotex) 了解详情,[定价页面](/pricing/rpc) 了解计划选项。