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_estimateGas 和 arb_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_gasPrice 和 arb_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 内容

网络 RPCKaia

Klaytn API:开发者应了解哪些关于RPC、KAS和节点基础设施的内容?

Klaytn(现已更名为Kaia)是一个兼容EVM的Layer 1区块链。开发者可以通过JSON-RPC端点、用于更高级REST API的Klaytn API服务(KAS)或专用节点基础设施与之交互。本指南涵盖这些选项之间的差异、如何连接,以及在选择API提供商时应评估哪些方面。...

网络 RPCEth Sepolia

What is an Ethereum RPC endpoint and how do you choose the right one?

An Ethereum RPC endpoint is the URL your dapp, wallet, or backend uses to talk to an Ethereum node via JSON-RPC. Public endpoints are free but rate-li...

RPC 提供商选择Avalanche

如何为生产级 dApp 选择合适的 Avalanche RPC 提供商

选择合适的 Avalanche RPC 提供商对于 dApp 的性能、可靠性和成本至关重要。本文涵盖了关键评估标准——延迟、吞吐量、归档支持和定价模型——并帮助您比较 C 链、X 链、P 链和子网的提供商。无论您需要共享公共端点还是专用节点,我们都会概述在投入生产基础设施之前需要检查的内容。...

RPC 提供商选择Optimism

如何找到最可靠的Optimism RPC提供商

正在寻找最可靠的Optimism RPC提供商?可靠性不仅仅是标称的正常运行时间百分比。本指南涵盖关键指标,如延迟分布、同步健康度、归档和追踪API支持以及故障切换能力。使用决策清单客观比较提供商,避免导致生产中断的常见陷阱。...

RPC 提供商选择Arbitrum

什么是Arbitrum RPC,如何选择合适的端点?

Arbitrum RPC端点是dApp、钱包和索引器与Arbitrum One、Nova或测试网通信的网关。本文涵盖链设置、公共与私有端点、排序器行为以及为生产环境选择可靠RPC提供商的标准。...

网络 RPCSui

Sui gRPC 指南:端点、流式传输与 JSON-RPC 迁移

Sui gRPC 是 Sui 全节点暴露的基于 Protocol Buffers 的类型安全 RPC 接口。它是生产环境中读取链状态、执行交易和消费实时流的推荐路径。OnFinality 在 mainnet 和 testnet 上提供托管 Sui gRPC 和 RPC 基础设施;当前端点详情发布在 ...

永远不用担心基础设施

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

开始