Logo
RPC Assistant

什么是 Arbitrum 节点,你应该如何运行或访问它们?

摘要

Arbitrum 节点是维护 Arbitrum 链(如 Arbitrum One 和 Arbitrum Sepolia)状态的软件客户端。你可以运行自己的全节点或归档节点来独立验证链,或者使用托管的 RPC 提供商来访问,而无需操作基础设施。本指南解释了节点类型、运营权衡,以及如何决定是自托管还是使用像 OnFinality 这样的服务。

快速建议:自托管还是使用托管 RPC?

在深入了解节点类型和设置之前,先决定你是否需要运行 Arbitrum 节点。如果你的目标是读取链状态、提交交易或为 dApp 索引事件,像 OnFinality 这样的托管 RPC 提供商可以为你提供生产就绪的端点,而无需承担运营负担。如果你需要独立验证链、运行验证器或有严格的数据主权要求,自托管全节点可能值得付出成本。

以下是一个简单的决策路径:

  • 你需要为应用提供可靠的端点 → 使用托管 RPC 提供商。你可以访问 Arbitrum One 和 Sepolia,而无需同步或维护基础设施。
  • 你想自己验证交易 → 以 Watchtower 模式运行全节点。
  • 你需要超出默认修剪窗口的历史状态 → 运行归档节点或使用提供归档数据的提供商。
  • 你在测试网上构建 → 使用像 Arbitrum Sepolia 这样的测试网端点,以避免主网成本。

如果你选择托管提供商,请比较请求限制、归档支持、WebSocket 可用性和故障转移行为等因素。OnFinality 提供公共和专用的 Arbitrum 节点,具有透明的定价并支持许多网络

什么是 Arbitrum 节点?

Arbitrum 节点是连接到 Arbitrum 网络、验证区块并维护链状态的软件客户端。Arbitrum 是一个在以太坊上结算的乐观汇总,因此节点必须同时跟踪 L2 链和发布到以太坊的 L1 数据。参考客户端称为 Nitro,它是一个 Go 实现,结合了 Geth 执行引擎和 Arbitrum 特定组件。

Arbitrum 节点主要有两种类型:

  • 全节点:存储最新状态并验证新区块。它可以提供 RPC 请求,但默认会修剪历史状态。
  • 归档节点:存储链的完整历史,允许查询任何过去的区块。归档节点需要显著更多的磁盘空间。

还有专门的角色,如排序器、批量发布者和验证器,但这些由 Arbitrum 团队和生态系统合作伙伴运行。对于大多数开发者来说,选择是在全节点和归档节点之间。

全节点与归档节点:对你的应用有什么变化?

节点类型存储的数据用例磁盘空间受影响的 RPC 方法
全节点最新状态,近期历史(已修剪)标准 dApp 读取,交易提交约 1 TBeth_getBalanceeth_call 用于近期区块
归档节点自创世以来的完整历史分析、历史查询、调试数 TBeth_getBalance 在旧区块,eth_getStorageAt 用于历史槽位

如果你的应用只需要当前余额和近期交易,全节点就足够了。如果你需要查询几个月前的状态,你需要归档节点。托管提供商通常提供两者,但归档请求可能成本更高。

运行自己的 Arbitrum 节点:预期什么

运行 Nitro 节点并非易事。你需要提供具有足够 CPU、内存和磁盘的机器,然后从快照或创世块同步节点。官方文档建议使用快照以避免数天的同步。

以下是一个典型的 Docker 命令,用于运行 Arbitrum 全节点(简化):

docker run --name arbitrum-node \
  -v /path/to/data:/home/user/.arbitrum \
  -p 8547:8547 \
  -p 8548:8548 \
  offchainlabs/nitro-node:v3.9.0 \
  --init.url=https://snapshot.arbitrum.io/nitro/full \
  --l1.url=https://ethereum-rpc.example.com \
  --chain.id=42161

请注意,你需要一个以太坊 L1 RPC 端点来同步。节点将读取 L1 数据以验证汇总。你还需要打开端口 8547(RPC)和 8548(WebSocket)如果你想暴露它们,但要注意安全。

关键运营问题

  • 状态方案:Nitro 支持 HashDB(默认)和 PathDB。你必须在初始化数据库之前选择;之后无法切换。
  • 修剪:全节点自动修剪旧状态。如果你需要历史数据,请使用归档快照。
  • 内存:Nitro 可能消耗数 GB 的内存。监控你的节点以避免 OOM 崩溃。
  • Watchtower 模式:默认情况下,全节点以 Watchtower 模式运行,该模式监视链上断言并在不同意时记录错误。这不是验证器角色。
  • 安全性:公开暴露你的 RPC 端点可能导致资源耗尽。如果必须暴露,请使用防火墙和身份验证。

托管 RPC:何时有意义

运行自己的节点给你完全控制权,但也意味着你负责正常运行时间、备份和扩展。对于大多数生产 dApp,托管 RPC 提供商更实用。你可以获得:

  • 高可用性:提供商运行多个节点并负载均衡请求。
  • 归档访问:无需运行归档节点即可查询历史状态。
  • WebSocket 支持:用于实时订阅。
  • 专用节点:如果你需要具有保证容量的私有端点。

OnFinality 提供托管的 Arbitrum 节点,具有公共和专用选项。你可以从免费的公共端点开始,随着流量增长升级到专用节点。有关详细信息,请参阅 Arbitrum 网络页面

Arbitrum One 和 Sepolia 的链设置

连接到 Arbitrum 时,你需要正确的链 ID 和 RPC URL。以下是两个网络的设置:

网络链 IDRPC URL浏览器
Arbitrum One42161https://arbitrum.api.onfinality.io/publicArbiscan
Arbitrum Sepolia421614https://arbitrum-sepolia.api.onfinality.io/publicSepolia Arbiscan

你可以使用这些公共端点进行测试,但对于生产环境,请考虑具有更高速率限制的专用端点。OnFinality 的公共端点有速率限制;有关详细信息,请查看定价

将你的应用连接到 Arbitrum 节点

以下是使用 ethers.js 连接到 Arbitrum One 的示例:

const { ethers } = require("ethers");

const provider = new ethers.JsonRpcProvider("https://arbitrum.api.onfinality.io/public");

async function getBlock() {
  const block = await provider.getBlockNumber();
  console.log("Current block:", block);
}

getBlock();

对于 WebSocket 订阅,你可以使用可用的 WebSocket 端点。OnFinality 支持 Arbitrum One 上的 WebSocket;请查看网络页面获取确切 URL。

使用 Arbitrum 节点时的常见陷阱

  • 使用错误的链 ID:确保你的钱包或应用使用 42161 用于主网,421614 用于 Sepolia。
  • 假设全节点有归档数据:如果你在全节点上查询非常旧的区块,可能会收到错误。请使用归档端点。
  • 忽略速率限制:公共端点有限制。如果你的应用发出许多请求,你需要专用节点。
  • 不处理 WebSocket 重连:WebSocket 连接可能会断开。在你的应用中实现重连逻辑。
  • 忘记 L1 依赖:如果你运行自己的节点,你需要可靠的以太坊 L1 端点。如果该端点失败,你的节点无法同步。

如何为 Arbitrum 节点选择提供商

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

  • 请求限制:免费层是什么?超出后会发生什么?
  • 归档支持:他们是否提供归档节点?成本如何?
  • WebSocket:是否可用?连接限制是多少?
  • 专用节点:你能获得具有专用资源的私有节点吗?
  • 地理分布:是否有多个区域的端点以实现低延迟?
  • 支持:SLA 和支持响应时间是什么?

OnFinality 提供透明的定价页面支持的网络列表。你可以从免费的公共端点开始,并在需要时扩展到专用节点。

关键要点

  • Arbitrum 节点是验证和提供 Arbitrum 链服务的 Nitro 客户端。
  • 全节点修剪历史;归档节点存储所有内容。
  • 自托管提供控制,但需要大量的运营工作。
  • 像 OnFinality 这样的托管 RPC 提供商提供生产就绪的端点,开销更少。
  • 始终使用目标网络的正确链 ID 和 RPC URL。
  • 对于生产环境,考虑专用节点以避免速率限制并确保可靠性。

常见问题解答

Arbitrum 上的全节点和归档节点有什么区别?

全节点存储最新状态并修剪旧数据,而归档节点保留完整历史。归档节点用于历史查询,但需要更多磁盘空间。

我需要运行 Arbitrum 节点来构建 dApp 吗?

不需要。你可以使用托管 RPC 提供商来访问 Arbitrum,而无需运行自己的节点。这设置更快,并且对于生产应用通常更可靠。

我可以在笔记本电脑上运行 Arbitrum 节点吗?

技术上可以,但不推荐。节点需要大量磁盘空间和内存,同步可能需要数天。云服务器或专用机器更好。

什么是 Watchtower 模式?

Watchtower 模式是全节点的默认模式。它监视链上断言并在不同意时记录错误。它不参与验证。

如何获得 Arbitrum Sepolia 测试网节点?

你可以使用公共测试网端点,如 https://arbitrum-sepolia.api.onfinality.io/public,或运行自己的配置为 Sepolia 的节点。有关详细信息,请参阅 Arbitrum Sepolia 页面

运行 Arbitrum 节点的成本是多少?

成本因硬件、云提供商以及是否使用托管服务而异。自托管需要支付具有足够磁盘和内存的服务器费用。托管提供商根据使用量或专用节点的固定费用收费。

我可以将 OnFinality 用于 Arbitrum 主网吗?

可以,OnFinality 支持 Arbitrum One,提供公共和专用端点。有关详细信息,请查看 Arbitrum 网络页面

RPC 知识库

相关 RPC 内容

Rpc Provider Selection

如何评估最佳区块链JSON-RPC API解决方案?

区块链JSON-RPC API让您的dApp无需运行全节点即可读写网络。但并非所有供应商都一样——延迟、存档支持、WebSocket可用性和定价模型差异很大。本文介绍了每个开发人员在为生产环境选择RPC API提供商之前应检查的评估标准。...

Network Rpc

Enjin RPC:端点、链设置与开发者工作流

Enjin 运行两条基于 Substrate 的链:Enjin Matrix Chain(NFT 和代币的应用层)和 Enjin Relay Chain(共识和安全层)。两者都使用 Substrate RPC(而非 EVM JSON-RPC),因此开发者需要使用 Polkadot.js 或原始的 W...

Testnet Rpc

Base Sepolia 的 RPC 端点和链设置是什么?

Base Sepolia 是 Base 的主要测试网,Base 是一个使用 Sepolia ETH 作为 gas 的 OP Stack Layer 2。本参考说明了 Base Sepolia RPC 端点详情、链设置(如链 ID 84532)、水龙头选项,以及帮助您调试测试网集成的 JSON-RPC...

Network Rpc

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

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

Network Rpc

什么是 Moonbeam RPC 端点?如何连接?

Moonbeam RPC 端点是一个 URL,允许兼容以太坊的钱包和 dApp 向 Polkadot 上的 Moonbeam 平行链发送 JSON-RPC 请求。它使用标准的以太坊方法以及 Moonbeam 特有的扩展,链 ID 为 1284,原生代币为 GLMR。 开发者使用这些端点进行读取、交易...

Network Rpc

Polkadot Asset Hub 迁移:开发者中继链过渡指南

# Polkadot Asset Hub 迁移:开发者中继链过渡指南 Polkadot Asset Hub 迁移于 2025 年 11 月 4 日执行,将核心面向用户的功能——余额、质押、治理——从中继链迁移到 Asset Hub 系统平行链。这一架构转变减少了中继链的膨胀,实现了更快的升级,并为 ...

永远不用担心基础设施

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

开始