### 概述 想象一下,由于一个泄露的私钥而损失了价值数百万美元的加密资产。对于一些DeFi项目来说,这个噩梦已经成为了现实——最值得注意的是 [$6.25亿美元的Ronin Bridge攻击](https://www.halborn.com/blog/post/explained-the-ronin-hack-march-...
 想象一下你的合约可能面临的每一个随机调用。现在测试它们全部。不变性测试就像打了兴奋剂的fuzzing,非常适合发现你从未想过的错误。深入了解! ## 简介 我...
## 什么是foundry? foundry是一个solidity智能合约开发工具。可以帮你管理依赖包,编译项目,运行测试脚本,还可以让你通过命令行工具或者script脚本和链上合约进行交互。和hardhat不同的地方是,hardhat我们还是主要用来开发大型的...
## 高级 Foundry 作弊码系列:第 3 部分 - 断言作弊码 使用 expectRevert、expectEmit 和 expectCall 锁定你的 Solidity 测试预期。 Foundry 的断言作弊码可帮助你快速验证智能合约的行为。 ,校对:[翻译小组](https://learnblockchain.cn/people/412) >- 本文永久链接:[learnblockchain.cn/article…](https://learnblockchain.cn/article/978...
## OpenZeppelin Foundry 升级 API ### 合约名称格式 合约名称必须以特定的格式提供,具体取决于上下文。以下是每个上下文所需的格式: #### Foundry 制品格式 上下文: - `contractName` 参数 - `referenceContract` 选项 (如果未设置 `referenceBu...
## 介绍 [模糊测试](https://learnblockchain.cn/article/20409/)对于安全的[智能合约](https://learnblockchain.cn/tags/smart-contract/)测试至关重要,但也面临着挑战。测试执行通常很慢,而分析失败可能需要更多的时间和精力。 Shrinking(缩减)解...
## Foundry 高级作弊码系列:第 6 部分 - 使用 Forge 进行高级 Fuzz 测试 使用 Foundry 的 fuzzing 和 fork 功能来发现 Solidity 测试中的极端情况。学习 vm.assume、bound()、createFork,以及如何针对主网状态进行测试。  >- 译者:[AI翻译官](https://learnblockchain.cn/people/19584),校对:[翻译小组](https://learnblockchain.cn/people/412) >- 本文链接:[learnblockchain.cn/article…](https://learnblockchain.c...
## 高级 Foundry 作弊码系列:第 4 部分 - 作弊码 vm.roll & vm.warp: 使用 vm.roll 和 vm.warp 控制 Solidity 测试中的区块时间戳和编号。在无需等待的情况下测试截止日期、归属和基于时间的逻辑。 ![Advanced Foundry Cheatcodes Series: Part 4 - Cheat...
学习如何使用 Foundry 框架编写 Solidity 智能合约模糊测试(fuzzing)。编写测试、使用恶作剧地址并通过 forge 执行它们。 本文将教你如何编写 Solidity 智能合约模糊测试(fuzzing),以帮助你编写更安全的协议并发掘代码中的问题...