摘要
Base Sepolia 是 Base 的测试网,Base 是一个基于 OP Stack 构建的以太坊 Layer 2。它镜像了 Base 主网的 EVM 行为,链 ID 为 84532,使用测试 ETH,因此你可以在不触及真实资金的情况下部署合约、测试交易和演练升级。对于在 Base 上构建的团队来说,它是标准的预发布环境。
在开发时,你可以连接到公共端点或托管 RPC 服务。OnFinality 提供 Base Sepolia RPC 端点和专用节点选项,因此随着测试工作负载的增长,你可以从共享公共端点迁移到隔离的基础设施。
Base Sepolia 是 Base 的测试网,Base 是基于 OP Stack 构建的以太坊 Layer 2 网络。如果你要将合约部署到 Base、测试钱包集成或演练协议升级,Base Sepolia 是你首先进行这些操作的地方。它在 EVM 层面与 Base 主网行为一致,但使用无价值的测试 ETH,因此错误只会浪费时间,不会造成资金损失。
简短回答:Base Sepolia 是一个公共测试网络,链 ID 为 84532,原生 gas 代币为 ETH,区块浏览器位于 sepolia.basescan.org。你可以使用与主网相同的工具(ethers、viem、Hardhat、Foundry)连接到它,只需将目标指向 Base Sepolia RPC 端点。
快速建议:你需要 Base Sepolia 还是 Base 主网?
使用以下内容来决定下一次部署的目标。
| 你的情况 | 使用 Base Sepolia | 使用 Base 主网 |
|---|---|---|
| 首次合约部署或升级演练 | 是 | 否 |
| 钱包或 dApp 集成测试 | 是 | 仅在测试网通过后 |
| 对 RPC 和索引器进行负载测试 | 是,但预期测试网限制 | 是,使用生产容量 |
| 真实用户资金或生产流量 | 否 | 是 |
| 复现主网 bug | 仅当它在测试网上也能复现时 | 是,针对归档数据 |
常见的工作流程是在 Base Sepolia 上开发和迭代,然后将相同的字节码和配置推广到 Base 主网。将链配置集中在一个地方,这样切换网络只需更改一个环境变量。
Base Sepolia 链设置一览
这些是你粘贴到钱包或框架配置中的值。
| 设置 | 值 |
|---|---|
| 网络名称 | Base Sepolia Testnet |
| 链 ID | 84532 |
| 原生货币 | ETH (Sepolia Ether),18 位小数 |
| RPC URL | https://base-sepolia.api.onfinality.io/public |
| 区块浏览器 | https://sepolia.basescan.org |
| 传输 | HTTP |
Base Sepolia 是一个 OP Stack rollup,因此它继承了以太坊的 EVM 语义。为以太坊或 Base 主网编译的合约通常可以原样部署。你会注意到的差异是经济性和操作性的:gas 便宜且测试 ETH 免费,出块时间和排序器行为是测试网特有的,状态可能在网络升级期间重置或重组。
连接钱包或框架
对于浏览器钱包,使用上面的链 ID 和 RPC URL 添加自定义网络。对于代码,大多数团队使用 viem 或 ethers。以下是一个最小的 viem 客户端:
import { createPublicClient, http } from 'viem';
import { baseSepolia } from 'viem/chains';
const client = createPublicClient({
chain: baseSepolia,
transport: http('https://base-sepolia.api.onfinality.io/public'),
});
const blockNumber = await client.getBlockNumber();
console.log('Base Sepolia head:', blockNumber);
如果你更喜欢原始 JSON-RPC,一个 curl 调用可以确认端点可达并返回预期的链 ID:
curl -s https://base-sepolia.api.onfinality.io/public \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
响应应该是 0x14a34,即十进制的 84532。如果你得到不同的链 ID,说明你指向了错误的网络。
从水龙头获取测试 ETH
你无法购买 Base Sepolia ETH;你需要从水龙头请求。水龙头通常要求主网余额、社交账户或少量工作量证明,并且按地址和 IP 进行速率限制。实用提示:
- 只请求你需要的量。由于 gas 便宜,少量 ETH 可以覆盖许多测试交易。
- 如果水龙头为空,尝试另一个或等待冷却时间结束,而不是频繁请求。
- 在团队的共享笔记中保留一个已注资的测试地址,这样新贡献者第一天就不会被阻塞。
- 切勿将主网 ETH 发送到测试网地址并期望它到达;网络是分开的。
运行自己的 Base Sepolia 节点与使用端点
对于 Base Sepolia 访问,你有三种现实选择。
| 选项 | 设置工作量 | 最适合 | 注意事项 |
|---|---|---|---|
| 公共共享端点 | 无 | 快速测试、教程、低流量脚本 | 共享速率限制,无隔离 |
| 托管 RPC (OnFinality) | 几分钟 | CI 管道、团队开发、预发布 dApp | 选择与请求量匹配的计划 |
| 自托管节点 | 高 | 完全控制、自定义插桩、离线研究 | 同步时间、磁盘和持续维护 |
OnFinality 通过其 API 服务提供 Base Sepolia RPC 端点,以及 Base 主网 和其他测试网。如果你的测试工作负载增长——并行 CI 运行、索引器回填或许多开发者共享一个密钥——专用节点 为你提供隔离容量,而不是竞争共享池。你可以在 RPC 定价 页面比较计划,并查看 支持的 RPC 网络 的完整列表。
Base Sepolia 实践中会出现什么问题
测试网以主网不会出现的方式失败,了解失败模式可以节省数小时。
- 重置后的链状态过期。 测试网在升级期间偶尔会重启或重组。你的本地缓存、索引器或 nonce 跟踪器可能持有不再存在的数据。当区块号倒退时,重新同步或清除缓存。
- Nonce 和替换问题。 快速连续的测试交易可能会冲突。如果交易卡住,检查待处理 nonce,并用更高的费用替换它或等待内存池清空。
- 水龙头速率限制。 如果你的 CI 作业每次运行都请求测试 ETH,你会达到限制。为一个长期存在的测试账户注资并重复使用。
- 端点速率限制。 共享公共端点会限制繁重的
eth_getLogs查询和大批量调用。如果你看到间歇性的 429,将该工作负载转移到托管或专用端点。 - 错误的链 ID。 部署到错误的网络是经典的测试网错误。在广播之前,在部署脚本中断言链 ID。
在部署脚本中进行简单的预检可以防止大多数这些问题:
const chainId = await client.getChainId();
if (chainId !== 84532) {
throw new Error(`Wrong network: expected 84532, got ${chainId}`);
}
可以干净地迁移到主网的测试模式
当你的测试设置镜像生产环境时,Base Sepolia 最有价值。一些习惯可以让向 Base 主网的推广变得无聊,而这正是目标。
- 参数化 RPC URL 和链 ID。 永远不要在应用程序代码中硬编码测试网端点。从环境变量中读取它,这样相同的构建可以针对测试网和主网运行。
- 测试失败路径。 在测试网上模拟回滚、gas 不足和交易丢失,因为在那里复现成本低廉。
- 演练你的监控。 将你的健康检查和告警也指向测试网端点,这样在生产环境中依赖它之前,你就知道健康响应是什么样子。
- 保持归档感知计划。 如果你需要历史状态或日志进行调试,在依赖之前确认你的提供商支持你需要的深度。
关于评估提供商的更广泛框架,请参阅 如何选择 RPC 提供商。
何时离开公共端点
共享公共端点对于学习和轻量脚本来说没问题。当以下任何情况成立时,迁移到托管或专用端点:
- 你的 CI 管道在每次提交时运行合约测试,并偶尔被限流。
- 多个开发者或服务共享一个端点,并相互影响速率限制。
- 你需要为预发布演示或用户验收测试提供一致的性能。
- 你想要使用可见性、每个环境单独的密钥,或在提供商之间故障转移的能力。
OnFinality 的 API 服务 正是为此过渡而设计:从共享端点开始,然后随着测试和预发布需求的增长扩展到专用基础设施,而无需更改应用程序代码。
关键要点
- Base Sepolia 是 Base 的测试网,Base 是基于 OP Stack 构建的以太坊 Layer 2,链 ID 为 84532,gas 代币为 ETH。
- 它镜像了 Base 主网的 EVM 行为,因此合约和工具可以以最小的更改迁移。
- 你使用标准工具连接到 Base Sepolia RPC 端点;OnFinality 公共端点是 https://base-sepolia.api.onfinality.io/public。
- 测试 ETH 来自水龙头,并且有速率限制;为 CI 注资一个可重复使用的测试账户。
- 常见故障包括重置后的状态过期、nonce 冲突、水龙头限制和端点限流。
- 当 CI、预发布或团队使用超出公共限制时,从共享端点迁移到托管或专用基础设施。
常见问题
Base Sepolia 和以太坊 Sepolia 一样吗? 不一样。以太坊 Sepolia 是一个以太坊测试网。Base Sepolia 是一个独立的 Layer 2 测试网,运行在以太坊的 Sepolia 环境之上。它们有不同的链 ID 和不同的 RPC 端点。
Base Sepolia 的链 ID 是什么? 84532,十六进制为 0x14a34。
我可以在 Base 主网上使用 Base Sepolia ETH 吗? 不可以。测试网 ETH 没有价值,仅存在于测试网上。你需要 Base 主网上的真实 ETH 来支付那里的 gas。
我需要为 Base Sepolia 使用特殊的 RPC 提供商吗? 不需要,任何 Base Sepolia RPC 端点都可以与标准 EVM 工具一起使用。当你需要可靠性、更高的限制或为 CI 和预发布提供隔离时,托管提供商会有所帮助。
Base Sepolia 支持 WebSocket 订阅吗? 传输支持因提供商而异。在依赖订阅之前,请检查端点文档中记录的传输方式;OnFinality 公共 Base Sepolia 端点是 HTTP。
我如何知道我的应用已准备好用于 Base 主网? 当相同的构建在 Base Sepolia 上以类似生产的配置通过,你的监控已连接,并且你的部署脚本在广播之前断言正确的链 ID 时。