进阶之前:你应该已经掌握什么
在进入 Foundry 进阶教程之前,建议你已经熟悉:
- forge test 与基础单元测试;
- forge script 与简单部署;
- Solidity 0.8.x 语法;
- cast 与 anvil 的基本用法;
- 在 BN交易所 或其他主流入口跟踪过链上数据。
如果以上还有薄弱环节,先回到基础再来阅读本文,会事半功倍。
进阶一:invariant 测试
invariant 测试是 Foundry 的杀手锏:
- 定义系统在任意操作序列下都应满足的不变量;
- 通过 setUp、targetContract 指定测试范围;
- 让 fuzzer 自动尝试各种调用组合;
- 在出现违反时输出最小复现脚本;
- 与项目在 必安APP 上线前的安全审计无缝衔接。
129 赞同