> 在查看 [Foundry 官方文档](https://book.getfoundry.sh/)时发现其安装步骤描述并不详细,起初跟着安装问题迟迟无法解决,故记录下此详细安装过程,且选择的是最快捷最不占硬盘空间方式的下载方式 ## 官方文档给出的下载步骤 `...
2024年5月13日 受到 Create React App 的启发,Recon 创建了一个模板,允许你使用单个命令引导一个不变性测试项目,利用最流行的不变性测试工具: ``` forge init --template https://github.com/Recon-Fuzz/create-chimera-app ```  - [1\. 你应该用 Solidity 编写测试](#3ab4fe4c1073) - [2\. 你应该对函数进行模糊测试](#936ff0f7f64a) - [3\. 你应该能够在测试中覆盖 VM 状态](#fcc166f15750) - [4\. 你应该能够在活跃网络状态下...
是时候学习如何编写单元测试了!我们已经撰写了一篇关于单元测试的教程,因此无需在此页面重复内容。 在这里阅读:**Solidity Unit Testing** (请在这里链接 “Solidity Unit Testing”: [https://www.rareskills.io/post/foundry-testing-solidity](http...
### 四部分自定进度书面教程,助你发现和打破属性 有一段时间,没有全面的资源可以让你从零开始成为不变性测试的专家。我们一直在努力解决这个问题,在 [Recon Book](https://book.getrecon.xyz/) 中汇编有用的信息,但我们缺少一...
## 部署 部署允许你安全地跨链部署和升级智能合约。你可以证明链上运行的代码与经过审计的实现相匹配,并最大限度地减少可能导致损失或问题的关键错误。 ### 用例 - 使用对部署者地址的精细控制来配置生产和测试环境。...
### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 draft-ERC20Permit.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/token/ERC20/extensions/draft-ERC20Permit.sol ERC20Permit库是ERC20的拓展。本库通过permit方法允许...
## 高级 Foundry 作弊码系列:第一部分 - Foundry 基础,为什么选择 Foundry 而不是 Hardhat? Foundry 运行原生 Solidity 测试的速度比 Hardhat 快 5 倍。 了解它如何简化工作流程、添加作弊码并避免 JS 开销。  ## 使用 Catapulta 简化和优化协议部署 本文最初发布于 [BuildBear 教程](https://www.buildbear.io/resources/guides-and-tutorials/catapulta)。 ### **什么是 Catapulta?** [Catapulta.sh](https://catapult...
Foundry 运行原生 Solidity 测试的速度比 Hardhat 快 5 倍。了解它如何简化工作流程,添加作弊码并避免 JS 开销。 ...
## 为什么? 当你有一个失败的 Echidna/Medusa 测试时,调用痕迹中显示的输出有时不足以理解问题所在,因此创建一个 foundry 单元测试可以让你以更高的详细级别(-vvv)检查调用痕迹,以找出你的测试究竟在哪里失败。 Foundry ...
## Aave v3 不变量测试套件内部文档 ### 目录 1. [运行套件](#running-the-suite) - 前置条件 - 启动套件 - 配置 2. [属性格式](#property-formats) - 不变量 - 后置条件 - 全局后置条件 (GPOST) - Handler 特定后置条件 (HSPOST) 3. [H...
### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 Context.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/Context.sol Context库是合约开发中最常见的库,同时也是最让人迷惑的库。合约代码里面只...