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

Arbitrum API:端点、方法及生产环境建议

摘要

Arbitrum API 允许开发者使用标准的以太坊 JSON-RPC 方法与 Arbitrum One 和 Arbitrum Nova 交互,完全兼容 EVM。本文涵盖链设置、常见 API 调用、提供商选择标准以及生产环境 dApp 的最佳实践。

Arbitrum API 决策清单

在将 Arbitrum API 集成到您的项目之前,评估以下关键领域:

标准检查内容重要性说明
网络选择Arbitrum One 与 Arbitrum Nova 对比测试网 (Sepolia)不同链服务于不同用例:One 用于 DeFi,Nova 用于游戏/社交,Sepolia 用于预演环境
RPC 提供商支持的端点、速率限制、WebSocket 可用性、归档数据免费公共端点在生产环境中不可靠;专用节点或托管服务可保证正常运行时间
方法兼容性所有标准 eth_ 方法均可使用;验证自定义 Arbitrum 方法Arbitrum 通过 rollup 特定方法(如 arb_getL1BaseFee)扩展了以太坊 RPC
Gas 定价EIP-1559,L1 数据费用部分交易成本估算与以太坊主网不同;使用 eth_estimateGasarb_gasPrice
WebSocket 支持用于实时订阅 (eth_subscribe)对于监控事件、待处理交易和价格源至关重要
归档数据追踪和历史状态访问调试、分析和索引通常需要归档节点
故障转移与冗余多个端点、自动重试、负载均衡消除生产环境中的单点故障

Arbitrum 网络概览

Arbitrum 是以太坊领先的第 2 层扩展解决方案,使用乐观 rollup 提供快速、低成本的交易,同时继承以太坊的安全性。它完全兼容 EVM,意味着现有的 Solidity 合约和以太坊工具(Hardhat、Foundry、ethers.js)只需极少更改即可使用。主网包括:

  • Arbitrum One – 主网,用于高价值 DeFi、交易和通用 dApp(链 ID:42161)。
  • Arbitrum Nova – 基于 AnyTrust 的侧链,针对游戏和社交应用优化(链 ID:42170)。
  • Arbitrum Sepolia – 用于开发和预演的测试网(链 ID:421614)。

所有网络都提供相同的 JSON-RPC 接口,但提供商可能限制对某些网络或端点的访问。

Arbitrum API 端点

要与 Arbitrum 交互,您需要向 RPC 端点发送 JSON-RPC 请求。存在公共端点,但通常有速率限制且在生产环境中不可靠。对于生产工作负载,请使用托管 RPC 服务或运行自己的节点。

示例 Arbitrum One 主网端点(仅用于测试):

https://arb1.arbitrum.io/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": "0x1234567"
}

对于具有更高速率限制和 WebSocket 支持的私有端点,像 OnFinality 这样的服务提供专用 Arbitrum RPC 端点,具有可配置的限制和分析功能。

支持的 JSON-RPC 方法

Arbitrum 支持所有标准的以太坊 JSON-RPC 方法(eth_*net_*web3_*)。此外,它还提供了针对 rollup 相关查询的 Arbitrum 特定方法:

方法描述
eth_blockNumber最新区块号
eth_getBalance账户余额(以 wei 为单位)
eth_call执行常量函数调用
eth_sendRawTransaction广播已签名的交易
eth_getTransactionReceipt根据哈希获取交易回执
eth_estimateGas估算交易的 gas 成本
eth_subscribe订阅事件(仅 WebSocket)
arb_getL1BaseFee当前 L1 基础费用(以 wei 为单位)
arb_gasPrice当前 gas 价格,包含 L1 数据费用

在 JavaScript 中使用 Arbitrum API

以下是如何使用 viem(或 ethers.js)连接到 Arbitrum:

import { createPublicClient, http } from 'viem'
import { arbitrum } from 'viem/chains'

const client = createPublicClient({
  chain: arbitrum,
  transport: http('https://arb1.arbitrum.io/rpc')
})

async function getBlockNumber() {
  const blockNumber = await client.getBlockNumber()
  console.log('Current block:', blockNumber)
}

对于生产环境,请将公共端点替换为提供商的私有端点,以避免速率限制。

Arbitrum 上的 Gas 定价

Arbitrum 交易包含两部分费用:

  • L2 执行费用 – 覆盖 rollup 上的计算,以 gwei 计价(EIP-1559)。
  • L1 数据费用 – 将交易数据发布到以太坊 L1 的成本,随 L1 gas 价格变化。

使用 arb_gasPrice 获取总 gas 价格(包括 L1 开销)。估算 gas 时,调用 eth_estimateGas 然后添加缓冲区(例如 20%)以避免在 L1 拥堵时出现 gas 不足错误。

使用 curl 的示例估算:

curl https://arb1.arbitrum.io/rpc \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{"from":"0x...","to":"0x...","value":"0x0"}],"id":1}'

为 Arbitrum 选择 RPC 提供商

为您的 Arbitrum dApp 选择提供商时,请考虑:

  • 速率限制 – 免费层限制可能会阻止高频请求。检查应用预期的请求量。
  • WebSocket 支持 – 实时数据源必需。许多公共端点禁用 WebSocket。
  • 归档数据 – 如果需要历史状态或追踪(例如,用于浏览器或分析),请确保提供商提供归档节点。
  • 地理延迟 – 选择靠近用户群的端点或在多个区域部署。

OnFinality 这样的托管提供商提供专用 Arbitrum 端点,具有可定制的速率限制、WebSocket 和归档访问。比较 RPC 定价 以找到适合您的扩展规模的计划。

常见陷阱与故障排除

  1. 错误的网络 ID – 验证链 ID:Arbitrum One 为 42161,Nova 为 42170,Sepolia 测试网为 421614。
  2. L1 数据费用波动 – L1 gas 价格可能飙升,使交易更昂贵。定期监控 arb_getL1BaseFee
  3. 公共端点数据过时 – 公共端点可能落后于最新区块。使用经确认延迟低的私有端点。
  4. WebSocket 断开连接 – 实现重连逻辑(例如指数退避)以处理临时故障。
  5. Nonce 管理 – Arbitrum 使用与以太坊相同的 nonce 系统。跟踪待处理交易以避免 nonce 不匹配。

关键要点

  • Arbitrum API 完全兼容以太坊 JSON-RPC,因此大多数现有代码无需更改即可使用。
  • 使用 arb_gasPricearb_getL1BaseFee 进行准确的费用估算。
  • 公共 RPC 端点仅适用于开发;生产应用需要具有 WebSocket 和归档支持的可靠提供商。
  • 根据速率限制、地理覆盖范围以及专用节点等附加服务评估提供商。
  • 在部署到主网之前,先在 Arbitrum Sepolia 上测试,以捕获任何特定于网络的问题。

常见问题

问:Arbitrum API 与以太坊 API 相同吗? 答:是的,Arbitrum 支持全套以太坊 JSON-RPC 方法。它额外增加了一些用于 L1 费用数据的 rollup 特定方法。

问:使用 Arbitrum 需要 API 密钥吗? 答:公共端点不需要 API 密钥,但有速率限制。大多数托管服务需要 API 密钥进行身份验证和使用跟踪。

问:我可以将相同的代码用于 Arbitrum One 和 Nova 吗? 答:可以,两个网络共享相同的 RPC 接口。只需更新链 ID 和端点 URL 即可。

问:如何获取 L1 数据费用? 答:调用 arb_getL1BaseFee 获取以 wei 为单位的当前 L1 基础费用。

问:Arbitrum 的最佳 RPC 提供商是什么? 答:最佳提供商取决于您的工作负载。根据速率限制、WebSocket、归档数据和支持评估选项。查看支持的网络以了解各提供商的 Arbitrum 可用性。

有关更多详细信息,请探索 OnFinality 的 Arbitrum RPC 端点 并选择适合项目需求的计划。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Solana

什么是 Solana RPC 服务,如何选择?

Solana RPC 服务提供你的 dApp、索引器或交易机器人所需的 API 端点,以读取链上状态并提交交易。选择合适的服务取决于你的工作负载、流量模式,以及你是否需要专用容量或共享公共端点。本文解释了要评估的内容以及如何将服务与你的用例匹配。...

网络 RPC

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

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

区块链基础设施

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

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

网络 RPCAcala

Acala 流动性质押:LDOT 如何运作以及质押前需要检查什么

Acala 流动性质押允许您将 DOT 存入 Acala 的质押模块并获得 LDOT,这是一种可转让的衍生代币,在您将其用于 DeFi 其他场景时仍能持续赚取质押奖励。本文解释了该流程如何运作、LDOT 代表什么,以及读取质押状态或构建流动性质押集成所需的 RPC 和 API 接口。文章还涵盖了开发...

测试网 RPCAleph Zero

什么是 Base 测试网 RPC?如何连接?

Base 测试网 RPC 端点允许开发者与 Base Sepolia 测试网交互,用于构建和测试兼容以太坊的 dApp。本文介绍了链设置、如何使用常用工具连接,以及如何为开发选择可靠的 RPC 提供商。...

RPC 提供商选择TON

如何为生产级 dApp 选择 TON RPC 提供商?

# 如何为生产级 dApp 选择 TON RPC 提供商? 开放网络(TON)是一个为大规模采用而设计的分片 Layer 1 区块链,为 Telegram Mini Apps、DeFi 协议和支付系统提供支持。选择合适的 TON RPC 提供商对于确保低延迟、高可靠性以及访问 ADNL 和归档数据等...

永远不用担心基础设施

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

开始