当前位置: 首页 > 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.xdnf.cn/news/1379917.html

相关文章:

  • 鸿蒙banner页实现
  • 数据库服务-主从同步-高可用架构MHA
  • 鸿蒙 5.1 深度解析:ArkUI 4.1 升级与分布式开发新范式
  • DPIN亮相DePIN Expo 2025,定义“DePIN 2.0”企业级应用新范式
  • AI批量抠图工具,无需付费,永久使用
  • 深入解析Oracle逻辑存储结构:从表空间到数据块的奥秘
  • 深入理解事务一致性和隔离性
  • 【大前端】React Native 调用 Android、iOS 原生能力封装
  • Cesium入门教程(二)环境搭建(HTML版)
  • leetcode 525 连续数组
  • 【PostgreSQL内核学习:通过 ExprState 提升哈希聚合与子计划执行效率(二)】
  • MySQL 与 ClickHouse 深度对比:架构、性能与场景选择指南
  • 【第三方网站运行环境测试:服务器配置(如Nginx/Apache)的WEB安全测试重点】
  • R 语言 ComplexUpset 包实战:替代 Venn 图的高级集合可视化方案
  • 基于mac的智能语音处理与应用开发-环境部署
  • HTML应用指南:利用POST请求获取全国中国工商银行网点位置信息
  • 【mysql】SQL HAVING子句详解:分组过滤的正确姿势
  • TUN模式端口冲突 启动失败如何解决?
  • 点评项目(Redis中间件)第二部分Redis基础
  • PostgreSQL 流复制与逻辑复制性能优化与故障切换实战经验分享
  • Java集合操作:Apache Commons Collections4启示录
  • 【Web】JWT(JSON Web Token)技术详解
  • 客户案例 | 柳钢集团×甄知科技,燕千云ITSM打造智能服务新生态
  • Mac 开发环境与配置操作速查表
  • 基于django的梧桐山水智慧旅游平台设计与开发(代码+数据库+LW)
  • 破译心智密码:神经科学如何为下一代自然语言处理绘制语义理解的蓝图
  • 磁力计校准矩阵求解方法解析
  • 从体验到系统工程丨上手评测国内首款 AI 电商 App
  • 图书管理系统练习项目源码-前后端分离-【Java版】
  • Python Imaging Library (PIL) 全面指南:PIL基础入门-图像滤波与处理技术