Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
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_getBalance、eth_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://networks/eth.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 提供商选择Solana

Solana RPC 提供商如何处理速率限制和使用层级?

Solana RPC 提供商通常通过每秒请求数上限、计算单元预算和按方法限制的组合来控制负载,然后将这些限制打包成使用层级。你所在的层级决定了你可以发送多少请求、哪些方法可用,以及你获得的是共享容量还是专用容量。理解其机制比记住任何单一提供商的具体数字更重要,因为限制会变化,而你的工作负载特征才是决...

RPC 提供商选择Celo

如何为生产应用选择 Celo RPC 提供商?

Celo 是一个兼容 EVM 的网络,拥有移动优先的历史以及不断增长的稳定币和支付用例。对于大多数团队来说,实际问题不是是否使用 RPC 提供商,而是哪个提供商适合你的读/写组合、归档需求和故障转移计划。本文介绍了 Celo 链设置、对端点造成压力的工作负载,以及区分共享公共端点和专用节点部署的标准...

区块链基础设施Bittensor

什么是 Bittensor 节点以及如何选择合适的设置?

Bittensor 节点(subtensor)是一个完整的区块链节点,连接到 Bittensor 网络,使您能够读取链状态、提交交易并参与子网。运行自己的节点可以完全控制并保护隐私,但需要大量的硬件和维护。对于许多团队来说,使用托管的 RPC 端点或专用节点基础设施是更实际的选择。...

RPC 提供商选择

Best Crypto Bridge API: What Should Developers Evaluate Before Integrating?

A crypto bridge API provides a programmatic interface for moving assets or data across blockchains. While many services offer bridge APIs, their perfo...

网络 RPCBNB Chain

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

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

RPC 提供商选择Solana

哪些 Solana RPC 提供商的速率限制最具竞争力?

比较 Solana RPC 提供商的速率限制结构、突发允许量和 WebSocket 并发数。了解在免费层、付费计划和专用节点中应检查什么,以及如何将限制与您的应用流量模式相匹配。...

永远不用担心基础设施

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

开始