搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

foundry-rs/foundry

开发工具

用 Rust 编写的以太坊开发工具集,覆盖合约构建、测试、模糊测试、调试与部署。

10,767
2,720
Rust
Apache-2.0
创建于 5 年前

项目介绍

Foundry 是一套用 Rust 编写的模块化以太坊应用开发工具,把智能合约开发中常用的几类操作收进命令行:

  • Forge:编译、测试、模糊测试、调试和部署 Solidity 合约(Forge 文档)。
  • Cast:在终端查询链上数据、发送交易(Cast 文档)。
  • Anvil:本地以太坊节点,支持分叉主网,用于开发和测试(Anvil 文档)。
  • Chisel:Solidity REPL,方便快速试验代码片段(Chisel 文档)。

它适合习惯命令行工作流、希望用 Rust 工具链开发和测试 Solidity/Vyper 合约的开发者。项目采用 Apache-2.0 与 MIT 双许可证。

安装与首次使用

按 README 的方式,通过 foundryup 安装。需要环境中已有 curl:

curl -L https://foundry.paradigm.xyz | bash
foundryup

第二条命令安装完整工具链;不同平台的细节和替代方式见安装指南。

创建并测试一个示例项目:

forge init counter && cd counter
forge build
forge test

用 Cast 查询公开网络,示例使用公共 RPC 地址:

cast block-number --rpc-url https://eth.merkle.io
cast balance vitalik.eth --ether --rpc-url https://eth.merkle.io

启动一个分叉主网的本地链:

anvil --fork-url https://eth.merkle.io

编辑器集成

在已安装 VS Code 的情况下,在 Solidity 项目目录运行 forge lsp,Forge 会在 Extension Development Host 中打开项目并加载其自带的 Solidity 扩展,无需单独检出 Foundry 或构建扩展。其他编辑器可将语言服务器命令配置为 forge lsp --stdio。服务器会自动读取项目中的 foundry.toml、工作区目录、remapping 和 evm_version。具体配置见编辑器指南。

使用约束与支持

Foundry 以命令行二进制形式通过 foundryup 分发;cast 和 anvil 等命令需要可用的 RPC 地址(示例使用 https://eth.merkle.io),anvil --fork-url 还需要能访问主网的归档型 RPC。开发交流可加入 Telegram 群组,疑难问题走支持频道,缺陷和功能请求提交到issue 跟踪页。完整文档在 getfoundry.sh。

HotRepo 点评

Foundry 在 2026-11-06 的 Rust 日榜上最高排到第 14 名,当天新增 7 个 Star。对成熟项目而言,这是稳定在榜的表现,而不是突然爆发。更值得关注的是它的覆盖面:Forge、Cast、Anvil、Chisel 集中在同一套 Rust 代码中,再加上较新的 forge lsp 编辑器集成,使它成为以太坊合约开发中范围较广的命令行基础设施。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。