找到约 14 条结果

文章 高级 Foundry Cheatcodes 系列:第一部分 - Foundry 基础,为何选择 Foundry 而非 Hardhat?

![image.png](https://img.learnblockchain.cn/attachments/2025/06/LhhT37Rd685cae7c3a7ed.png) Solidity 原生测试、更快的迭代和内置模糊测试是顶级开发者从 Hardhat 切换到 Foundry 的原因。以下是 Foundry 成为更好选择的原因。 Foundry 是一个基于 Rust 的...

文章 使用Foundry为银行合约的 DepositETH 方法编写单元测试

使用Foundry为银行合约的 DepositETH 方法编写单元测试 Foundry的安装使用,请参考官网的官方文档:https://getfoundry.sh 创建项目初始化项目 ``` forge init DepositETH ``` ![image-20240710162111838.png](https://img.learnblockchain.cn/attachments/2024...

文章 damn-vulnerable-defi | Naive receiver

# Challenge #2 - Naive receiver [Naive receiver](https://www.damnvulnerabledefi.xyz/challenges/naive-receiver/) > 为了系统的学习solidity和foundry,我基于foundry测试框架重新编写damnvulnerable-defi的题解,欢迎交流和共建~🎉 > > https://github.com/zach030/damn...

文章 Michael.W基于Foundry精读Openzeppelin第41期——ERC20Capped.sol

### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 ERC20Capped.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/token/ERC20/extensions/ERC20Capped.sol ERC20Capped库是ERC20的拓展。该库设置了ERC20发行量的上限。 ...

文章 【Web3极客公开课】直播预告:SLOADS 给Foundry增加存储相关的作弊码 4.26日(周三)晚8点

![Web3geek](https://img.learnblockchain.cn/2023/04/25/Web3geek.png!/scale/45) >感谢【 ⽆特权⻆⾊、坚持中本聪精神的全链互操作基础设施 MAP Protocol 】对本次活动的支持! ## 分享主题:SLOADS 给Foundry增加存储相关的作弊码 1. EVM 存储布局 ...

文章 Michael.W基于Foundry精读Openzeppelin第53期——ERC20PresetFixedSupply.sol

### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 ERC20PresetFixedSupply.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol ERC20PresetFixedSupply库是一种带预铸造功能的ERC2...

文章 使用Foundry,感受快,rust对写合约的支持

## 介绍 [Foundry](https://learnblockchain.cn/docs/foundry/i18n/zh/) 是一个新出的rust写的合约开发框架 rust一直在改变编程界的格局,btc C语言开发,eth go主导,也有 rust 的eth 波卡链 直接rust,兴起跨链的生态。 不少web开发工具,打包...

文章 Foundry作弊码第四部分:使用vm.roll和vm.warp控制时间

## 高级 Foundry 作弊码系列:第 4 部分 - 作弊码 vm.roll & vm.warp: 使用 vm.roll 和 vm.warp 控制 Solidity 测试中的区块时间戳和编号。在无需等待的情况下测试截止日期、归属和基于时间的逻辑。 ![Advanced Foundry Cheatcodes Series: Part 4 - Cheat...

文章 验证 Foundry 中的 Solidity 签名

以下是一个在 [Foundry](https://learnblockchain.cn/article/9780) 环境中使用 OpenZeppelin 安全创建和验证 ECDSA 签名的最小示例(可以直接复制粘贴)。 ## 合约:Verifier.sol ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/...

文章 Foundry Cheatcodes 第 6 部分:模糊测试、Fork 和边缘情况检测

## Foundry 高级作弊码系列:第 6 部分 - 使用 Forge 进行高级 Fuzz 测试 使用 Foundry 的 fuzzing 和 fork 功能来发现 Solidity 测试中的极端情况。学习 vm.assume、bound()、createFork,以及如何针对主网状态进行测试。 ![Foundry 高级作弊码系列:...

文章 Foundry 打断点进行调试

Foundry 是基于 Rust 的以太坊开发工具包,主要用于 Solidity 智能合约的测试、部署和调试。它内置了一个交互式调试器(通过 Forge),支持在测试环境中设置断点、逐步执行代码,并检查 EVM 状态(如栈、内存、调用等)。断点主...

文章 Michael.W基于Foundry精读Openzeppelin第9期——Multicall.sol

### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 Multicall.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/Multicall.sol Multicall库提供了一个`multicall(bytes[] calldata data)`方法,通过该方法可以由调...

文章 Foundry作弊码第7部分:不变性测试详解

## Foundry 高级作弊码系列:第 7 部分:Foundry 中的不变性测试 超越模糊测试。 了解 Forge 的不变性测试如何检查随机调用序列下的核心协议假设。 在黑客入侵你的代码之前打破它。 ![Foundry 高级作弊码系列:第 7 部分:Foundry 中...

文章 Michael.W基于Foundry精读Openzeppelin第17期——BitMaps.sol

### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 BitMaps.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/structs/BitMaps.sol BitMaps库开发了一种存储更紧凑且高效的mapping(uint256=>bool)。传统的mapping(u...