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 URLhttps://arb1.arbitrum.io/rpc
  • 链 ID42161
  • 货币符号ETH
  • 区块浏览器 URLhttps://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_sendRawTransactioneth_sendRawTransactionConditional。它不是通用 RPC 端点。

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

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

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

如何选择 Arbitrum RPC 提供商

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

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

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

常见陷阱和故障排除

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

排序器端点仅接受交易提交。如果你在其上调用 eth_calleth_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_sendRawTransactioneth_sendRawTransactionConditional。对于其他方法,请使用常规 RPC 端点。

RPC 知识库

相关 RPC 内容

网络 RPCBNB Chain

关于BNB RPC端点,我需要了解什么?

# 关于BNB RPC端点,我需要了解什么? BNB RPC端点至关重要,因为Web3应用依赖于稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配你的工作负载,支持你所需的网络和测试网,使限制可见,并在共享RPC不再足够时提供扩展路径。 对于BNB Chain的构建者、基础设施负责...

网络 RPCSolana

如何使用 Solana 浏览器 API 检查交易和账户?

Solana 浏览器 API 是驱动区块浏览器的 JSON-RPC 接口,允许开发者查询交易、账户和区块。本文解释了如何将其用于调试和分析,以及如何为生产工作负载选择可靠的 RPC 提供商。...

网络 RPCStellar

What Is Stellar RPC and How to Use It for Your dApp?

Stellar RPC refers to the remote procedure call interface that allows applications to interact with the Stellar blockchain. Unlike Ethereum, Stellar u...

RPC 提供商选择Optimism

如何为 Optimism 设置自定义 RPC?

为 Optimism 设置自定义 RPC 意味着将你的钱包或 dApp 配置为使用特定的端点,而不是默认的公共端点。本指南涵盖了你需要的链设置、如何将 Optimism 添加到 MetaMask,以及如何为生产环境选择可靠的 RPC 提供商。...

测试网 RPCEthereumBase

Base Sepolia RPC 端点:链设置、水龙头与调试

Base Sepolia 是基于 OP Stack 构建的 Base L2 网络的测试网,使用 Sepolia ETH。本页面提供官方 RPC 端点、链配置、水龙头链接以及开发者在 Base Sepolia 上测试 dapp 时的常见故障排除技巧。...

网络 RPCMantle

Mantle 端点:链设置、RPC URL 和调试

了解如何使用正确的链 ID、RPC 端点和浏览器设置连接到 Mantle 主网。本页涵盖公共和专用 RPC 选项、常见的 JSON-RPC 方法以及生产 dApp 的故障排除步骤。...

永远不用担心基础设施

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

开始