当前位置: 首页 > news >正文

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)
  • forge coverage

    • 覆盖率测试工具

📊 工具对比

功能Foundry 工具Hardhat / Truffle 对应
合约编译 & 测试ForgeHardhat Test / Truffle Test
本地开发链AnvilHardhat Network / Ganache
区块链交互Casthardhat console / web3.js
调试 / REPLChisel无直接替代
配置文件foundry.tomlhardhat.config.js / truffle-config.js

✅ 总结

  • Forge:开发、测试、部署合约
  • Cast:命令行交互(替代 web3.js/ethers.js 的部分功能)
  • Anvil:本地链 & 主网 fork
  • Chisel:Solidity REPL 调试
  • foundryup:安装/更新管理

📌 Foundry 最大的特点是 快、轻量、原生支持 Solidity,相比 Hardhat/Truffle 更适合熟悉 Solidity 的工程师。

http://www.dtcms.com/a/355280.html

相关文章:

  • uniapp vue3 canvas实现手写签名
  • 【Node.js从 0 到 1:入门实战与项目驱动】2.4 开发工具推荐(VS Code 、IDEA及插件、终端工具、调试工具)
  • Cesium入门教程(二)环境搭建(HTML版)
  • QT:【第一个QT程序】【信号和槽】
  • 使用uni-app和Canvas生成简易双列表格布局并长按下载到本地
  • 混淆 打包 编译
  • Ovis2.5技术解密:原生分辨率与“反思模式”如何铸就新一代MLLM王者
  • 2024年山东省信息学小学组(CSP-X)第一轮题解
  • 冒泡排序算法详解(python code)
  • Python训练营打卡 DAY 50 预训练模型+CBAM模块
  • Shell 编程基础与实践要点梳理
  • PCIe 5.0 SSD连续读写缓存用完速度会骤降吗?
  • IntelliJ IDEA 反编译JAR包记录
  • Beats与Elasticsearch高效数据采集指南
  • Komo Searc-AI驱动的搜索引擎
  • 控制系统仿真之PID校正1-系统固有属性(四)
  • 【ai编辑器】使用cursor-vip获得cursor的pro版 pro plan(mac)
  • 【C语言16天强化训练】从基础入门到进阶:Day 13
  • 模拟实现Linux中的进度条
  • 带动态条件的模糊查询SQL
  • 【Linux基础知识系列:第一百一十四篇】使用lsof查看打开的文件
  • frp 一个高性能的反向代理服务
  • VMware + Ubuntu 桥接模式不能联网 的常见原因、排查思路和解决步骤
  • element-plus的el-scrollbar显示横向滚动条
  • 整体设计 修订 之1 三“先”之“基” 与范畴重构:康德先验哲学的批判性程序化实现
  • 电商高并发稳赢指南:ZKmall开源商城微服务架构的实战拆解
  • AI视觉重塑汽车质检,四大车间全景解析
  • Android15 GKI版本分析Kernel Crash问题
  • 金属超声波风速风向多参数一体传感器
  • NFT:Web3数字新资产