摘要
本文介绍了不同类型的 Arbitrum RPC 端点——公共、托管和专用——以及如何为你的应用选择合适的端点。内容涵盖链设置、常见用例,以及如何根据可靠性、可扩展性和支持来评估提供商。
当你搜索“Arbitrum RPC 列表”时,你可能正在寻找一个可靠的端点,以便将你的 dApp、钱包或机器人连接到 Arbitrum One。正确的 RPC 可能意味着流畅的交易和令人沮丧的超时之间的区别。本指南将介绍可用的 RPC 类型、如何选择以及如何配置。
快速推荐:你应该使用哪个 Arbitrum RPC?
对于生产环境的应用,托管或专用的 RPC 提供商几乎总是比公共端点更合适。公共 RPC 适用于测试和轻度使用,但它们通常有速率限制,并且在负载下可能不可靠。如果你正在构建一个严肃的 dApp,你需要一致的性能和支持。
- 用于开发和测试: 使用公共 Arbitrum RPC 或提供商的免费层。
- 用于生产 dApp: 选择提供可扩展性、监控和支持的托管 RPC 提供商。
- 用于高吞吐量或数据密集型应用: 考虑使用专用节点以避免共享资源争用。
OnFinality 提供专为生产工作负载设计的托管和专用 Arbitrum RPC 端点。你可以在 Arbitrum 网络页面 上了解更多详情。
理解 Arbitrum RPC 端点
Arbitrum 是一个使用乐观汇总的以太坊 Layer 2 扩展解决方案。要与 Arbitrum 交互,你的应用会像在以太坊上一样向 RPC 端点发送 JSON-RPC 请求。主网络是 Arbitrum One,链 ID 为 42161。还有一个测试网 Arbitrum Sepolia,链 ID 为 421614。
以下是 Arbitrum One 的关键链设置:
| 设置 | 值 |
|---|---|
| 网络名称 | Arbitrum One |
| 链 ID | 42161 |
| 原生货币 | ETH (Ether) |
| 区块浏览器 | Arbiscan |
| RPC URL(公共) | https://arbitrum.api.onfinality.io/public |
对于 Arbitrum Sepolia:
| 设置 | 值 |
|---|---|
| 网络名称 | Arbitrum Sepolia |
| 链 ID | 421614 |
| 原生货币 | Sepolia ETH |
| 区块浏览器 | Sepolia Arbiscan |
| RPC URL(公共) | https://arbitrum-sepolia.api.onfinality.io/public |
这些公共端点是开发的良好起点。但是,它们是共享的,并且可能有速率限制。对于生产环境,你需要一个私有端点。
Arbitrum RPC 提供商的类型
当你查找 Arbitrum RPC 列表时,你会遇到三种主要类型的提供商:
- 公共 RPC: 由社区或项目提供的免费、开放的端点。它们通常有速率限制,不适合生产环境。
- 托管 RPC 提供商: 像 OnFinality 这样的服务,提供可靠、可扩展的 RPC 端点,并带有 API 密钥、监控和支持。它们通常有免费层和付费计划。
- 专用节点: 你获得一个专用的节点实例,完全控制资源,没有共享。这对于高流量应用来说是理想的。
公共 RPC
公共 RPC 对于快速测试和原型很方便。但是,它们可能很慢、不可靠,并且可能阻止某些请求。不建议用于生产应用。
托管 RPC 提供商
托管提供商为你处理基础设施。它们提供负载均衡、故障转移和多个端点以确保高可用性。例如,OnFinality 提供全球节点网络和简单的 API 密钥系统。
专用节点
使用专用节点,你获得一个单租户实例。这意味着没有嘈杂的邻居和一致的性能。对于具有大量使用或特定要求(如存档数据)的应用,这是最佳选择。
如何选择 Arbitrum RPC 提供商
选择合适的提供商取决于你的需求。以下是需要评估的关键因素:
- 可靠性: 寻找具有正常运行时间和低延迟记录的服务提供商。
- 可扩展性: 提供商能否处理流量高峰?
- 支持: 他们是否提供响应迅速的客户支持?
- 功能: 他们是否支持 WebSocket 连接、存档数据或 trace 方法?
- 定价: 比较计划,看看它们是否符合你的预算。
OnFinality 提供一系列计划,包括免费层,你可以在 RPC 定价 页面上查看详情。我们还支持广泛的网络,如我们的 支持的网络 页面所示。
设置你的 Arbitrum RPC 连接
选择端点后,你需要配置你的应用。以下是使用 JavaScript 中 ethers.js 的示例:
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://arbitrum.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block number:", blockNumber);
}
getBlockNumber();
如果你使用托管提供商,你通常会获得一个 API 密钥,并使用类似 https://arbitrum.api.onfinality.io/v1/your-api-key 的 URL。
对于钱包,你可以将 Arbitrum One 添加为自定义网络:
{
"chainId": "0xA4B1",
"chainName": "Arbitrum One",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"rpcUrls": ["https://arbitrum.api.onfinality.io/public"],
"blockExplorerUrls": ["https://arbiscan.io"]
}
请注意,链 ID 0xA4B1 是 42161 的十六进制表示。
Arbitrum RPC 的常见用例
Arbitrum RPC 用于各种目的:
- DeFi 应用: 与智能合约交互、读取余额和发送交易。
- NFT 市场: 获取代币元数据和交易历史。
- 分析工具: 索引区块链数据。
- 机器人和自动化: 监控事件和执行交易。
每个用例都有不同的要求。例如,交易机器人需要低延迟,而分析平台可能需要存档数据。
解决常见的 RPC 问题
即使有好的提供商,你也可能会遇到问题。以下是常见问题和解决方案:
- 速率限制: 如果你遇到速率限制,请考虑升级你的计划或使用专用节点。
- 连接超时: 这可能是由于网络问题或端点过载。尝试不同的端点或增加超时设置。
- 错误的链 ID: 确保你的应用使用正确的链 ID(Arbitrum One 为
42161)。 - WebSocket 断开: 如果你使用 WebSocket,请实现重新连接逻辑。
有关更详细的故障排除,你可以参考我们的 RPC 故障排除 指南(尽管那更多是关于提供商选择,但原则适用)。
关键要点
- Arbitrum One 的链 ID 为
42161,并使用 ETH 作为其原生货币。 - 公共 RPC 适用于开发,但生产应用应使用托管或专用 RPC。
- 选择提供商时,请考虑可靠性、可扩展性、支持和定价。
- OnFinality 提供托管和专用 Arbitrum RPC 端点,并带有免费层。
- 始终在你的应用中使用正确的链 ID 和网络设置。
常见问题解答
什么是官方的 Arbitrum RPC 端点?
没有单一的官方端点,但 Arbitrum 团队提供公共 RPC。OnFinality 也提供公共端点,位于 https://arbitrum.api.onfinality.io/public。
Arbitrum One 和 Arbitrum Nova 有什么区别?
Arbitrum One 是用于一般 DeFi 和 dApp 的主要 rollup,而 Arbitrum Nova 针对游戏和社交应用进行了优化。本文重点介绍 Arbitrum One。
我可以将同一个 RPC 用于 Arbitrum Sepolia 吗?
不可以,你需要一个单独的测试网端点。OnFinality 为 Arbitrum Sepolia 提供公共端点,位于 https://arbitrum-sepolia.api.onfinality.io/public。
如何获得私有的 Arbitrum RPC?
你可以注册像 OnFinality 这样的托管 RPC 提供商,并获得带有 API 密钥的私有端点。请访问我们的 定价页面 了解更多详情。
Arbitrum 的链 ID 是什么?
Arbitrum One 的链 ID 是 42161。对于 Arbitrum Sepolia,它是 421614。
OnFinality 是否支持 Arbitrum 的 WebSocket?
是的,OnFinality 支持 Arbitrum 的 WebSocket 连接。你可以在创建 API 密钥后在仪表板中找到 WebSocket URL。
如何监控我的 Arbitrum RPC 使用情况?
大多数托管提供商提供使用分析。OnFinality 提供一个仪表板,你可以在其中监控你的请求和使用情况。
什么是存档节点,我需要一个吗?
存档节点存储区块链的完整历史状态。如果你的应用需要查询任何时间点的历史数据,你将需要存档节点。OnFinality 为 Arbitrum 提供存档节点选项。
我可以将免费 RPC 用于生产环境吗?
不建议。免费 RPC 通常有速率限制,并且没有正常运行时间保证。对于生产环境,请投资于可靠的提供商。
如何从公共 RPC 切换到托管 RPC?
只需更新应用配置中的 RPC URL。如果你使用像 ethers.js 这样的库,只需更改提供商 URL。切换后请务必彻底测试。