Testnet

测试网(“测试网络”的简称)是一个替代的区块链环境,它复制了区块链的功能。 共识规则以及生产主网的协议逻辑,但使用不具有实际货币价值的代币进行操作。

测试网作为沙盒环境,供开发人员、协议工程师、智能合约审计员和最终用户试验新功能、部署和调试智能合约以及进行测试。 分散的应用程序 (dApps),模拟网络升级,验证协议变更——所有这些都无需冒着损失真实加密货币资产或产生实际交易费用的风险。

每个主流区块链生态系统都维护着一个或多个官方测试网。这些测试网在结构上与其对应的主网完全相同或几乎完全相同,运行着相同的客户端软件和虚拟机(例如虚拟机)。 以太坊虚拟机)、共识机制和交易格式。

关键区别在于,测试网代币(通常被称为“测试 ETH”、“测试 BTC”或“测试 SOL”)通过水龙头(一种基于网络的免费服务,可向任何请求的钱包地址免费发放少量测试网代币)进行分发。由于这些代币没有市场价值,开发者可以部署数百个智能合约,执行数千笔交易,并故意触发错误情况而无需承担任何经济损失。

测试网在区块链开发生命周期中扮演着不可或缺的角色。任何智能合约、协议升级或去中心化应用程序在部署到涉及真实资产的生产主网之前,都必须在一个或多个测试网上进行严格测试。这种做法有效防止了无数漏洞、安全隐患和经济攻击进入生产环境。

以太坊的重大升级,例如合并(从 工作证明股权证明 2022 年 9 月的升级(上海/Capella 升级,于 2023 年 4 月启用质押 ETH 的提现功能)和 2024 年 3 月的 Dencun 升级(引入 proto-danksharding)都在主网部署前在多个测试网上进行了广泛的测试。

测试网有多种类型。公共测试网对所有人开放,并尽可能地模拟主网的运行状况。私有测试网(也称为开发网或本地测试网)运行在开发者的本地机器或受控的基础设施中,提供更快的区块生成速度和对网络参数的完​​全控制。持久性测试网无限期运行并长期保持其状态,而临时性测试网则为特定的测试活动而启动,并在测试结束后弃用。一些协议还运行激励性测试网,参与者可以通过在预发布阶段参与测试活动、漏洞赏金或验证器操作来赚取真正的主网代币。

起源与历史

2009 年 1 月当中本聪推出比特币时,独立测试网络的概念并没有立即正式确立。早期的比特币开发者直接在主网上进行测试,因为当时的网络规模很小,比特币的货币价值也微乎其微。

2011第一个比特币测试网(Testnet1)建立,为比特币开发者提供了一个专门的实验环境。由于难度调整方面的问题,它很快被Testnet2取代,最终又被Testnet3取代,Testnet3自此成为主要的比特币测试网。

2015 年 7 月: Ethereum 主网上线后,智能合约引入了比简单价值转移复杂得多的故障模式,因此对强大的测试基础设施的需求立即凸显出来。奥运测试网曾作为以太坊的预发布测试平台,向参与网络压力测试的人员发放奖励。

2016 年 3 月Morden 测试网是以太坊第一个长期运行的公共测试网。然而,它存在状态容量过大和同步问题,最终导致其被弃用。

2017 年 11 月设有通往Ropsten 测试网(工作量证明)成为以太坊的主要测试环境,与主网的共识机制高度相似。Ropsten 测试网被广泛使用,但偶尔会受到垃圾邮件攻击的干扰,这些攻击利用测试网代币的零成本特性来淹没网络。

2017 年 4 月Rinkeby 测试网以权威证明(PoA)网络的形式上线,提供更稳定、更可预测的区块生成。Rinkeby 要求用户进行社交认证(关联 GitHub 或社交媒体账号)才能获取测试用的 ETH,从而减少了垃圾信息。

2018高文 测试网由 Parity 团队推出,作为 PoA 的另一种替代方案。 格里 testnet 由 Afri Schoedon 提议,是一个跨客户端、社区驱动的 PoA 测试网,可与所有主流以太坊客户端配合使用。

2019 年 1 月Goerli 测试网作为首个跨客户端权威证明(PoA)测试网上线,得到了 Geth、Nethermind、Besu 和 Erigon 的支持。由于其稳定性和多客户端支持,它迅速成为最受欢迎的以太坊测试网。

2022 年 9 月以太坊合并首先在 Ropsten、Sepolia 和 Goerli 测试网上进行了测试,之后才部署到主网上。这些测试网演练对于识别客户端互操作性问题以及验证从工作量证明到权益证明的过渡至关重要。

2023Goerli 测试网已被弃用,取而代之的是 Sepolia (用于应用层测试) 霍尔斯基 (用于协议层和质押测试)。Holesky 于 2023 年 9 月推出,拥有约 1.6 亿个测试 ETH,以模拟比主网更大的验证者集合。

2024-2025测试网已成为所有主流区块链的标准基础设施。Solana 维护着开发网和测试网,Polygon 运营着 Mumbai(后更名为 Amoy),Arbitrum 运行着基于 Sepolia 的测试网,而 Cosmos 链则使用专用的测试网链。激励型测试网成为新兴 Layer 1 和 Layer 2 项目在主网上线前吸引早期社区参与的重要策略。

“测试网是区块链开发中默默无闻的英雄。每一次成功的主网部署之前,都离不开数百小时的测试网实验。在测试网上发现漏洞的成本为零;而在主网上发现漏洞的成本可能高达数亿美元。”——以太坊核心开发者兼AllCoreDevs协调员Tim Beiko

简单来说

  1. 把测试网想象成飞行员的飞行模拟器。就像飞行员在驾驶载有真实乘客的真实飞机之前,会在模拟器中练习起飞、着陆和紧急程序一样, 区块链开发人员 在正式上线涉及真金白银的真实网络之前,先在测试网上练习部署智能合约和运行交易。
  2. 想象一下,一个类似股票市场的棋盘游戏,你用虚拟货币进行交易。你可以了解市场运作方式,测试策略,并在不损失真金白银的情况下犯错。测试网就是区块链的类似工具——它使用虚拟货币(测试网代币),让开发者可以自由地进行实验,而无需承担任何财务风险。
  3. 测试网就像戏剧演出前的彩排。演员们会穿着全套戏服,灯光一应俱全地表演整场节目,但没有观众,也不售票。如果出现任何问题,他们会在正式上线(主网上线)之前进行修复。
  4. 想象一下建筑工地上的沙箱,建筑师在正式动工前会建造摩天大楼的小型模型。测试网就像沙箱一样,开发者可以在这里构建和测试他们的区块链应用程序,而且不会产生任何现实世界的后果。
  5. 你可以把它想象成电子游戏中的练习模式。你可以使用和正式游戏一样的所有武器、地图和机制,但你的分数不会计入正式比赛,输了也不会受到惩罚。开发者使用测试网作为区块链应用程序的练习模式。

重要提示: 测试网代币不具备任何货币价值,绝不应买卖。水龙头网站会免费分发这些代币。任何试图出售测试网代币的市场或个人,要么是在进行诈骗,要么违背了测试生态系统的精神。此外,测试网的运行状况并非总是能完美复刻主网——验证节点数量、区块时间、gas 价格和网络拥塞程度的差异都可能导致与主网不同的结果。

关键技术特征

网络架构

  • 测试网运行与主网相同的客户端软件(例如,以太坊的 Geth、Nethermind、Besu),并采用相同的协议规则和交易格式。
  • 区块生成遵循相同的共识机制或其简化版本(为了稳定,通常采用权威证明机制)。
  • 网络参数(例如区块 gas 限制、区块时间和交易格式)与主网规范相一致。
  • 每个测试网的链 ID 都是唯一的,以防止测试网和主网之间发生交易重放(例如,Sepolia 使用链 ID 11155111,Holesky 使用链 ID 17000)。
  • 测试网维护着自身独立的系统状态,包括账户余额、合约存储和交易历史记录。

水龙头分配系统

  • 水龙头是向开发者钱包地址分发免费测试网代币的网络服务或智能合约。
  • 限速可防止滥用(通常每次请求限速 0.1-1.0 个测试 ETH,冷却时间为 24-72 小时)。
  • 部分水龙头网站需要社交账号认证(例如 GitHub、Twitter/X)或验证码验证,以防止机器人滥用。
  • 工作量证明(PoW)水龙头要求用户在获得代币之前解决一个小的计算难题。
  • 热门水龙头包括 Alchemy Sepolia 水龙头、Infura 水龙头和 Google Cloud Web3 水龙头。

测试网部署的工作原理

  1. 开发者使用 Solidity(或其他区块链专用语言)编写智能合约,并在本地进行编译。
  2. 开发者配置其开发环境(Hardhat、Foundry 或 Remix),以通过 RPC 端点连接到目标测试网。
  3. 开发者通过水龙头获取测试网代币,并将其充值到部署钱包中。
  4. 智能合约部署到测试网,消耗测试网的gas代币(这些代币没有实际价值)。
  5. 开发人员与已部署的合约进行交互——调用函数、模拟用户工作流程以及测试边界情况。
  6. 自动化测试套件(使用 Hardhat、Foundry 或 Brownie 等框架)针对测试网部署运行,以验证其行为。
  7. 所有测试通过且合约经过审计后,将使用真实代币把相同的字节码部署到主网上。

测试网类型及其应用场景

  • 公共持久测试网 (Sepolia,Holesky):用于持续测试、集成测试和 dApp 预发布环境的长期运行网络
  • 地方发展网络 (Hardhat Network、Anvil、Ganache):可在开发者机器上运行的即时单节点区块链,用于快速迭代和单元测试
  • 分叉测试网:本地网络,可将主网状态克隆到特定区块,允许开发者在不影响主网的情况下,针对真实的合约部署和代币余额进行测试。
  • 临时测试网 (开发网络):为特定升级测试活动而搭建的临时网络,测试结束后即被弃用。
  • 激励性测试网:预发布网络,参与者可通过参与测试、验证和错误报告获得真实的代币奖励。

状态管理和重置

  • 一些测试网会定期进行状态重置,以控制区块链膨胀并维持性能。
  • 开发人员在使用测试网进行长时间集成测试时,必须考虑可能发生的状态重置。
  • 持久性测试网络会随着时间的推移积累状态,这可能会给新节点带来同步方面的挑战。
  • Goerli 的弃用和 Holesky 在 2023 年的推出,体现了淘汰臃肿的测试网、启用全新测试网的做法。

优点缺点

优势

缺点

零财务风险所有测试均使用不具备任何货币价值的免费代币,从而避免了在开发过程中损失真实资产的可能性。

不完善的主网模拟验证者数量、网络拥塞程度和 Gas 费动态的差异意味着测试网的行为可能无法完全复制主网的情况。

完整协议保真度测试网运行与主网完全相同的客户端软件和共识规则,从而确保高保真测试。

水龙头限制对于需要大量测试代币进行压力测试或负载测试的开发者来说,限速水龙头可能会令人沮丧。

升级彩排关键的网络升级(硬分叉、弹性权益注入)会在主网部署前在测试网上进行演练,以便及早发现漏洞。

垃圾邮件和滥用行为测试网代币的零成本特性会吸引垃圾交易,从而降低网络性能并使区块充斥垃圾数据。

社区参与公共测试网允许更广泛的社区在去中心化应用(dApp)正式上线前对其进行测试、报告漏洞并验证协议变更。

定期折旧测试网偶尔会被弃用(例如 Ropsten、Rinkeby、Goerli),迫使开发者将合约和基础设施迁移到新网络。

开发者教育测试网为区块链新手开发者提供了一个安全的学习环境,让他们可以练习部署合约和与区块链交互。

同步开销长时间运行的测试网会积累庞大的状态数据库,需要大量的磁盘空间和时间来同步新节点。

整合测试dApp前端、后端服务、索引器和预言机都可以在不产生任何经济成本的情况下,针对真实的区块链行为进行端到端测试。

安全自满情绪开发者如果代码在测试网上运行正常,可能会变得过于自信,忘记主网引入了额外的攻击途径,例如 MEV 攻击、抢先交易和经济漏洞利用。

审计员协作智能合约审计员可以在安全审查期间部署合约并与测试网上的合约进行交互,而无需主网 gas 资金。

网络不稳定部分测试网会出现宕机、链重组或共识失败等问题,而这些问题在更稳定的主网上则不会发生。

CI/CD 集成自动化部署管道可以将合约部署到测试网上,作为持续集成工作流程的一部分。

代币分配不均一些开发者囤积测试网代币,导致水龙头暂时无法供其他用户使用。

 

风险管理

开发工作流程风险

  • 在本地测试之后、主网部署之前,务必至少部署到一个公共测试网上——本地网络无法反映跨客户端兼容性问题、网络延迟或真实世界的内存池动态。
  • 尽可能使用多个测试网:一个用于应用层测试(Sepolia),一个用于协议层测试(Holesky)。
  • 请记录您的测试所依据的测试网版本和链状态,因为测试网状态可能会更改或重置。

测试网到主网差距分析

  • 考虑 gas 价格差异:测试网 gas 是免费的,因此开发者可能不会优化 gas 消耗,直到主网部署后才发现成本较高。
  • 使用实际的代币数量和十进制精度进行测试,以捕获在小规模测试网测试中可能不会出现的算术溢出/下溢错误。
  • 请仔细验证 Oracle 集成,因为价格信息和外部数据源在测试网上的表现可能有所不同(甚至可能不存在)。
  • 模拟主网上发生的、但在测试网上很少发生的对抗性情况,例如抢先交易、三明治攻击和闪电贷漏洞利用。

基础设施可靠性

  • 不要依赖单一的 RPC 提供程序进行测试网访问;使用多个提供程序(Alchemy、Infura、QuickNode、公共 RPC 端点)以确保可用性。
  • 密切关注核心开发团队发布的测试网弃用公告,并提前做好迁移计划。
  • 维护测试网合约地址、ABI 和部署脚本的备份,以便于迁移到新的测试网。

安全测试注意事项

  • 在主网上线前,应对测试网部署进行正式的安全审计,但要认识到仅对测试网进行审计是不够的——主网上线引入的经济激励机制会改变攻击面。
  • 使用测试网分叉(例如,Hardhat 的 `mainnet forking` 功能)来测试真实的主网状态,包括真实的代币余额和合约交互,而无需部署到主网。
  • 在测试网部署中运行漏洞赏金计划,以便在主网暴露之前识别漏洞。

文化相关性

测试网在区块链开发文化中扮演着基础性角色,它是所有重大创新在正式上线前进行实战检验的试验场。“先部署到测试网”是区块链开发社区中最广为流传的格言之一,其文化渗透力堪比“私钥非我所有”。

跳过测试网部署直接上线主网的开发者经常被批评为鲁莽,而社区记录的那些本可以在测试网上发现的代价高昂的主网漏洞列表,则起到了警示作用。

以太坊社区对测试网的态度体现了其更广泛的去中心化和开放协作价值观。2023年弃用Goerli算法,转而采用Sepolia和Holesky算法的计划在以太坊治理论坛上引发了广泛的讨论,社区权衡了状态规模、验证器可访问性和跨客户端支持等因素。

Tim Beiko 和 AllCoreDevs 流程公开管理了这一过渡,体现了以太坊的治理透明度。

激励型测试网已成为新兴区块链项目启动社区的有力工具。Celestia、Sui、Aptos 和 Sei 等项目利用激励型测试网吸引了数万名早期参与者,他们通过运行验证节点、报告漏洞和对网络进行压力测试来获得主网代币奖励。

这种做法催生了一种“测试网猎人”的亚文化——参与者会系统性地加入每一个有激励机制的测试网,希望在主网上线时获得丰厚的代币空投。

测试网代币“没有价值”的概念偶尔会受到质疑。2023年,由于水龙头限制,开发者难以获得足够的测试用以太坊,Goerli测试网以太坊的二级市场曾短暂出现。

这一现象引发了关于测试网代币经济学的讨论,并最终促成了 Holesky 发行 1.46 亿个测试 ETH 的决定,从而确保了充足的可用性。

实际例子

  1. 以太坊合并——测试网演练
  • 场景: 以太坊于 2022 年 9 月完成从工作量证明 (PoW) 到权益证明 (PoS) 的过渡,即“合并”,是该网络历史上最重大的升级,需要实现无缝过渡,期间不能出现停机或资金损失。
  • 实施: 此次合并在三个公共测试网上依次进行了演练:Ropsten(2022 年 6 月)、Sepolia(2022 年 7 月)和 Goerli(2022 年 8 月)。每次测试网合并都允许客户端团队(Geth、Nethermind、Besu、Prysm、Lighthouse、Teku 和 Lodestar)识别并修复共识转换逻辑中的互操作性问题、最终性错误和极端情况。每个测试网都有数百个验证节点参与。
  • 结果: 2022年9月15日的主网合并顺利完成,零停机时间,无资金损失。测试网演练被认为是平稳过渡的主要原因,因为它发现了多个关键漏洞,包括Ropsten架构上的Prysm客户端问题和Goerli架构上的最终确认延迟问题。

Uniswap V3 — 测试网启动和漏洞发现

  • 场景: Uniswap Labs 在 2021 年 5 月主网上线之前,已将具有集中流动性头寸的 Uniswap V3 部署到 Ropsten 和 Kovan 测试网上。
  • 实施: 开发者和社区成员与测试网部署进行了交互,创建流动性头寸、执行互换交易,并测试了围绕价格变动边界、费用累积和头寸管理等极端情况。此外,还对测试网合约运行了自动化模糊测试工具。
  • 结果: 在测试网测试期间,我们发现并修复了几个与交易量取整和手续费计算相关的极端情况错误。主网上线顺利进行,Uniswap V3 也发展成为交易量最大的去中心化交易所。

Solana 测试网 — 网络压力测试

  • 场景: Solana Labs 使用其公共测试网对网络吞吐量进行压力测试,并在将升级部署到主网之前识别性能瓶颈。
  • 实施: Solana 测试网经常处理超过主网交易量的交易负载,自动化机器人每秒可生成数千笔交易。验证节点运营商会在升级主网验证节点之前,先在测试网上测试新的客户端版本。测试网曾进行过有意的压力测试,将吞吐量推高至 50,000 TPS 以上。
  • 结果: 测试网压力测试帮助 Solana 识别并解决了多个网络拥塞问题,包括 QUIC 协议迁移和优先收费机制。这些机制在 2023-2024 年主网部署前已在测试网上进行了测试。

Celestia激励测试网——社区引导

  • 场景: Celestia 是一个模块化数据可用性层,在 2023 年 10 月主网上线之前,运行了多个激励性测试网阶段(Mamaki、Mocha、Arabica)。
  • 实施: 超过 200,000 万名参与者加入了 Celestia 的激励性测试网计划,运行轻节点、全节点和验证节点。参与者提交数据块、测试模块化架构,并通过结构化的赏金计划报告漏洞。测试网参与者在主网上线时获得了一部分 TIA 代币供应量。
  • 结果: 激励性测试网计划在主网上线前建立了一个强大的验证者集合和社区,促成了多个协议级漏洞的发现,并在2023年创建了最活跃的上线日社区之一。许多早期测试网参与者获得了价值数千美元的TIA代币分配。

对比表

特性

公共测试网(例如,Sepolia)

本地发展网络(例如 Hardhat)

分叉主网(例如 Hardhat Fork)

激励性测试网

令牌值

无(不含水龙头)

无(自费)

无(模拟)

未来可能的空投

网络保真

高(多客户端,多验证器)

低(单节点,即时挖矿)

非常高(主网实际状态)

高(真实验证者,真实条件)

阻止时间

与主网匹配(以太坊约需 12 秒)

即时或可配置

即时或可配置

匹配目标主网

设置复杂性

最小(通过 RPC 连接)

最小(npm 安装)

中等难度(需要归档节点或 RPC)

中等至高(验证器设置)

Cost

免费

免费

免费

免费(时间投入)

最适合

集成测试、预发布、审计

单元测试、快速迭代、调试

测试真实合约状态和流动性

上线前社区建设、验证者培训

坚持

持久性(可能会随着时间推移而弃用)

临时数据(重启后重置)

临时数据(重启后重置)

限时优惠(仅限预售)

来源

  • 以太坊基金会 — 网络文档 — 以太坊官方文档,解释了主网、测试网和开发网络,并提供了每个受支持的测试网的配置详情。
  • Sepolia 测试网 — Sepolia 测试网的官方文档和资源,包括水龙头链接、RPC 端点和区块浏览器参考资料。
  • Holesky 测试网 — 关于 Holesky 测试网的官方信息,该测试网于 2023 年 9 月启动,是以太坊质押和验证器测试的主要协议层测试网。
  • Hardhat 文档 — 网络 — 使用 Hardhat 开发框架配置测试网部署的文档,包括 Sepolia 和自定义网络配置。
  • Foundry Book — 部署 — Foundry框架文档,涵盖使用forge和cast CLI工具将智能合约部署到测试网的内容。
  • Solana 集群文档 — Solana 官方文档,描述了 Devnet、Testnet 和 Mainnet Beta 集群的配置及其预期用途。
  • Alchemy Sepolia 水龙头 — Sepolia 是使用最广泛的以太坊测试网水龙头之一,它向开发者免费分发 ETH 用于测试。
  • Tim Beiko — AllCoreDevs 会议记录 — 以太坊协议会议存储库,其中包含 AllCoreDevs 会议的记录,这些会议协调测试网启动、弃用和升级演练。

常见问题

测试网和主网有什么区别?

测试网是一个独立的区块链网络,专门用于测试和开发。它运行与主网(生产网络)相同的软件,遵循相同的规则,但使用不具备实际货币价值的代币。主网才是进行真实交易、使用具有实际市场价值的加密货币的网络。开发人员在将代码部署到主网之前,总是先在测试网上进行测试。

如何获取测试网代币?

测试网代币通过水龙头网站免费分发——这些基于网络的平台会将少量测试代币发送到您的钱包地址。热门的以太坊测试网水龙头网站包括 Alchemy Sepolia Faucet、Infura Faucet 和 Google Cloud Web3 Faucet。为了防止滥用,部分水龙头网站要求用户通过 GitHub 帐户或社交媒体账号进行身份验证。

测试网代币真的值钱吗?

不。测试网代币没有任何货币价值,绝对不能买卖或交易。它们仅用于测试目的。任何试图出售测试网代币的市场或个人,要么是在进行诈骗,要么是在从事违反开发社区规范的行为。

唯一的例外是激励性测试网,参与者可以通过为测试活动做出贡献来获得分配真正的主网代币。

2025-2026年我应该使用哪个以太坊测试网?

截至 2025-2026 年,推荐的以太坊测试网为 Sepolia(用于应用层测试、dApp 开发和智能合约部署)和 Holesky(用于协议层测试、质押机制和验证器操作)。较旧的测试网,例如 Ropsten、Rinkeby 和 Goerli,已被弃用,不应再使用。

测试网交易可以在区块浏览器上看到吗?

是的。公共测试网有自己的区块浏览器。例如,Etherscan 为每个以太坊测试网维护了独立的浏览器:Sepolia.etherscan.io 用于 Sepolia 测试网,holesky.etherscan.io 用于 Holesky 测试网。这些浏览器与主网浏览器一样,显示交易、合约部署和账户余额。

为什么测试网有时会被弃用或替换?

测试网会随着时间的推移积累区块链状态(账户数据、合约存储、交易历史),这最终会导致性能下降,并给新节点带来同步困难。此外,随着主网共识机制的演进,测试网也必须更新以与之匹配。以太坊社区会定期弃用旧的测试网,并启动状态干净、配置更新的新测试网。例如,Goerli 测试网在 2023 年被弃用,因为其状态过于庞大,且其验证者集合无法充分代表主网的权益证明(PoS)配置。

本词汇表条目提供有关区块链技术的教育信息,并非投资建议。

新闻