区块链 区块链技术 比特币公众号手机端

Foundry 高级作弊码系列:第 5 部分 - 作弊码 vm.deal,为账户充值

liumuhui 3个月前 (07-09) 阅读数 265 #区块链

Image

高级 Foundry 作弊码系列:第 5 部分 - 作弊码 vm.deal,为账户提供资金。

厌倦了编写水龙头来测试 ETH 流动? vm.deal 是你的作弊码,可以直接将 ETH 铸造到任何账户中。没有转账或延迟。像鲸鱼一样进行测试。

介绍

第 4 部分中学习了如何弯曲时间

in Part 4

之后,铸造一些以太币也是理所当然的。本章展示了 vm.deal

如何立即为任何地址充值,无需水龙头,无需转账,因此你可以模拟富有的用户,支付 gas,或者以零摩擦测试可支付的流程。

在测试中,你经常需要一个拥有 ETH 的账户(例如,支付 gas 或进行可支付的调用)。

vm.deal(address who, uint256 newBalance)

作弊码简单地将 who 的 Ether 余额设置为 newBalance。例如:

Image

这里 vm.deal

(rich, 10 ether) 在测试操作之前向 rich 铸造了 10 ETH。Foundry 作弊码文档解释说,它“将地址 who 的余额设置为 newBalance”。它甚至支持代币:一个变体允许你设置 ERC20 余额,并在需要时调整总供应量。

这比从主网账户转账或在测试中编写水龙头要简单得多。它非常适合测试需要调用者拥有特定余额的合约。例如,如果合约需要存款,你可以将那么多 ETH 提供给测试用户并继续。

总而言之,vm.deal

消除了在测试中设置账户余额时的摩擦,让你专注于被测试的逻辑,而不是手动为账户提供资金。

如果你喜欢这类内容,请在 Twitter 上关注 @threesigmaxyz

并浏览我们的 blog

以获取更多关于区块链主题的见解。

明天发布第 6 部分:使用 Forge 进行高级模糊测试

  • 原文链接: x.com/threesigmaxyz/stat...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
版权声明

本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门