最近在看区块链项目的迭代过程,才深刻体会到为什么测试环境这么重要。加密货币项目每次推出新功能都得小心翼翼,一个bug就可能波及数百万用户,所以在正式上线前必须有个完整的测试流程。



这就是testnet存在的核心价值。简单说,testnet就是主网的精确副本,开发者在上面试验新功能、测试协议变更,完全不用担心会搞坏主网。对主网的改动是不可逆的,所以testnet就像是个安全的练习场。

比特币是最早用上testnet的项目。2010年10月,开发者Gavin Andresen提交了一个补丁,实现了中本聪建议的新功能,这被认为是第一个testnet。后来因为挖矿难度太高导致成本飙升,甚至有人开始把testnet代币当真钱卖,所以2011年又推出了Testnet2来改进。但Testnet2还是有问题,最终在2012年才推出目前还在运行的Testnet3,才彻底解决了之前的缺陷。

开发者为什么这么依赖testnet?因为直接在主网试验太危险了。一旦出错,用户会失去信心,甚至可能被黑客利用造成资产损失。所以流程是:先在testnet上部署更新,开发团队进行分析监控,有时还会激励用户来帮忙找bug,等确认安全了才部署到主网。

对不同角色来说testnet都有价值。开发者可以在上面测试智能合约和dApp实现,像以太坊的Ropsten testnet就是开发者测试的常用环境。矿工可以提前测试挖矿策略,避免在主网上犯昂贵的错误。普通用户也能通过testnet提前体验新功能,甚至有些项目还会奖励在testnet上发现bug的贡献者。

testnet和主网看起来相似,但本质上完全独立。它们有各自的代币、不同的网络ID、不同的创世块。以太坊主网的ID是1,Ropsten testnet是3。最关键的区别是testnet上的代币没有商业价值,交易费用也很低,这样开发者才能放心地反复测试。同时,testnet上的交易频率远低于主网,挖矿难度也小得多,竞争没那么激烈。

看整个加密行业的发展,testnet已经成为区块链项目的标配。没有测试环境的话,开发者就得冒着巨大的风险去尝试新功能,这对整个生态来说是灾难性的。正因为有了完善的testnet机制,才让区块链项目能更安全、更快速地迭代。这也是为什么现在很多新项目都在积极建设自己的testnet,为未来的主网上线做准备。
ETH-2.9%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论