最近在看區塊鏈項目的迭代過程,才深刻體會到為什麼測試環境這麼重要。加密貨幣項目每次推出新功能都得小心翼翼,一個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.67%
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 打賞
  • 留言
  • 轉發
  • 分享
留言
請輸入留言內容
請輸入留言內容
暫無留言