Foundry工具大全
Foundry 是一整套 以 Solidity 为核心的开发者工具链,用于智能合约的编写、测试、调试、部署和交互。
🔧 主要工具
1. Forge
👉 核心工具(智能合约开发 & 测试框架)
-
功能
- 编译 Solidity 智能合约
- 运行单元测试 & Fuzz 测试
- 覆盖率分析 (coverage)
- Gas 使用分析 (gas reports)
- 部署合约到本地/远程网络
-
常用命令
forge build # 编译合约 forge test # 运行测试 forge coverage # 测试覆盖率 forge script # 运行部署/交互脚本 forge verify # 验证合约 (Etherscan 等)
2. Cast
👉 区块链交互工具
-
功能
- 发送交易
- 调用合约方法
- 查询链上数据(余额、nonce、storage slot 等)
- 编码/解码 ABI 数据
-
常用命令
cast balance 0xYourAddress # 查询地址余额 cast call 0xContractAddr "name()" # 调用合约方法 cast send 0xContractAddr "transfer(address,uint256)" 0xBob 100 --private-key $PK cast tx 0xTxHash # 查看交易详情
3. Anvil
👉 本地开发链(类似 Hardhat Network 或 Ganache)
-
功能
- 启动本地以太坊测试网络
- 提供预置账户和测试代币
- 支持
fork
主网或测试网 - 提供 JSON-RPC 接口,兼容 Metamask、dapp
-
常用命令
anvil # 启动本地测试链 anvil --fork-url $RPC # 主网/测试网 fork anvil --accounts 15 # 指定账户数量
4. Chisel 🧪
👉 Solidity 交互式调试器(实验性工具,像 JS 的 REPL)
-
功能
- 直接在 REPL 里写 Solidity 代码片段并执行
- 方便调试合约逻辑 & 验证函数
-
用法
chisel > uint x = 2; > x**10 1024
5. 其他配套工具
-
foundryup
- 安装 & 更新 Foundry 的工具
- 用法:
curl -L https://foundry.paradigm.xyz | bash foundryup
-
forge fmt
- Solidity 代码格式化工具(类似
prettier
for Solidity)
- Solidity 代码格式化工具(类似
-
forge coverage
- 覆盖率测试工具
📊 工具对比
功能 | Foundry 工具 | Hardhat / Truffle 对应 |
---|---|---|
合约编译 & 测试 | Forge | Hardhat Test / Truffle Test |
本地开发链 | Anvil | Hardhat Network / Ganache |
区块链交互 | Cast | hardhat console / web3.js |
调试 / REPL | Chisel | 无直接替代 |
配置文件 | foundry.toml | hardhat.config.js / truffle-config.js |
✅ 总结
- Forge:开发、测试、部署合约
- Cast:命令行交互(替代 web3.js/ethers.js 的部分功能)
- Anvil:本地链 & 主网 fork
- Chisel:Solidity REPL 调试
- foundryup:安装/更新管理
📌 Foundry 最大的特点是 快、轻量、原生支持 Solidity,相比 Hardhat/Truffle 更适合熟悉 Solidity 的工程师。