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

Arbitrum API 概览:RPC 端点、链设置与生产环境配置

摘要

Arbitrum API 是一个 JSON-RPC 接口,可让您的应用在 Arbitrum One(链 ID 42161)和 Arbitrum Sepolia(链 ID 421614)上读取状态并提交交易。您只需将 HTTP 或 WebSocket 客户端指向 Arbitrum RPC 端点,并调用标准以太坊兼容方法(如 eth_call、eth_getLogs 和 eth_sendRawTransaction)即可连接。本概览涵盖您需要的链设置、如何发出第一个请求、哪些方法对生产环境至关重要,以及如何在公共、共享和专用节点基础设施之间进行选择。

您应该首先连接哪个 Arbitrum 端点?

如果您正在 Arbitrum 上构建应用,第一个决策不是调用哪个方法,而是针对哪个端点调用它。Arbitrum 有两个您会接触的网络:Arbitrum One(主网,链 ID 42161)和 Arbitrum Sepolia(测试网,链 ID 421614)。两者都提供以太坊兼容的 JSON-RPC API,因此相同的客户端库、钱包配置和合约工具在任一网络上均可使用。

在编写任何代码之前,请使用此快速路由表:

您的情况使用的网络链 ID典型端点类型
原型开发、单元测试、CIArbitrum Sepolia421614公共或共享 RPC
使用真实合约部署的预发布环境Arbitrum Sepolia421614共享或专用 RPC
生产 dApp 或后端Arbitrum One42161共享或专用 RPC
索引器、分析或跨链桥中继器Arbitrum One42161具有归档访问权限的专用节点
需要推送更新的钱包或机器人Arbitrum One42161支持 WebSocket 的 RPC

OnFinality 通过其 RPC API 服务 和 专用节点 选项提供 Arbitrum 端点。您可以在 Arbitrum 网络页面 查看网络详情。

Arbitrum 链设置一览

钱包以及 Hardhat、Foundry、ethers 和 viem 等框架需要相同的几个参数。请在各环境之间保持一致,以免意外将预发布构建指向主网。

设置Arbitrum OneArbitrum Sepolia
链 ID42161421614
链名称Arbitrum OneArbitrum Sepolia
原生货币ETH(18 位小数)ETH(18 位小数)
区块浏览器https://arbiscan.iohttps://sepolia.arbiscan.io
RPC 传输HTTP 和 WebSocketHTTP
公共 OnFinality 端点https://arbitrum.api.onfinality.io/publichttps://arbitrum-sepolia.api.onfinality.io/public

钱包网络配置如下所示:

await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0xa4b1", // 42161 in hex
    chainName: "Arbitrum One",
    nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
    rpcUrls: ["https://arbitrum.api.onfinality.io/public"],
    blockExplorerUrls: ["https://arbiscan.io"]
  }]
});

对于 Sepolia,请将 chainId 替换为 0xa4ba(421614),并替换链名称、RPC URL 和浏览器 URL。公共端点便于开发,但生产流量应通过托管或专用端点,以便您控制吞吐量和可用性。

发出您的第一个 JSON-RPC 请求

Arbitrum 使用标准以太坊 JSON-RPC。最简单的健康检查是 eth_blockNumber,它确认端点可达且同步程度足以响应:

curl -s https://arbitrum.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_blockNumber",
    "params": []
  }'

响应会以十六进制返回最新区块高度。此后,您最常使用的方法包括 eth_getBalance、eth_getTransactionCount、eth_call、eth_estimateGas、eth_getLogs 和 eth_sendRawTransaction。由于 Arbitrum 与 EVM 等效,合约 ABI 和 Solidity 工具几乎无需更改即可从以太坊迁移过来。

在 JavaScript 中,使用 viem 连接 Arbitrum 端点如下所示:

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

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

const block = await client.getBlockNumber();
console.log("Latest Arbitrum block:", block);

如果您需要基于推送的更新而非轮询,请通过 WebSocket 连接到支持该功能的提供商,并订阅 newHeads 或 logs。Arbitrum One 在 OnFinality 上支持 WebSocket 传输;在当前网络配置中,Sepolia 仅支持 HTTP。

方法支持与 Arbitrum 特有行为

大多数以太坊 JSON-RPC 方法按预期工作,但从测试网迁移到生产环境时,有几个方面值得注意:

  • 日志和过滤器。 eth_getLogs 是索引器和事件驱动后端的支柱。宽区块范围和无过滤查询是超时最常见的原因。请缩小范围并按地址和主题过滤。
  • Gas 估算。 Arbitrum 在以太坊之上有自己的费用模型。eth_estimateGas 仍然有效,但不要硬编码从以太坊主网复制的 gas 价格。
  • 归档数据。 历史状态查询(例如旧区块的余额)需要支持归档的节点。在构建分析或会计功能之前,请与提供商确认归档访问权限。
  • Trace 和 debug 方法。 Debug 和 trace API 对交易模拟和事件分析很有用,但支持情况因提供商和节点类型而异。请明确询问,不要假设。
  • 批量请求。 JSON-RPC 批处理可减少仪表板和钱包的往返次数。请检查您的端点套餐是否支持。

一条实用规则:列出应用调用的所有非标准方法,然后在发布前逐一对照提供商的文档进行确认。标准方法通常安全;debug、trace 和归档查询才是意外出现的地方。

公共、共享或专用:选择 Arbitrum 节点基础设施

原型运行成功后,下一个决策是运维层面的。获取 Arbitrum 端点有三种主要方式,它们在控制力与投入之间进行权衡。

选项您获得的内容最适合注意事项
公共 RPC免费的共享端点,通常有速率限制快速测试、教程、一次性脚本无吞吐量保证;不适合面向用户的流量
共享托管 RPC提供商托管的端点,带 API 密钥和使用计划大多数 dApp 和后端确认您套餐的速率限制、归档访问和 WebSocket 支持
专用节点为您的负载配置的节点索引器、高流量后端、需要隔离的团队成本更高;您需要承担更多运维检查项

OnFinality 通过其 API 服务 提供托管 RPC,并通过 专用节点 基础设施提供专用 Arbitrum 节点。定价随您选择的选项而变化;请参阅 RPC 定价 了解当前套餐。有关评估提供商的更广泛框架,RPC 提供商选择指南 涵盖了负载规模评估、故障转移和支持预期。

Arbitrum API 生产就绪检查清单

在将真实用户流量路由到 Arbitrum 端点之前,请逐一检查以下检查点。它们能捕获发布后出现的大多数问题。

  1. 按环境分离密钥。 为预发布和生产使用不同的 API 密钥或端点,以免失控的测试脚本耗尽生产吞吐量。
  2. 添加备用端点。 在客户端配置辅助 RPC URL,以免单一提供商故障导致应用宕机。
  3. 设置请求超时和重试。 JSON-RPC 调用在负载下可能变慢;请用超时和带退避的有界重试进行包装。
  4. 监控区块延迟。 定期轮询 eth_blockNumber,如果端点落后于网络则发出警报。
  5. 限制 eth_getLogs 范围。 将大型历史扫描分块为有界窗口并持久化进度。
  6. 确认归档和 trace 需求。 如果您查询旧状态或模拟交易,请验证这些方法在您的套餐中已启用。
  7. 测试 WebSocket 重连。 如果您订阅事件,请处理断开连接并干净地重新订阅。

您可以定期运行的简单监控探测:

#!/usr/bin/env bash
RPC="https://arbitrum.api.onfinality.io/public"
HEIGHT=$(curl -s "$RPC" -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' \
  | sed -E 's/.*"result":"(0x[0-9a-f]+)".*/\1/')
echo "Arbitrum block height: $((HEIGHT))"

记录结果并对意外间隙发出警报。这是一个轻量级信号,不是完整的可观测性栈,但它能捕获最常见的故障模式:端点可达但已过期。

常见故障模式及调试方法

当 Arbitrum API 调用失败时,错误消息通常指向症状而非原因。使用此映射从症状推进到下一步。

症状可能原因下一步
429 或速率限制错误共享端点配额超限减少请求量、批量调用,或升级套餐/迁移到专用节点
eth_getLogs 超时区块范围过宽分块范围并按地址/主题过滤
eth_call 上的 execution reverted合约逻辑或状态缺失使用确切的区块和发送者进行模拟;检查归档访问
nonce too low交易卡住或重复使用 pending 查询 eth_getTransactionCount 并重新同步
WebSocket 断开连接空闲超时或网络中断添加心跳和重连逻辑;重连后重新订阅
历史状态缺失非归档节点向提供商请求归档访问权限

从最简单的检查开始:eth_blockNumber 是否有响应?如果有,则端点正常,问题可能特定于方法、参数或配额。如果没有,则将其视为连接或提供商故障并进行故障转移。

从其他 Arbitrum 提供商迁移

切换 Arbitrum RPC 提供商通常是配置更改而非重写,因为 API 与以太坊兼容。安全迁移遵循四个步骤:

  1. 盘点您的方法。 列出应用调用的每个 JSON-RPC 方法,包括 debug、trace 和归档查询。
  2. 并行运行两个端点。 将预发布环境指向新端点,并针对相同区块和调用比较响应。
  3. 验证传输需求。 确认 HTTP 和 WebSocket 支持与客户端预期匹配。
  4. 带备用方案切换。 在新端点完整运行一个发布周期之前,将旧端点保留为辅助 URL。

由于链 ID 和链名称在各提供商之间相同,您无需更改钱包配置或合约地址。主要风险是方法支持缺口和吞吐量限制,并行运行步骤会尽早暴露这两者。

关键要点

  • Arbitrum 在 Arbitrum One(链 ID 42161)和 Arbitrum Sepolia(链 ID 421614)上提供以太坊兼容的 JSON-RPC API。
  • 标准方法如 eth_call、eth_getLogs 和 eth_sendRawTransaction 按预期工作;debug、trace 和归档方法需要明确确认。
  • 公共端点适合原型开发,但不适合生产流量;共享托管 RPC 和专用节点可覆盖生产负载。
  • OnFinality 通过其 API 服务 和 专用节点 提供 Arbitrum RPC;详情请参阅 RPC 定价 和 支持的 RPC 网络。
  • 生产检查清单——分离密钥、备用端点、区块延迟监控和有界日志查询——可预防大多数发布后事件。

常见问题

Arbitrum 的链 ID 是什么? Arbitrum One 使用链 ID 42161;Arbitrum Sepolia 使用 421614。两者均使用 ETH 作为原生货币。

Arbitrum API 与以太坊的相同吗? 它是以太坊兼容的 JSON-RPC,因此大多数方法、客户端库和工具无需更改即可使用。部分费用模型和方法支持细节有所不同,因此请与提供商确认非标准方法。

我可以在生产环境中使用公共 Arbitrum RPC 端点吗? 公共端点最适合开发和测试。对于生产环境,请使用托管或专用端点,以便控制吞吐量、可用性和方法支持。

Arbitrum 支持 WebSocket 订阅吗? Arbitrum One 在 OnFinality 上支持 WebSocket 传输;在当前网络配置中,Arbitrum Sepolia 仅支持 HTTP。在依赖订阅之前,请与提供商确认。

如何获取 Arbitrum Sepolia 的测试网 ETH? 使用 Sepolia 水龙头获取测试 ETH,然后跨链或在 Arbitrum Sepolia 上直接使用。水龙头可用性会变化,因此在依赖某个来源之前请检查当前来源。

在哪里可以找到 OnFinality 的 Arbitrum 端点详情? 请参阅 Arbitrum 网络页面 了解端点和链设置,并参阅 RPC 定价 了解套餐选项。

RPC 知识库

相关 RPC 内容

网络 RPCMetis

Metis API:链设置、RPC 方法和提供商选择

Metis API 是指 Metis Andromeda 第二层区块链的 JSON-RPC 接口,这是一个兼容以太坊的 Rollup。本文涵盖链配置、基本 RPC 方法、如何连接钱包和 dApp,以及为生产工作负载选择可靠 RPC 提供商的标准。...

网络 RPCPolygon

什么是 MATIC RPC 节点,如何连接到 Polygon 主网?

MATIC RPC 节点是通过 JSON-RPC 暴露的 Polygon PoS 端点,用于读取链状态和广播交易。本参考涵盖 Polygon 主网和 Amoy 链设置、如何使用 curl 测试端点,以及如何比较公共 RPC 与托管提供商和专用节点。 使用此处的检查清单和链 ID 来避免最常见的 Po...

网络 RPCpeaq

什么是 peaq RPC,如何连接到 peaq 网络?

# 什么是 peaq RPC,如何连接到 peaq 网络? peaq 是一个基于 Polkadot 的 Layer-1 区块链,专为去中心化物理基础设施网络(DePIN)和机器经济而设计。要与 peaq 交互,开发者和用户需要一个 RPC(远程过程调用)端点。本指南涵盖 peaq RPC 端点、如何...

RPC 提供商选择Fantom

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

选择 Fantom RPC 提供商意味着在延迟、可靠性和成本之间取得平衡,以满足您的应用需求。本指南介绍了在选择提供商时应注意的事项、如何评估端点,以及何时使用专用节点。OnFinality 提供公共 Fantom 端点和专用基础设施选项,以支持您的部署。...

RPC 提供商选择Gnosis

如何检查 Gnosis 的正常运行时间,这对你的 dApp 意味着什么?

Gnosis Chain 在网络正常运行时间方面有着良好的记录,但 RPC 正常运行时间是另一个直接影响你的 dApp 可用性的指标。本文解释了如何监控 Gnosis 网络和 RPC 正常运行时间、在提供商状态页面中关注什么,以及如何为你的基础设施构建弹性。...

网络 RPCAleph Zero

What is the Aleph Zero RPC endpoint and how do you connect?

Aleph Zero is a Layer 1 blockchain focusing on privacy and scalability using a novel consensus mechanism. Its RPC endpoint allows developers to intera...

永远不用担心基础设施

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

开始