Logo
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 内容

Network Rpc

什么是适用于开发和生产的最佳 Solana 公共 RPC 端点?

# Solana 公共 RPC 端点:开发者指南 Solana 的公共 RPC 端点为开发和轻度使用提供免费的网络访问,但存在速率限制且无正常运行时间保证。本指南涵盖了官方公共端点、其局限性,以及何时升级到像 OnFinality 这样的专用 RPC 提供商以用于生产工作负载。 无论您是在构建 dA...

Rpc Provider Selection

如何评估面向生产级Web3项目的以太坊RPC可靠性

为生产级dApp、钱包和DeFi协议选择可靠的以太坊RPC提供商至关重要。本文概述了关键标准——正常运行时间、延迟、MEV保护、归档数据和故障转移——并提供了实用的检查清单,帮助团队评估提供商。OnFinality提供以太坊RPC端点,具有可配置的限制和适用于高要求工作负载的专用节点选项。...

Rpc Provider Selection

Dwellir 与其他 RPC 提供商:应比较什么?

Dwellir 是一个多链 RPC 基础设施提供商,宣称可访问超过 150 个区块链网络。开发者在比较 API 提供商或为 Ethereum、Polkadot、Base 等链寻找可靠的 HTTPS 和 WebSocket 端点时,通常会搜索到它。本页面可帮助你根据真实生产需求评估 Dwellir 的...

Network Rpc

什么是Efinity?面向NFT和游戏的区块链完全指南

# 什么是Efinity?面向NFT和游戏的区块链完全指南 Efinity是一条专为下一代NFT、游戏和元宇宙应用设计的区块链。它基于Substrate构建,是Polkadot生态的一部分,为创建、交易和管理数字资产提供了一个可扩展、低成本且用户友好的平台。本指南涵盖了开发者需要了解的关于Efini...

Blockchain Infrastructure

区块链节点托管:面向开发者和基础设施采购者的实用指南

# 区块链节点托管:面向开发者和基础设施采购者的实用指南 区块链节点托管是指在专用或云基础设施上运行和维护区块链节点——全节点、归档节点或验证者节点。无论您是构建去中心化应用、运行验证者节点,还是执行分析管道,选择自行托管还是使用托管节点提供商,都会直接影响应用的可靠性、延迟和运营开销。本指南涵盖了...

Rpc Provider Selection

如何为 Soroban 应用选择 Stellar RPC 提供商?

Stellar RPC 让你能够实时访问 Stellar 网络数据,用于 Soroban 智能合约、账户余额和交易提交。不同提供商在网络覆盖、归档支持、专用节点访问和定价方面有所差异,因此正确选择取决于你的应用工作负载。 本指南介绍了什么是 Stellar RPC、需要比较的功能,以及如何在做出承诺...

永远不用担心基础设施

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

开始