Testnet

了解与测试网合约相关的基本加密术语,重点关注促进区块链测试和开发的关键概念和术语。

测试网(简称“测试网络”)是一种替代区块链环境,它复制了生产主网的功能、共识规则和协议逻辑,但使用的是不具备实际货币价值的代币。测试网作为一个沙盒环境,开发者、协议工程师、智能合约审计员和最终用户可以在其中试验新功能、部署和调试智能合约、进行测试。 分散式应用程序(dApps)模拟网络升级,并验证协议变更——所有这些都无需冒着损失真实加密货币资产或产生实际交易费用的风险。

每个主流区块链生态系统都维护着一个或多个官方测试网。这些测试网在结构上与其对应的主网完全相同或几乎完全相同,运行着相同的客户端软件、虚拟机(例如以太坊虚拟机)、共识机制和交易格式。关键区别在于,测试网代币(通常被称为“测试 ETH”、“测试 BTC”或“测试 SOL”)通过水龙头(一种基于网络的、可向任何请求的钱包地址分发少量测试网代币的服务)免费分发。由于这些代币没有市场价值,开发者可以部署数百个智能合约、执行数千笔交易,并故意触发错误情况而无需承担任何经济损失。

测试网在区块链开发生命周期中扮演着不可或缺的角色。任何智能合约、协议升级或去中心化应用程序在部署到实际资产面临风险的生产主网上之前,都必须在一个或多个测试网上进行严格测试。以太坊的重大升级,例如 2022 年 9 月的 Merge 更新、2023 年 4 月的 Shanghai/Capella 升级以及 2024 年 3 月的 Dencun 升级,在主网上线之前都经过了多个测试网的广泛测试。

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

起源与历史

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

2011年:第一个比特币测试网(Testnet1)建立。由于难度调整问题,它很快被Testnet2取代,最终被Testnet3取代,Testnet3自此一直是主要的比特币测试网。

2015年7月:以太坊主网正式上线。此前,奥运测试网作为以太坊的预发布测试平台,向参与网络压力测试的参与者发放奖励。

2016 年 3 月:Morden 测试网是以太坊第一个长期运行的公共测试网,但由于状态大小膨胀和同步问题而被弃用。

2016 年 11 月:Ropsten 测试网(工作证明Ropsten作为以太坊的主要测试环境推出,其共识机制与主网高度相似。Ropsten被广泛使用,但偶尔会受到垃圾邮件攻击的干扰。

2017年4月:Rinkeby测试网作为权威证明(PoA)网络上线,提供更稳定的区块生成。Rinkeby要求用户进行社交认证(关联GitHub或社交媒体账户)才能获得测试用的ETH。

2018 年:Parity 团队推出了 Kovan 测试网,作为另一种 PoA 替代方案;Afri Schoedon 提出了 Goerli 测试网,作为跨客户端、社区驱动的 PoA 测试网。

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

2022年9月:以太坊合并在主网上线前,在Ropsten、Sepolia和Goerli测试网上进行了演练。这些测试网演练对于识别客户端互操作性问题至关重要。

2023年9月28日:Holesky测试网正式上线,取代Goerli进行协议层和质押测试。原计划于2023年9月15日(合并一周年纪念日)上线,但由于执行层创世文件中的配置错误,导致上线时间推迟了两周。Holesky测试网初始部署了1.6亿枚测试ETH,并支持140万个验证节点。

2024 年 4 月:Goerli 在 2024 年 3 月 13 日 Dencun 升级后正式弃用。开发者迁移到 Sepolia(应用层测试)和 Holesky(协议层和质押测试)。

2024-2025年:测试网成为所有主流区块链的标准基础设施。Solana维护着开发网和测试网,Polygon运营着Amoy,Arbitrum运行着基于Sepolia的测试网,而Cosmos链则使用专用的测试网链。激励型测试网成为L1和L2新项目吸引早期社区参与的重要策略。

简单来说

把测试网想象成飞行员的飞行模拟器。就像飞行员在驾驶载有真实乘客的真飞机之前,会在模拟器中练习起飞、降落和紧急情况处理程序一样,区块链开发者在正式上线涉及真金白银的网络之前,也会在测试网上练习部署智能合约和运行交易。

测试网就像戏剧演出前的彩排。演员们会穿着全套戏服,灯光一应俱全地表演整场节目,但没有观众,也不售票。如果出现任何问题,他们会在正式上线(主网上线)之前进行修复。

想象一下建筑工地上的沙箱,建筑师在正式动工建造摩天大楼之前,会先用沙箱搭建一个小型模型。测试网就像一个沙箱,开发者可以在这里构建和测试他们的区块链应用程序,而且不会产生任何现实世界的后果。

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

关键技术特征

网络架构:

测试网运行与主网相同的客户端软件(例如以太坊的 Geth、Nethermind 和 Besu),采用相同的协议规则和交易格式。网络参数,例如区块 gas 限制、区块时间和交易格式,都与主网规范一致。每个测试网的链 ID 都是唯一的,以防止测试网和主网之间发生交易重放(Sepolia 使用链 ID 11155111,Holesky 使用链 ID 17000)。

水龙头分配系统:

水龙头是向开发者钱包地址分发免费测试网代币的网络服务或智能合约。速率限制可防止滥用(通常每次请求 0.1-1.0 个测试 ETH,冷却时间为 24-72 小时)。一些水龙头需要社交认证(GitHub、Twitter/X)或验证码验证。热门水龙头包括 Alchemy Sepolia 水龙头、Infura 水龙头和 Google Cloud Web3 水龙头。

测试网部署工作原理:

开发者编写智能合约并在本地编译。开发者配置其环境(Hardhat、Foundry 或 Remix),通过 RPC 端点连接到目标测试网。开发者从水龙头获取测试网代币并部署合约,消耗测试网 gas 代币(这些代币没有实际价值)。自动化测试套件针对测试网部署运行,以验证其行为。所有测试通过且合约经过审计后,相同的字节码将被部署到主网。

测试网类型及其应用场景:

类型描述最适合
公共持久测试网(Sepolia、Holesky)用于持续测试的长期运行网络集成测试、预发布、审计
本地发展网络(Hardhat Network、Anvil)在开发者的机器上即可即时构建单节点区块链单元测试、快速迭代、调试
分叉测试网本地网络在特定区块克隆主网状态使用真实合约部署和代币余额进行测试
临时测试网(开发网)用于特定升级测试的临时网络协议升级演练
激励性测试网预启动网络,参与者可获得真实的代币分配社区引导、验证器培训

的优点和缺点

优势缺点
零财务风险——所有测试均使用免费代币。主网模拟并不完善——验证节点数量和气体动态可能存在差异。
协议完全一致——客户端软件与主网完全相同水龙头限制——限速分配可能会阻碍压力测试
升级演练——在主网部署之前,会对硬分叉进行演练。垃圾邮件和滥用——零成本代币吸引垃圾交易
社区参与——更广泛的社区可以在正式上线前进行测试。周期性弃用——测试网会不定期退役,强制进行迁移。
开发者教育——为新开发者提供安全的学习环境同步开销——长时间运行的测试网会积累庞大的状态数据库。
集成测试——可以对前端、预言机和索引器进行端到端测试。安全麻痹大意——主网引入了更多攻击途径,例如 MEV。

风险管理

开发工作流程:

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

测试网到主网差距分析:

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

基础设施可靠性:

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

实际例子

以太坊合并——测试网演练:

以太坊于 2022 年 9 月进行了主网合并,即从工作量证明 (PoW) 向权益证明 (PoS) 的过渡。此次合并在三个公共测试网上依次进行了演练:Ropsten(2022 年 6 月)、Sepolia(2022 年 7 月)和 Goerli(2022 年 8 月)。每次测试网合并都让客户端团队能够识别并修复互操作性问题、最终性错误以及共识过渡逻辑中的极端情况。2022 年 9 月 15 日的主网合并完美执行,没有停机时间,也没有资金损失。测试网演练发现了多个关键错误,包括 Ropsten 上的 Prysm 客户端问题和 Goerli 上的最终性延迟。

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

在2021年5月主网上线之前,Uniswap Labs已将Uniswap V3部署到Ropsten和Kovan测试网上。开发者和社区成员与测试网进行了互动,测试了tick边界、费用累积和仓位管理等方面的极端情况。测试网测试期间,发现并修复了几个与tick舍入和费用计算相关的极端情况错误。主网上线顺利进行,Uniswap V3也发展成为交易量最大的去中心化交易所。

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

Celestia 在 2023 年 10 月 31 日主网上线前,进行了多次激励性测试网阶段(Mamaki、Mocha、Arabica)。数万名参与者加入了激励性测试网计划,运行轻节点、全节点和验证节点。参与者提交数据块、测试模块化架构,并通过结构化的漏洞赏金计划报告漏洞。测试网参与者在主网上线时获得了一部分 TIA 代币,从而打造了 2023 年最活跃的上线日社区之一。

Goerli ETH 二级市场(2023):

由于水龙头限制导致开发者难以获得足够的 Goerli ETH,测试网代币一度在二级市场出现,人们可以用真钱买卖测试网代币。这凸显了测试网代币稀缺性的实际局限性,并直接促成了 Holesky 上线时发行 1.6 亿测试 ETH 的决定。Goerli 在 2024 年 4 月 Dencun 升级后正式停止使用。

对比表

特性公共测试网(Sepolia)本地开发者网络(Hardhat)分叉主网激励性测试网
代币价值无(不含水龙头)无(自费)无(模拟)未来可能的空投
网络保真度高(多客户端)低(单节点)非常高(实际状态)高(真实验证者)
封锁时间与主网匹配(以太坊约需 12 秒)即时或可配置即时或可配置匹配目标主网
设置复杂性最小(通过 RPC 连接)最小(npm 安装)中到高
最适合集成测试、预发布、审计单元测试,快速迭代以实际流动性进行测试预发布社区建设
坚持持久的(可能已弃用)临时数据(重启后重置)短暂的限时

相关条款

主网、水龙头、 智能合同Devnet、硬分叉、Gas、EVM(以太坊虚拟机) 股权证明RPC 端点、Hardhat、Foundry 图层2

常见问题解答

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

答:测试网是一个独立的区块链网络,专门用于测试和开发。它运行与主网相同的软件,遵循相同的规则,但使用不具备实际货币价值的代币。主网才是进行真实交易的地方,使用的是具有市场价值的加密货币。

问:如何获得测试网代币?

答:测试网代币通过水龙头网站免费分发。热门的以太坊测试网水龙头网站包括 Alchemy Sepolia Faucet、Infura Faucet 和 Google Cloud Web3 Faucet。部分水龙头网站需要通过 GitHub 帐户进行身份验证,以防止滥用。

问:测试网代币值真金白银吗?

答:不。测试网代币没有任何货币价值,绝对不能买卖或交易。任何试图出售测试网代币的平台都是骗局。唯一的例外是激励型测试网,参与者可以通过参与测试活动获得主网代币奖励。

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

答:推荐的以太坊测试网是 Sepolia(用于应用层测试、dApp 开发和智能合约部署)和 Holesky(用于协议层测试、质押机制和验证器操作)。较旧的测试网,例如 Ropsten、Rinkeby 和 Goerli,均已弃用。

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

答:是的。公共测试网有自己的区块浏览器。Etherscan 为每个以太坊测试网维护着独立的区块浏览器:Sepolia 测试网的浏览器是 sepolia.etherscan.io,Holesky 测试网的浏览器是 holesky.etherscan.io。

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

答:测试网会随着时间推移积累区块链状态,最终导致性能下降和同步困难。随着主网共识机制的演进,测试网也必须更新以与之匹配。Goerli 于 2024 年 4 月被弃用,原因是其状态过于庞大,且其验证者集合无法充分代表主网的权益证明(PoS)配置。

问:在主网上线之前,在测试网上进行测试是否足够?

答:测试网测试是必要的,但并非充分条件。虽然测试网可以发现协议层面的漏洞和集成问题,但它们并不能完全模拟主网的经济环境,例如 MEV 攻击、抢先交易、真实的预言机价格信息以及实际的网络拥塞情况。一个完整的部署流程包括本地单元测试、测试网集成测试、安全审计,以及通常在正式上线前进行的小规模主网测试。

来源

  • 以太坊基金会 — 网络文档
  • Sepolia 测试网 — 官方文档和水龙头资源
  • Holesky 测试网 — 官方信息和 GitHub 配置
  • Hardhat 文档 — 网络
  • Foundry Book — 部署
  • Solana 集群文档
  • Tim Beiko — AllCoreDevs 会议记录

UEEx 小贴士:“先部署到测试网”是区块链开发领域最普遍的准则之一。在将真金白银投入任何 DeFi 协议之前,务必检查团队是否进行了全面的测试网测试,以及他们的合约是否在测试网部署后经过审计。如果一个项目忽略了这一步骤,那么它就承担了不必要的风险——而如果你使用该项目,你也将面临同样的风险。

免责声明:本内容仅供教育用途,不构成任何投资建议。在做出任何投资决策之前,请务必自行研究(DYOR)并咨询合格的财务顾问。

 

最新资源和博客