跳到主要内容 Foundry
forge
- 用于编译、测试和部署智能合约
forge init hello_foundry 初始化项目
forge build 构建项目
forge test 运行测试
-vv 显示日志
-vvv 显示更详细的日志
-vvvv 显示跟踪信息
--match-test testFunctionName 运行指定测试函数
forge create --rpc-url <your_rpc_url> --private-key <your_private_key> src/MyContract.sol:MyContract 部署合约
forge fmt 格式化代码
forge snapshot 生成 gas 报告
forge coverage 生成测试覆盖率报告
Cast
- 用于发送交易,查询数据,编码和解码数据,与智能合约交互
cast send 发送交易
cast call 调用只读函数
cast balance 查询账户余额
cast --to-wei 1eth ETH 转换为 Wei
cast --from-wei 1000000000000000000 Wei 转换为 ETH
cast sig "transfer(address,uint256)" 获取函数签名
Anvil
- 用于本地测试,账号管理
anvil 启动本地测试网络
- 默认配置:
- 端口:8545
- 预设 10 个测试账户,每个账户 10000 ETH
- 常用参数:
--port 指定端口
--block-time 设置出块时间
--fork-url 指定分叉网络
Chisel
- 用于快速测试本地或分叉网络上 Solidity 片段的行为,新版功能
chisel 启动 Solidity REPL 环境
- 支持直接编写和测试 Solidity 代码
- 可以导入本地合约
- 可以与分叉网络交互