本文主要介绍了Tenderly Forks,它允许开发者在私有环境中模拟任何针对真实Mainnet数据的交易,消除了公共测试网的开销。文章阐述了使用Forks作为开发测试网的优势,以及Tenderly的其他工具如何帮助加速测试和调试,并分享了Yield Protocol、Safe、Instadapp等使用Tenderly Forks进行测试的案例。
Tenderly Forks 允许开发者针对真实的 Mainnet 数据私下模拟任何交易,从而消除了公共测试网的开销。探索使用 Forks 作为开发测试网的好处,以及其他 Tenderly 工具如何帮助加速测试和调试。
在实时区块链数据和一体化 Tenderly 平台的支持下,Forks 已成为我们用户开发流程中必不可少的一步。作为一个强大而宽容的环境,Tenderly Forks 是任何智能合约场景的完美试验场。
现在 Forks 变得更加方便,因为许多测试网已被弃用。区块链开发者甚至报告了一些 水龙头 干涸的问题,让该领域的许多人都在想“现在怎么办?”
行业内的许多公司已经依赖 Forks 作为他们的测试环境,你将在本文后面看到一些例子。但没有比 Instadapp 的创始人兼产品负责人 Thrilok Kumar 的话更能简洁地说明这个过程了:
“我想说,我们集成并帮助我们最大的好处之一是 Tenderly Forks,我们可以在其中从 Mainnet 创建一个 Fork 环境。然后,我们可以在测试环境中运行我们的整个仪表板,这不仅帮助了用户,也帮助了内部团队测试我们所做的任何新功能或产品开发”。
因此,了解为什么你应该使用 Tenderly Forks 进行测试,你如何进行测试,并让你的想法尽情发挥。
你可能想知道,当你拥有专门为此设计的测试网络时,为什么还要使用 Forks 进行测试。然而,随着 The Merge 的成功实施,一些测试网已被计划弃用。
Kiln 是第一个被淘汰的,随后是 Ropsten 和 Rinkeby,只剩下 Goerli 和 Sepolia,但它们也有自身的局限性。Sepolia 是新的,因此它的状态和历史不够全面,而 Goerli 是 Mainnet 的完整副本,需要更多时间来同步。另一方面,使用 Tenderly Forks,你始终拥有所需的所有区块链数据。
此外,与测试网相比,Tenderly Forks 提供了更多的优势,你很快就会离不开它。以下是你应该切换到 Tenderly Forks 进行智能合约测试的原因:
通过这种方式,我们创建了一个复制的生产环境,其中包含你已经部署的所有内容,但没有任何来自第三方参与者的风险。
借助即用型的 Fork 环境,你只需要设置与你的项目相关的测试参数。例如,你可以通过 API 指定帐户余额,而无需使用 水龙头 或在链上部署合约。
Tenderly Forks 通过数量级加速了运行包含多个交易的测试,并且你几乎可以立即获得结果。Tenderly Forks 的行为类似于本地网络,分叉存档节点具有高性能基准。
现在你已经熟悉了 Fork 测试的所有好处,为什么不亲身体验一下呢?你可以在两个选项之间进行选择:
Tenderly 是一个一体化的 Web3 开发平台,这意味着我们所有的功能都是相互关联和紧密集成的。这也意味着你在 Fork 上运行智能合约测试时可以使用其他工具。
无论你是想测试每一种可能的场景、排除失败的测试故障,还是想出一个更好的替代方案,你都可以:
在 Tenderly Forks 上进行测试在实践中是什么样的?让我们探索一些来自业内最大参与者的例子:
Tenderly Forks 允许 Yield Protocol 开发团队针对 Mainnet 数据运行不同的测试场景。通过这种方式,他们能够确保错误修复和协议更改的完整性和正确性。此外,由于 Forks 是可共享的,因此 Yield Protocol 开发人员可以轻松地相互协作,并在具有相同条件的环境中运行测试。
正如 Yield Protocol 的首席工程师 Alberto Cuesta Cañada 解释的那样:“我们使用 Tenderly Forks 作为我们开发的支柱。我不知道是否还有其他东西可以产生比这更大的业务影响。”
阅读完整的 Yield Protocol 案例研究。
Safe 工程师还依赖 Tenderly Forks 进行复杂的测试场景。如果他们的用户报告任何问题,Safe 团队会使用 Transaction Simulator 来重现问题。通过深入的数据和对用户如何与他们的 dapp 交互的完整理解,他们可以研究可能的解决方案。但是,在实施错误修复之前,他们会求助于 Tenderly Forks 以确保他们的解决方案产生期望的结果。
Safe 团队还使用 Forks 来运行集成测试,确保整个流程按预期工作。他们将 Forks 与其开发堆栈中的其他框架和工具(例如 Hardhat)结合使用。通过简单地复制粘贴 Fork ID RPC URL,他们可以使用 Fork 作为网络。
查看我们关于 Safe 的完整案例研究。
对于 Instadapp 团队而言,Tenderly Forks 对于内部测试和生产都是必不可少的。在生产中,Forks 允许 Instadapp 的最终用户测试收益策略以及他们是否会获得预期的最终位置。通过这种方式,Instadapp 开发人员使他们的用户能够放心地执行策略。
在内部,Instadapp 团队使用 Forks 来进行协议集成,并确保他们的升级按计划进行。借助他们自己的 Mainnet 副本,他们还可以测试任何新功能或产品开发。Instadapp 工程师可以看到更改如何影响他们的仪表板、预期交易是否正在运行以及所有值是否已更新。
了解更多关于 Instadapp 如何使用 Tenderly。
由于智能合约是不可变的,因此测试在确保其正确性并最大限度地降低部署后可能存在的安全风险方面起着至关重要的作用。借助 Tenderly Forks,你可以获得一个强大的测试环境,你可以在其中试用不同的 dapp 或协议升级、模拟交易结果、验证错误修复,并确保获得预期的结果。
最重要的是,Forks 由整个 Tenderly Web3 开发平台支持,为你提供在一个地方所需的一切。再加上 Tenderly Web3 Gateway,我们新的生产节点产品,你可以运行测试和部署智能合约,而无需切换平台。
- 原文链接: blog.tenderly.co/tenderl...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!