Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

什么是 Arbitrum RPC 端点,如何使用它?

摘要

Arbitrum RPC 端点允许钱包和 dApp 在 Arbitrum One、Arbitrum Nova 和 Arbitrum Sepolia 上读写数据。本指南涵盖官方公共端点、链设置、如何使用 curl 或 ethers 连接,以及如何为生产环境选择可靠的提供商。

快速参考:Arbitrum RPC 端点和链设置

如果你只需要端点和链详细信息来配置钱包或开始编码,这里是简略版本。官方公共 RPC 端点有速率限制且不支持 WebSocket,因此适合原型开发,但不适合生产流量。

网络RPC URL链 ID浏览器
Arbitrum Onehttps://arb1.arbitrum.io/rpc42161Arbiscan
Arbitrum Novahttps://nova.arbitrum.io/rpc42170Nova Explorer
Arbitrum Sepolia (测试网)https://sepolia-rollup.arbitrum.io/rpc421614Sepolia Arbiscan

对于生产应用,你通常会使用托管 RPC 提供商,它们提供更高的速率限制、WebSocket 支持和归档数据。OnFinality 提供 Arbitrum 的 RPC 端点 以及其他网络,并提供随使用量扩展的 定价。

如何使用 curl 连接 Arbitrum

Arbitrum 兼容 EVM,因此你可以使用标准的 JSON-RPC 方法。以下是一个快速的 curl 示例,用于获取最新区块号:

curl https://arb1.arbitrum.io/rpc \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

你应该会得到类似以下的响应:

{"jsonrpc":"2.0","id":1,"result":"0x1d4c4b"}

结果是一个十六进制编码的区块号。将其转换为十进制即可得到当前区块高度。

使用 ethers.js 或 viem 与 Arbitrum 交互

大多数开发者使用 ethers.js 或 viem 等库。以下是使用 ethers v6 的示例:

import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider("https://arb1.arbitrum.io/rpc");
const blockNumber = await provider.getBlockNumber();
console.log(blockNumber);

使用 viem,你可以创建公共客户端:

import { createPublicClient, http } from "viem";
import { arbitrum } from "viem/chains";

const client = createPublicClient({
  chain: arbitrum,
  transport: http("https://arb1.arbitrum.io/rpc"),
});

const blockNumber = await client.getBlockNumber();
console.log(blockNumber);

将 Arbitrum 添加到 MetaMask 或其他钱包

如果你想手动将 Arbitrum One 添加到 MetaMask,请使用以下设置:

  • 网络名称:Arbitrum One
  • 新的 RPC URL:https://arb1.arbitrum.io/rpc
  • 链 ID:42161
  • 货币符号:ETH
  • 区块浏览器 URL:https://arbiscan.io

对于 Arbitrum Nova,使用链 ID 42170 和浏览器 https://nova.arbiscan.io。对于 Arbitrum Sepolia,使用链 ID 421614 和浏览器 https://sepolia.arbiscan.io。

官方公共端点与托管提供商

官方公共 RPC 端点由 Arbitrum 团队运营,免费使用。然而,它们存在限制:

  • 不支持 WebSocket:公共端点不支持 wss:// 连接。如果你的 dApp 需要实时更新,你需要一个提供 WebSocket 的提供商。
  • 速率限制:公共端点是共享的,在高负载下可能会被限制。
  • 无归档数据:它们仅提供最近的状态。如果你需要历史状态,你需要一个归档节点。
  • 排序器端点:排序器端点 (https://arb1-sequencer.arbitrum.io/rpc) 仅支持 eth_sendRawTransaction 和 eth_sendRawTransactionConditional。它不是通用 RPC 端点。

对于生产环境,你应该使用托管 RPC 提供商,它们提供:

  • 更高的速率限制和专用吞吐量
  • 用于订阅的 WebSocket 支持
  • 归档数据和跟踪方法
  • 全球边缘缓存以实现低延迟
  • 故障转移和冗余

OnFinality 提供 Arbitrum RPC 端点 作为其 支持的网络 的一部分,并为共享和专用节点提供灵活的 定价。

如何选择 Arbitrum RPC 提供商

在评估 Arbitrum 的 RPC 提供商时,请考虑以下标准:

标准检查内容重要性
速率限制每秒请求数 (RPS) 和每日配额决定你的应用能否处理峰值流量
WebSocket 支持提供商是否提供 wss:// 端点?实时数据和订阅所需
归档数据提供商是否提供归档节点?历史查询和分析所需
跟踪方法提供商是否支持 debug_traceTransaction?调试和索引所需
全球覆盖是否在多个区域有端点?降低全球用户的延迟
正常运行时间 SLA可靠性预期是什么?确保生产应用的可靠性
定价模式按需付费与订阅影响成本可预测性

如需深入了解,请参阅我们的指南 如何选择 RPC 提供商。

常见陷阱和故障排除

1. 将排序器端点用于一般查询

排序器端点仅接受交易提交。如果你在其上调用 eth_call 或 eth_getBalance,将会出错。对于读取操作,请使用常规 RPC 端点。

2. 公共端点不支持 WebSocket

如果你尝试通过 wss://arb1.arbitrum.io/rpc 连接,将会失败。请使用支持 WebSocket 的提供商,或轮询 HTTP 端点。

3. 速率限制

如果你收到 429 Too Many Requests,说明你达到了速率限制。考虑升级到付费计划或使用专用节点。

4. 链 ID 不匹配

确保你的钱包或 dApp 使用正确的链 ID:Arbitrum One 为 42161,Nova 为 42170,Sepolia 为 421614。不匹配将导致交易被拒绝。

5. Gas 估算问题

Arbitrum 使用与以太坊不同的 gas 模型。使用适当的参数调用 eth_estimateGas,并注意 L1 数据费用已包含在 gas 价格中。

监控你的 Arbitrum RPC 健康状况

为确保你的 dApp 保持健康,请监控 RPC 端点的延迟和错误率。你可以使用一个简单的脚本定期检查最新区块号:

while true; do
  curl -s -X POST https://arb1.arbitrum.io/rpc \
    -H "Content-Type: application/json" \
    --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
    | jq -r '.result' \
    | xargs printf "Block: %d\n"
  sleep 10
done

如果区块号随时间没有增加,你的端点可能已过时。考虑使用具有故障转移功能的提供商。

关键要点

  • 官方 Arbitrum RPC 端点为 https://arb1.arbitrum.io/rpc (One)、https://nova.arbitrum.io/rpc (Nova) 和 https://sepolia-rollup.arbitrum.io/rpc (Sepolia)。
  • 公共端点有速率限制且不支持 WebSocket,因此不适合生产环境。
  • 使用像 OnFinality 这样的托管提供商以获得更高的速率限制、WebSocket、归档数据和可靠性。
  • 始终验证链 ID,并使用与你打算交互的网络对应的正确端点。

常见问题解答

什么是 Arbitrum RPC 端点?

Arbitrum RPC 端点是一个 URL,允许钱包和 dApp 通过 JSON-RPC 与 Arbitrum 区块链通信。主网端点是 https://arb1.arbitrum.io/rpc。

Arbitrum 支持 WebSocket 吗?

官方公共 RPC 不支持 WebSocket。你需要一个提供 WebSocket 端点的第三方提供商,例如 OnFinality。

如何获取 Arbitrum RPC URL?

你可以使用公共端点 https://arb1.arbitrum.io/rpc 进行测试,或注册托管提供商以获取具有更高限制的私有端点。

Arbitrum One 的链 ID 是什么?

Arbitrum One 的链 ID 是 42161。Arbitrum Nova 是 42170,Arbitrum Sepolia 是 421614。

我可以将排序器端点用于一般 RPC 调用吗?

不可以,排序器端点仅支持 eth_sendRawTransaction 和 eth_sendRawTransactionConditional。对于其他方法,请使用常规 RPC 端点。

RPC 知识库

相关 RPC 内容

网络 RPCAbstract

Abstract RPC Endpoint: What You Need to Connect to Abstract

Abstract is an Ethereum Layer 2 network built with zkSync technology. To connect your dApp or wallet to Abstract, you need an RPC endpoint address. Th...

测试网 RPCBNB Chain

BNB Chain 测试网 RPC 端点:链设置、水龙头和调试

本页介绍如何使用 RPC 端点连接到 BNB Chain 测试网(BSC 测试网)。您将找到 OnFinality 官方公共端点、链设置、水龙头说明以及在测试网上构建和测试 dApp 的常见调试技巧。...

测试网 RPCArbitrum

PublicNode Sepolia:它是什么以及何时使用其他端点

PublicNode Sepolia 是一个免费的、共享的 RPC 端点,用于以太坊 Sepolia 测试网。它适用于快速脚本、钱包设置和低流量测试,但共享公共端点并非为 CI 流水线、负载测试或任何需要稳定吞吐量的场景而设计。本文解释了该端点的定义、如何连接,以及何时迁移到托管或专用的 Sepol...

网络 RPCAvalanche

Base Network RPC:如何连接以及应使用哪个端点?

Base 是基于 OP Stack 构建的以太坊 Layer 2,因此其 RPC 接口与以太坊工具链兼容 JSON-RPC。您只需将客户端指向链 ID 为 8453 的 Base 端点即可连接,大多数以太坊库几乎无需修改或只需少量修改即可使用。主要决策在于选择哪个端点、如何处理速率限制,以及如何在流...

区块链基础设施多链

Web3 桥接 API 在跨链开发中如何比较?

Web3 桥接 API 使开发者能够将跨链资产转移和消息传递集成到 dApp 中。本指南比较了流行的桥接 API,涵盖支持的链、安全模型、延迟和开发者体验等标准,帮助您为项目选择合适的桥接 API。...

网络 RPCOptimism

Optimism 端点:链设置、连接和调试

Optimism 端点是 JSON-RPC URL,可让您的 dApp 或后端在 OP Mainnet 或 OP Sepolia 上读写数据。本文涵盖确切的链设置、如何通过 curl 或 ethers.js 连接,以及如何调试常见的端点故障。...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始