摘要
Base 网络 RPC 端点是您的 dApp 或钱包用于与 Base 区块链通信的 URL。OnFinality 在 https://base.api.onfinality.io/public 提供了一个公共 HTTPS 端点,您可以使用它发送 JSON-RPC 请求来读取数据或提交交易。本文介绍了端点、链设置、如何配置您的工具以及如何调试常见问题。
快速参考:Base 链设置
在连接之前,您需要确切的链参数。下表列出了 Base 主网及其 Sepolia 测试网的官方设置。在配置钱包、SDK 或您自己的节点时,请使用这些值。
| 参数 | Base 主网 | Base Sepolia 测试网 |
|---|---|---|
| 链 ID | 8453 | 84532 |
| 网络名称 | Base | Base Sepolia 测试网 |
| 原生货币 | ETH(18 位小数) | Sepolia ETH(18 位小数) |
| 公共 RPC URL | https://base.api.onfinality.io/public | https://base-sepolia.api.onfinality.io/public |
| 区块浏览器 | https://basescan.org | https://sepolia.basescan.org |
| 传输协议 | HTTPS | HTTPS |
这些值与流行的钱包和基础设施提供商使用的值相同。如果您正在构建生产级应用,您可能需要托管或专用的 RPC 端点,而不是公共端点,因为公共端点有速率限制且是共享的。OnFinality 提供 RPC 定价 以获得更高的吞吐量和可靠性。
决策指南:您应该使用哪个端点?
您对端点的选择取决于您的阶段和流量:
- 原型开发或黑客松:使用公共端点
https://base.api.onfinality.io/public。它是免费的,适用于小请求量。 - 中等流量的生产 dApp:使用托管 RPC 服务,如 OnFinality 的 Base 网络 RPC。您将获得更高的速率限制、多个端点和故障转移。
- 高吞吐量或数据密集型工作负载:考虑为 Base 使用 专用节点。这使您独占节点访问权,避免嘈杂邻居,并支持大量的
eth_getLogs或归档查询。 - 测试网开发:使用 Base Sepolia 端点
https://base-sepolia.api.onfinality.io/public进行测试,而不会冒主网资金的风险。
如果您不确定,请从公共端点开始,并监控您的请求量。当您接近速率限制或需要一致的延迟时,请切换到付费计划。
什么是 Base 网络 RPC 端点?
Base 网络 RPC 端点是一个通过 HTTPS 接受 JSON-RPC 请求的 URL。它允许您的应用程序读取区块链数据(余额、交易收据、合约状态)并发送交易。该端点是 Base 区块链的入口点,Base 是一个使用 OP Stack 构建的以太坊 Layer 2 网络。
OnFinality 为 Base 主网提供了一个公共端点:https://base.api.onfinality.io/public。此端点免费使用,但有速率限制。对于生产环境,您应该使用来自 OnFinality 等提供商的专用或托管端点。
如何配置您的钱包
要将 Base 添加到 MetaMask 等钱包,请使用上表中的链设置。以下是典型配置:
- 网络名称:Base
- 新的 RPC URL:
https://base.api.onfinality.io/public - 链 ID:8453
- 货币符号:ETH
- 区块浏览器 URL:
https://basescan.org
对于 Base Sepolia,请使用测试网值。这使您能够与 dApp 交互并测试合约。
使用 ethers.js 使用端点
在 ethers.js 中,您可以使用端点 URL 创建 provider。以下是一个示例:
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://base.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block number:", blockNumber);
}
getBlockNumber();
此 provider 可用于读取数据或签名和发送交易。对于生产环境,请将 URL 替换为您的托管端点。
使用 viem 使用端点
Viem 是一个现代的 TypeScript 库。以下是创建客户端的方法:
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();
console.log(blockNumber);
Viem 包含 Base 的链定义,因此您只需提供传输 URL。
使用 curl 发送原始 JSON-RPC 请求
您可以直接使用 curl 测试端点。以下是一个获取最新区块编号的示例:
curl https://base.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
响应将是一个包含十六进制区块编号的 JSON 对象。这是验证连接性的快速方法。
调试常见的 RPC 问题
在使用 Base RPC 时,您可能会遇到错误。以下是常见症状和修复方法:
| 症状 | 可能原因 | 修复 |
|---|---|---|
ECONNREFUSED 或超时 | 端点不可达或网络问题 | 检查您的互联网连接和 URL。尝试其他提供商。 |
429 Too Many Requests | 公共端点速率限制超出 | 使用付费计划或专用节点。降低请求频率。 |
-32000 或 -32005 错误 | 无效请求或方法不受支持 | 验证 JSON-RPC 方法和参数。检查链 ID。 |
nonce too low | 交易 nonce 过时 | 使用最新区块的 eth_getTransactionCount 刷新 nonce。 |
insufficient funds | 钱包余额不足 | 在 Base 上为钱包充值 ETH。 |
有关更详细的故障排除,请参阅我们的 RPC 故障排除指南。
生产就绪检查清单
在部署到主网之前,请检查此清单:
- 使用托管或专用 RPC 端点,而不是公共端点。
- 设置对请求失败和延迟的监控。
- 实现具有指数退避的重试逻辑。
- 如果需要实时订阅,请使用 WebSocket。
- 先在 Base Sepolia 上测试。
- 确保您的链 ID 正确(主网为 8453)。
- 验证您的提供商支持您需要的方法(例如,用于事件索引的
eth_getLogs)。
OnFinality 的 Base 网络页面 提供了有关可用功能和计划的更多详细信息。
关键要点
- Base 主网 RPC 端点是
https://base.api.onfinality.io/public,链 ID 为 8453。 - 对于生产环境,请使用托管或专用 RPC 提供商以避免速率限制并确保可靠性。
- 使用正确的链设置配置钱包和 SDK。
- 使用 curl 或 ethers/viem 等库与端点交互。
- 通过检查速率限制、nonce 和网络连接来调试常见问题。
常见问题解答
什么是 Base 网络 RPC 端点?
Base 网络 RPC 端点是用于向 Base 区块链发送 JSON-RPC 请求的 URL。OnFinality 在 https://base.api.onfinality.io/public 提供了一个公共端点。
公共 Base RPC 端点免费吗?
是的,公共端点免费使用,但有速率限制。对于生产环境,请考虑付费计划。
Base 的链 ID 是什么?
Base 主网的链 ID 是 8453。Base Sepolia 测试网的链 ID 是 84532。
如何将 Base 添加到 MetaMask?
使用上表中的链设置:RPC URL https://base.api.onfinality.io/public,链 ID 8453,符号 ETH,浏览器 https://basescan.org。
如果我收到 429 错误该怎么办?
429 错误表示您超出了速率限制。升级到托管或专用 RPC 服务,或降低请求频率。
我可以将 WebSocket 与 Base 一起使用吗?
可以,但公共端点仅支持 HTTPS。对于 WebSocket,您需要提供该功能的提供商,例如 OnFinality 的专用节点。
在哪里可以找到有关 Base RPC 的更多信息?
访问 OnFinality 上的 Base 网络页面 以了解端点、计划和功能的详细信息。