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

Base 节点 RPC:端点设置、链 ID 和调试

摘要

Base 是构建在 OP Stack 上的以太坊 L2,因此其 RPC 接口对任何以太坊开发者来说都很熟悉:基于 HTTP 的 JSON-RPC、相同的 eth_* 方法,以及主网的链 ID 8453。本文介绍了您需要的 Base 节点 RPC 端点设置、如何将 Base 添加到钱包、如何发送第一个请求,以及如何调试生产环境中最常见的故障。它还解释了何时公共端点就足够,以及何时专用 Base 节点是更好的选择。

Base 是构建在 OP Stack 上的以太坊 Layer 2,这意味着其节点 RPC 接口刻意保持熟悉:基于 HTTP 的标准 JSON-RPC、您已经在以太坊上使用的相同 eth_* 方法名,以及在此基础上少量 OP Stack 特有的方法。如果您正在配置钱包、后端索引器或测试套件,您主要需要正确的链设置、可用的端点,以及请求失败时清晰的调试路径。

本页面是 Base 节点 RPC 的工作参考。它涵盖了您粘贴到钱包中的设置、如何使用 curl 和 viem 发送请求、调用失败时检查什么,以及如何在公共端点和专用 Base 节点之间做出选择。

链设置一览

在编写任何代码之前,请确认网络参数。Base 主网和 Base Sepolia 是独立的网络,具有不同的链 ID,因此指向错误网络的钱包或 SDK 看起来像是在工作,但返回的是错误数据。

设置Base 主网Base Sepolia
链 ID845384532
原生货币ETH(18 位小数)ETH(18 位小数)
区块浏览器https://basescan.orghttps://sepolia.basescan.org
RPC 传输HTTP (JSON-RPC)HTTP (JSON-RPC)
典型用途生产应用、真实价值开发、测试、水龙头

快速健全性检查:调用 eth_chainId 并确认主网返回 0x2105(十进制 8453)或 Sepolia 返回 0x14a34(84532)。如果值与您预期的网络不匹配,请停止并修复配置,然后再调试其他任何内容。

将 Base 添加到钱包

大多数钱包接受自定义网络。字段直接映射到上表:

  • 网络名称:Base
  • RPC URL:您的 Base 端点
  • 链 ID:8453
  • 货币符号:ETH
  • 区块浏览器:https://basescan.org

对于 Base Sepolia,使用链 ID 84532 和 Sepolia 浏览器。如果您正在构建钱包连接流程,可以以编程方式请求网络,而不是要求用户输入:

await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0x2105",
    chainName: "Base",
    nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
    rpcUrls: ["https://base.api.onfinality.io/public"],
    blockExplorerUrls: ["https://basescan.org"]
  }]
});

如果您使用 OnFinality 的 Base,公共端点是 https://base.api.onfinality.io/public,Base Sepolia 的等效端点是 https://base-sepolia.api.onfinality.io/public。对于生产流量,专用 Base 节点为您提供了一个私有端点,您可以在不触及用户配置的情况下轮换。有关当前详细信息,请参阅 Base 网络页面Base Sepolia 网络页面

发送您的第一个 Base RPC 请求

确认端点是否正常工作的最快方法是单个 curl 调用。这可以一次性检查连接性、链 ID 和最新区块:

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

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

健康的响应会返回一个包含 result 字段的 JSON 对象。如果您得到的是错误对象,error.codeerror.message 会告诉您问题出在请求、端点还是网络上。

在应用程序代码中,使用 viem 的相同调用如下所示:

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

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

const blockNumber = await client.getBlockNumber();
const chainId = await client.getChainId();
console.log({ chainId, blockNumber });

由于 Base 遵循以太坊约定,大多数以太坊工具无需 Base 特定适配器即可工作。主要区别在于链 ID、浏览器 URL 和少量 OP Stack 方法。

实践中哪些 Base RPC 方法重要

您不需要每个方法。大多数应用程序依赖一小组方法,了解哪些方法更重有助于您规划容量。

方法作用Base 注意事项
eth_chainId返回链 ID用于验证您是否在 8453 或 84532 上
eth_blockNumber最新区块高度开销低,适合健康检查
eth_getBalance账户余额钱包流程中常见
eth_call只读合约调用大多数 dapp 读取的核心
eth_getLogs查询事件日志最重的常见方法;按区块范围限定
eth_getTransactionReceipt交易状态发送交易后轮询
eth_estimateGasGas 估算发送前运行
eth_sendRawTransaction广播已签名交易返回交易哈希,而非收据

eth_getLogs 值得特别关注。宽泛的区块范围和宽泛的主题过滤器可能返回大量负载,并且是超时的常见原因。缩小范围、按地址过滤,并在可能的情况下分页。

常见 Base RPC 故障的调试路径

当出现问题时,错误消息通常会指出问题所在的层。在假设端点宕机之前,请先查看此表。

症状可能原因首先检查
chainId 不匹配配置了错误的网络调用 eth_chainId,与 8453/84532 比较
method not found拼写错误或不支持的方法确认方法名和端点传输
eth_getLogs 超时区块范围太宽缩小范围,添加地址过滤器
nonce too low交易卡住后 nonce 过时使用 pending 重新读取 eth_getTransactionCount
insufficient fundsGas 或价值超过余额检查余额和 Gas 估算
读取时 result 为空合约未在此网络部署在正确的浏览器上验证地址
间歇性 429共享端点速率限制将重读取移至专用节点

两种模式会导致大多数混淆。首先,混合主网和测试网数据:存在于 Base 主网上的合约地址不会存在于 Base Sepolia 上,反之亦然。其次,将 eth_sendRawTransaction 视为最终结果:它立即返回哈希,但您必须轮询 eth_getTransactionReceipt 才能知道交易是否成功。

公共端点还是专用 Base 节点?

这是大多数团队在应用从原型阶段推进后面临的决定。正确答案取决于您的工作负载形态,而不是单个基准测试。

工作负载公共端点专用 Base 节点
原型和演示通常可以尚不需要
低流量读取通常可以可选
重度 eth_getLogs 索引负载下风险高推荐
高频交易或机器人适用共享限制推荐
合规或数据隔离需求不适合推荐
可预测的生产流量共享容量推荐

一个有用的规则:如果您的应用程序可靠性依赖于共享端点无法保证的特定请求模式,请将该模式隔离到专用节点上,并将其他所有内容留在公共端点上。这使成本与实际需求成比例。OnFinality 同时提供共享 RPC API 访问和专用 Base 节点;有关当前选项,请参阅 RPC 定价,有关完整列表,请参阅 支持的 RPC 网络

WebSocket 和订阅注意事项

Base 支持基于 HTTP 的 JSON-RPC,这是大多数应用程序使用的。如果您需要推送式更新,请在设计订阅之前检查您的提供商是否为 Base 暴露 WebSocket 传输。对 eth_blockNumbereth_getTransactionReceipt 进行 HTTP 轮询是一种可靠的备用方案,并且在故障时更容易推理。

如果您确实使用订阅,请规划重连逻辑。长连接会断开,而静默停止传递事件的订阅比大声失败的订阅更糟糕。将连接视为需要重新建立的东西。

启动前的操作检查清单

在将生产流量指向任何 Base 端点之前,请确认以下内容:

  • 链 ID 在运行时验证,而不仅仅是在配置中。
  • 端点可从您的部署环境访问,而不仅仅是从您的笔记本电脑。
  • 诸如 eth_getLogs 之类的重方法已限定范围并分页。
  • 您有备用端点或备用计划。
  • 错误日志记录包含 JSON-RPC 错误代码,而不仅仅是通用消息。
  • 您知道每个合约地址属于哪个网络。

一个简单的监控探针可以让您提前发现问题:

async function probe(endpoint) {
  const res = await fetch(endpoint, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "eth_blockNumber", params: [] })
  });
  const json = await res.json();
  return { ok: res.ok && !!json.result, block: json.result };
}

定期运行此探针并在重复失败时发出警报。这是一小段代码,可以及早捕获大量事件。

关键要点

  • Base 使用标准的以太坊 JSON-RPC;主网链 ID 为 8453,Sepolia 为 84532。
  • 在运行时验证 eth_chainId,以避免静默查询错误的网络。
  • eth_getLogs 是最常见的超时来源;限定区块范围和过滤器。
  • eth_sendRawTransaction 返回哈希,而非收据;轮询收据以确认成功。
  • 公共端点适合原型和轻量读取;专用 Base 节点适合重度、可预测或隔离的工作负载。
  • OnFinality 提供 Base RPC API 访问和专用节点;请查看 RPC 定价支持的网络

常见问题

Base 链 ID 是什么? Base 主网使用链 ID 8453。Base Sepolia 使用 84532。始终在运行时使用 eth_chainId 确认。

Base RPC 端点是什么? 任何为 Base 网络提供服务的 JSON-RPC 端点。OnFinality 暴露了一个公共 Base 端点和专用选项;有关当前详细信息,请参阅 Base 网络页面

我可以将以太坊工具与 Base 一起使用吗? 可以。Base 遵循以太坊约定,因此一旦设置了正确的链 ID 和端点,大多数以太坊库和钱包都可以工作。

为什么我的 Base 交易显示为待处理? eth_sendRawTransaction 在交易被包含之前返回哈希。轮询 eth_getTransactionReceipt 直到返回收据,如果停滞,请检查 Gas 设置。

我需要专用 Base 节点吗? 仅当您的工作负载需要私有容量、隔离或在重度读取下可预测的行为时。原型和轻量应用通常不需要。

如何调试 Base RPC 超时? 从方法开始。宽范围的 eth_getLogs 是常见罪魁祸首;在调查端点本身之前,缩小范围并添加过滤器。

RPC 知识库

相关 RPC 内容

网络 RPCAcala

什么是Acala Network,如何连接?

Acala Network是基于Polkadot构建的去中心化金融(DeFi)中心,提供跨链流动性、流动性质押和EVM兼容的智能合约平台。本指南涵盖Acala的架构、如何通过RPC端点连接,以及开发者在Acala上构建时的关键考量。...

网络 RPCComposable Finance

Composable Finance 加密货币:它是什么,如何在其上构建跨链 DeFi?

Composable Finance 是一个基于 Polkadot 的网络,专注于跨链 DeFi,使开发者能够构建与多个区块链交互的应用程序。本文解释了核心概念、其 RPC 基础设施的作用,以及如何开始开发,包括端点配置和实际考虑。...

RPC 提供商选择

Chainstack vs Other RPC Providers: What to Evaluate Before Choosing

A practical comparison guide for developers evaluating Chainstack against other RPC providers. Covers key criteria including pricing models, network s...

网络 RPCGnosis

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

Gnosis Chain RPC 端点允许开发者通过 JSON-RPC 调用与 Gnosis Chain 网络交互。本文介绍了链设置、如何评估提供商以及在生产 dApp 中选择基础设施时应避免的常见陷阱。...

RPC 提供商选择Solana

在Solana质押集成中应关注哪些API

在Solana上集成质押需要使用能暴露账户数据、投票账户以及委托和提取等质押操作的API。合适的提供商应提供对 `getStakeActivation`、`getVoteAccounts` 和交易提交端点的可靠访问。本文涵盖了关键RPC方法以及选择质押dApp的API提供商时需要考虑的因素。...

网络 RPCKlaytn

什么是 Kaia API,如何连接它?

Kaia API 是 Kaia 区块链的 JSON-RPC 接口,Kaia 是一个兼容 EVM 的 Layer 1 网络。它允许你使用熟悉的以太坊风格方法读取链上数据、发送交易以及与智能合约交互。本指南介绍了 API 命名空间、如何通过公共或托管端点连接,以及如何为你的 dApp 选择合适的基础设施...

永远不用担心基础设施

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

开始