如果您最近开始在 web3 中构建,您可能经常遇到“主网”和“测试网”这两个术语。但是在主网和测试网上开发有什么区别?您应该根据您的用例选择哪一个?为什么我们需要两者?

在这篇博文中,我们将为您揭秘使用区块链主网和测试网所需了解的一切。我们将介绍主网和测试网是什么、它们彼此有何不同、各自的用途以及为什么它们在区块链开发中如此重要。
什么是主网?为什么它很重要?
主网是区块链网络的可操作版本,其中实际交易和操作在区块链上执行和记录。它代表区块链网络的实时版本,其中执行所有规则、共识机制和安全协议,这对于网络的运行至关重要 - 使用户能够使用加密货币进行交易并在网络上进行各种操作,例如智能合约、代币发行和去中心化应用程序。
主网为用户提供了交易安全且不可改变的信心,因为它们记录在防篡改和透明的分布式账本上——因此,成功运行主网对于区块链的采用至关重要。
但为什么不把所有事情都放在区块链的主网上进行呢?我们为什么需要测试网?
什么是测试网?
另一方面,测试网是用于测试目的的区块链网络版本(顾名思义)。它是网络主网的模拟版本,允许开发人员和用户探索新想法和测试应用程序,而不会损失资金或影响主网。
测试网对于 web3 开发至关重要,因为它们提供了一个安全的环境来识别潜在问题、优化性能并确保无缝的用户体验。
这样,开发人员就可以试验新功能、部署测试智能合约并构建应用程序 — 无需使用实际资金或部署未经测试的代码(一旦在主网上线,更改起来将更加困难)。它还使开发人员能够从社区收集反馈并在向公众发布产品之前对其进行改进。
主网和测试网如何工作?
从技术层面上讲,主网由协同工作以验证和处理交易的节点组成。这些节点维护一个共享账本,确保网络数据的完整性和一致性。部署在主网上的智能合约与区块链交互,根据用户输入或触发事件执行预定义的代码。
当用户在主网上发送交易时,该交易会被广播到整个网络。节点会验证交易,确保其符合网络的共识规则。验证完成后,交易将添加到下一个区块并得到确认,从而更新账本并完成价值转移或智能合约功能的执行。
测试网的功能与主网类似,利用节点网络来验证和处理交易。但是,测试网代币不具有现实世界的价值,因此开发人员可以自由地进行实验,而不会承担财务风险。测试网通常具有独特的功能,例如水龙头,可将测试代币分发给用户以进行测试。
为什么我们需要测试网?
由于测试网的无风险特性,它们在复制区块链的主网环境时有多种用例:
智能合约开发和测试:测试网允许开发人员在将智能合约代码部署到主网之前编写、测试和完善智能合约代码。这有助于防止代价高昂的错误并确保智能合约按预期运行。
dApp 开发:开发人员可以在测试网络上创建和测试去中心化应用程序,模拟用户交互并在受控环境中验证功能。
网络升级和改进:测试网使开发人员能够测试协议升级、硬分叉或区块链网络本身的其他更改,确保在主网实施之前的稳定性和兼容性。
钱包和基础设施测试:钱包提供商、交易所和其他区块链基础设施服务可以使用测试网来验证其解决方案的兼容性和性能,在潜在问题影响最终用户之前发现它们。这包括为组织、去中心化自治组织 (DAO) 和公司测试团队钱包,确保安全高效地管理其资产。
用户教育和入职:测试网为用户提供一个无风险的环境来了解区块链和加密货币,让他们可以练习使用钱包、与 dApp 交互以及了解交易费用,而不会冒着现实世界资产的风险。
测试网为何被弃用?
以太坊基金会已部署并弃用了多个测试网 — 最近关闭了 Rinkeby 和 Ropsten 测试网,用 Goerli 测试网取而代之,以便广泛使用,最近又启动了 Sepolia 测试网。测试网弃用的原因多种多样,例如:
升级和协议变更:如果以太坊网络进行重大协议变更或升级,导致现有测试网不兼容或过时,则测试网可能会被弃用。在这种情况下,可能会启动新的测试网以反映更新的协议或变更,并且之前的测试网可能会被弃用。
使用率和活跃度低:如果测试网使用率不高,或者没有吸引足够的开发人员和用户参与,则可能会被弃用。维护未充分利用的测试网可能成本高昂且耗费资源,因此继续运行它可能不切实际。
安全问题:如果测试网被攻破或被发现不安全,则可能会弃用该测试网以防止进一步的损害或安全漏洞。安全问题可能会破坏测试网和底层以太坊网络的可信度和信任度,因此必须迅速采取行动解决这些问题。
过渡到新网络:如果测试网是新网络的过渡阶段,那么一旦新网络启动,它可能就会被弃用。以太坊 2.0 测试网就是这种情况,它用于测试新的权益证明共识机制和升级网络的其他功能。一旦以太坊 2.0 主网启动,测试网就会被弃用。
以太坊升级是一个很好的例子,说明在部署到主网之前,更改首先在各种测试网上进行测试。以太坊开发人员提出并实施协议改进,称为以太坊改进提案 (EIP)。这些改进在不同的以太坊测试网上经过严格测试,例如 Goerli、Ropsten 和 Rinkeby,然后集成到主网。
例如,以太坊 2.0 升级(也称为 The Merge)是一项重大而复杂的更新,旨在将以太坊从工作量证明 (PoW) 共识机制过渡到权益证明 (PoS) 系统。此过渡分多个阶段进行,每个阶段都在测试网上进行大量测试,然后才在主网上推出。
这种方法可确保在更改影响以太坊主网及其用户之前识别并解决任何潜在问题。
7 个主网和测试网列表
以下是流行的区块链主网列表,每个主网都有最活跃的测试网,每个主网都有资源——包括您可以部署的区块浏览器、水龙头和智能合约:
以太坊
多边形 (MATIC)
主网:Polygon 主网
测试网:孟买测试网
乐观
基础(Coinbase L2)
主网:基础主网(即将推出)
测试网:基本 Goerli 测试网
雪崩
仲裁庭
多边形zkEVM
如何开始使用任何测试网
要开始在测试网络上开发智能合约和 web3 应用程序,请按照以下步骤操作:
选择一个区块链网络及其对应的测试网。
创建测试网钱包并从水龙头或其他来源获取测试代币。
设置开发环境,例如用于以太坊的 Remix、用于各种 EVM 兼容网络的 Truffle 或用于 Solana 开发的 Solana 工具套件。
在测试网络上编写、测试和部署您的智能合约。
与您的智能合约和 dApp 进行交互,根据需要进行改进和优化。
如何将 dApp 从测试网迁移到主网
在测试网上彻底测试智能合约或 dApp 后,请按照以下步骤将其部署到主网上:
检查您的代码并确保所有错误都已修复且已实施优化。
将您的开发环境切换到主网配置。
使用您的主网钱包和现实世界资产部署您的智能合约或 dApp。
监控和维护您部署的项目,解决出现的任何问题并确保用户顺利运行。
常见问题 (FAQ)
主网和测试网的主要区别是什么?
主网是交换现实世界价值的实时网络,而测试网是用于测试和开发的并行网络,不存在任何现实世界价值风险。
我可以将测试网代币转移到主网吗?
不可以,测试网代币不具备任何现实价值,也不能转移到主网。它们仅用于测试网环境内的开发和测试目的。
测试网代币有价值吗?
不可以,测试网代币不具备任何现实价值,也不能转移到主网。它们仅用于测试网环境内的开发和测试目的。
我是否需要为测试网和主网使用单独的钱包?
您可以使用同一个钱包进行测试网和主网,但建议创建单独的测试钱包用于智能合约的开发和测试。
我如何获取测试网代币?
测试网代币通常可通过水龙头获取,水龙头会免费向用户分发代币以供测试。一些测试网还可能提供获取测试代币的其他方法。
我可以对主网和测试网使用相同的开发工具吗?
是的,大多数开发工具都支持主网和测试网配置。但是,在主网和测试网之间转换时,您需要在开发环境中切换网络设置。
在开发过程中我应该多久使用一次测试网?
建议在整个开发过程中使用测试网,从初始原型设计到最终测试。频繁的测试有助于确保 dApp 或智能合约的稳定性和功能性,从而最大限度地降低部署到主网时出现问题的风险。
如果我在测试网上犯了错误,我会失去我的主网资产吗?
不会,测试网交易和活动与主网完全分开,不会对您的现实世界资产产生任何影响。建议为智能合约开发和测试创建单独的测试钱包。
总结
总而言之,主网和测试网在区块链上扮演着截然不同的角色——但它们的重要性是相辅相成的。主网促进了现实世界的交易和 dApp 交互,而测试网为开发和测试提供了一个安全且可控的环境。
我们希望这篇博文能帮助您更好地理解主网和测试网是什么,它们有哪些不同的用例,以及如何在以太坊和其他与 EVM 兼容的区块链上开始智能合约开发!