摘要
Unichain 是基于 OP Stack 构建的以太坊 L2,其 RPC API 遵循标准的以太坊 JSON-RPC。主网链 ID 为 130,网络使用 ETH 作为原生货币。您可以先使用公共端点(如 https://unichain.api.onfinality.io/public)进行测试,然后为生产环境迁移到托管 RPC API。
在集成 Unichain 之前,请验证所选提供商的 WebSocket 支持、归档数据和速率限制。OnFinality 提供公共 Unichain RPC 访问、托管 API 计划和专用节点选项。请查看支持的网络和定价页面以获取最新详情。
Unichain RPC 决策清单
在将钱包、索引器或 dApp 指向 Unichain 之前,请确认以下细节:
- 链 ID:主网为 130(
0x82)。测试网 ID 不同,应以 Uniswap 文档或 Chainlist 为准。 - 端点类型:公共端点适合原型开发;生产应用需要托管或专用 RPC 端点。
- WebSocket 支持:如果您需要
eth_subscribe来订阅待处理交易或日志,请确认提供商提供wss://URL。 - 归档数据:历史状态查询需要支持归档的节点。检查提供商是否提供归档访问。
- 速率限制:公共端点可能限制每秒请求数。上线前请查看提供商的使用政策。
- Gas 代币和浏览器:ETH 是 Gas 代币。使用官方浏览器或 Blockscout 进行验证。
清单完成后,请记住这个参考:eth_chainId 在 Unichain 主网上应返回 0x82。
什么是 Unichain?
Unichain 是由 Uniswap Labs 基于 OP Stack 构建的以太坊 Layer 2 汇总。它专为 DeFi 工作负载设计,具有快速区块、较低交易成本和更便捷的跨链流动性访问。由于它是 Superchain 的一部分,它与其他 OP Stack 链共享相同的广泛安全模型,并可以随时间推移与它们互操作。
对于 RPC 消费者来说,最相关的细节是 Unichain 与 EVM 兼容。它暴露与以太坊、Optimism 和 Base 相同的 JSON-RPC 接口。在以太坊上运行的合约在 Unichain 上将以相同方式运行,但受限于汇总自身的费用市场和区块生产。网络使用 ETH 作为原生货币,因此钱包配置很简单:链 ID 130,符号 ETH,以及一个浏览器 URL。
Unichain 的技术亮点包括 1 秒的区块时间,并通过 Flashblocks 提供某些预确认机制。这使其非常适合对延迟敏感的应用,如聚合器、套利机器人和 DEX 界面。权衡是这些工作负载也需要一个能够跟上频繁轮询和 WebSocket 订阅的 RPC 提供商。
Unichain 链设置
在钱包、子图或 dApp 中添加 Unichain 时,请使用以下值。
| 设置 | 主网值 |
|---|---|
| 网络名称 | Unichain |
| 链 ID | 130 (0x82) |
| 货币符号 | ETH |
| 区块时间 | 1 秒 |
| 区块 Gas 限制 | 60,000,000 |
| 官方浏览器 | https://uniscan.xyz |
| Blockscout 浏览器 | https://unichain.blockscout.com |
| 官方 RPC | https://mainnet.unichain.org |
| OnFinality 公共 RPC | https://unichain.api.onfinality.io/public |
| 公共 WebSocket 示例 | wss://unichain-rpc.publicnode.com |
十六进制链 ID 在配置期望十六进制值的网络时很有用。通过调用 eth_chainId 并检查结果是否为 0x82 来验证网络。
对于测试网部署,请使用 Uniswap 开发者文档查找当前的 Sepolia 链 ID、RPC URL 以及任何测试代币详情。测试网设置可能在开发过程中更改,因此不要未经检查就硬编码。
公共和托管 Unichain RPC 端点
您可以在几分钟内使用公共 RPC 端点开始调用 Unichain。这些 URL 由不同提供商维护,适用于测试:
- https://unichain.api.onfinality.io/public — OnFinality 的公共 Unichain 端点
- https://mainnet.unichain.org — 官方 Unichain 公共端点
- https://unichain-rpc.publicnode.com — PublicNode HTTP 端点
- wss://unichain-rpc.publicnode.com — PublicNode WebSocket 端点
- https://unichain.drpc.org — dRPC HTTP 端点
公共端点由许多用户共享。它们是验证脚本或运行黑客松演示的快速方式,但不是生产服务的可靠基础。使用限制、请求延迟和数据可用性可能会有所不同。
托管 RPC API 为您提供专用 API 密钥、可配置限制和一致的支持路径。OnFinality 的 API 服务 提供 Unichain RPC 访问以及许多其他网络。如果您的工作负载需要隔离容量,专用节点 为您提供自己的实例,而不是共享端点。
在承诺使用提供商之前,请查看 支持的 RPC 网络 页面,了解当前为 Unichain 启用了哪些功能,例如 WebSocket、归档数据和 trace 方法。
进行您的第一次 Unichain RPC 调用
从 eth_chainId 开始,确认端点指向 Unichain。
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' https://unichain.api.onfinality.io/public
响应应为:
{"jsonrpc":"2.0","id":1,"result":"0x82"}
接下来,获取最新区块号:
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":2}' https://unichain.api.onfinality.io/public
结果是十六进制编码的区块号。您还可以使用 eth_getBalance 读取账户余额:
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x0000000000000000000000000000000000000000","latest"],"id":3}' https://unichain.api.onfinality.io/public
对于大型应用,使用像 viem 这样的 JavaScript 库来保持代码可读性:
import { createPublicClient, http } from 'viem'
const client = createPublicClient({
transport: http('https://unichain.api.onfinality.io/public')
})
const chainId = await client.getChainId()
const blockNumber = await client.getBlockNumber()
console.log({ chainId, blockNumber })
这些调用适用于任何与以太坊兼容的工具。相同的模式适用于 eth_call、eth_sendRawTransaction 和 eth_getLogs。
选择 Unichain RPC 提供商时要检查的事项
单个 RPC URL 并不是完整的基础设施决策。下表为比较提供商提供了一个起点。
| 标准 | 要检查的内容 | 为什么重要 |
|---|---|---|
| 端点类型 | 公共、托管或专用 | 公共端点适合原型开发;生产工作负载通常需要托管 API 或专用节点 |
| WebSocket 支持 | 提供商是否提供 wss://? | 实时数据(如待处理交易和日志)需要 WebSocket 订阅 |
| 归档状态 | 是否保留历史区块和状态? | 回测、分析和审计工具依赖归档访问 |
| 速率限制 | 每秒请求数和每日计算限制 | 共享端点可能在高峰使用期间限制流量 |
| 数据保留 | 日志数据可追溯多远? | 索引器需要一致的历史数据窗口 |
| 支持渠道 | 文档、状态页面和技术支持 | 停机解决速度影响用户体验 |
| 定价模型 | 计算单位、月度计划或按请求计费 | 当流量扩展时,成本可能变得不可预测 |
OnFinality 的 RPC 定价 列出了当前计划,支持的 RPC 网络 页面显示了 Unichain 的功能集。如果您正在评估多个提供商,请在每个端点上运行上述相同的 JSON-RPC 调用,并比较延迟、错误率和响应形状。
常见的 Unichain RPC 陷阱和故障排除
钱包显示错误的网络
检查您的钱包配置是否使用链 ID 130。调用 eth_chainId 应返回 0x82。大多数钱包错误来自混淆测试网和主网链 ID。
请求随机失败
共享公共端点可能在达到速率限制时拒绝请求。使用退避重试,或在上线前切换到托管 RPC API。
WebSocket 连接断开
如果您使用 eth_subscribe,请确保提供商支持 WebSocket,并且您正在使用退避策略重新连接。不要尝试将 HTTPS RPC URL 用于 WebSocket 订阅。
交易卡住或被丢弃
在 L2 网络上,费用估算可能与以太坊不同。在发送交易前使用 eth_estimateGas,并通过 WebSocket 订阅监控网络状况。
Nonce 错误
并行提交交易时,使用本地交易管理器并在每次确认后更新 nonce。常见错误包括“nonce too low”和“replacement transaction underpriced”。
历史数据缺失
如果您的查询对较旧区块返回空结果,节点可能不保留归档数据。当您需要历史状态时,选择支持归档的提供商。
应用中的区块浏览器不正确
Unichain 有多个浏览器,包括 Uniscan 和 Blockscout。在您的 UI 链接中使用正确的浏览器 URL,以便用户访问正确的交易。
关键要点
- Unichain 是一个 OP Stack 以太坊 L2,支持标准以太坊 JSON-RPC。
- 主网链 ID 为 130(
0x82),原生货币为 ETH。 - 使用公共 RPC 端点进行快速测试,但计划为生产环境迁移到托管 API。
- 在承诺之前验证 WebSocket 支持、归档数据、速率限制和提供商定价。
- OnFinality 提供公共 Unichain RPC 端点、托管 RPC API 访问和专用节点选项;请参阅 RPC 定价 和 支持的 RPC 网络 获取当前详情。
常见问题解答
Unichain 是否支持以太坊 JSON-RPC?
是的。Unichain 支持与以太坊相同的核心 JSON-RPC 方法,包括 eth_call、eth_getBalance、eth_getLogs 和 eth_sendRawTransaction。OP Stack 汇总方法也可用。
Unichain 主网的 RPC URL 是什么?
有几个公共选项。一个是 https://unichain.api.onfinality.io/public,另一个是 https://mainnet.unichain.org。对于生产工作负载,请使用托管 RPC API 或专用节点。
Unichain 的链 ID 是什么?
Unichain 主网使用链 ID 130。十六进制为 0x82。测试网设置不同,请在 Uniswap 开发者文档中确认。
我可以使用 viem 或 ethers.js 调用 Unichain 吗?
可以。这两个库都支持 Unichain,因为它与 EVM 兼容。使用任何 Unichain RPC URL 获取提供商,并开始调用标准方法。
使用 Unichain RPC 需要 API 密钥吗?
公共 OnFinality 端点接受匿名请求。托管 API 产品需要密钥并提供更高的限制。请参阅 RPC 定价 获取当前选项。
如何获取 Unichain 测试网 ETH?
水龙头和测试代币分发随时间变化。请查看官方 Unichain 开发者文档以获取当前测试网水龙头,或在 Uniswap 开发者社区中询问。