Foundry是一个Solidity智能合约开发工具链。Foundry管理您的依赖关系、编译项目、运行测试、部署,并允许您通过命令行和Solidity 脚本与链交互。
Foundry 中文文档是基于官方 Foundry book 的翻译,全面介绍 Foundry 所有功能。
使用Foundry的好处
- Foundry 全面支持 solidity,可有效减少上下文切换 与 hardhat+ethers 组合工具相比,hardhat+ethers 合约使用 solidity,而部署测试等使用 js 或者 ts。而对于 foundry 工具,合约、部署、测试等都使用 solidity,不需要在多种编程语言之间进行切换。
- 功能更齐全。如 cast 命令可以直接从 etherscan 下载源代码,可以直接从 abi 生成 interface 等功能。
- 运行速度更快。
Foundry 组成
Forge: 以太坊测试框架(如Truffle,Hardhat和DappTools), 包含命令函及标准库
Cast: 用于与EVM智能合约交互,发送交易和获取链数据.
Anvil: 本地以太坊节点,类似于Ganache或Hardhat网络.
Foundry 中文文档由登链社区组织翻译,代码库在:https://github.com/lbc-team/foundry-book-in-chinese , 欢迎大家提交 PR。
Foundry 中文文档链接:https://learnblockchain.cn/docs/foundry/i18n/zh/
Foundry 中文预览
Foundry 文档内容导航
开始使用Foundry
要开始使用Foundry,请安装Foundry并设置第一个项目。
启动Foundry项目
本节将向您概述如何创建和使用现有项目。
Forge 概述
本节概述将为您提供有关如何使用“伪造”来开发、测试和部署智能合约所需的所有知识。
Cast 概述
了解如何使用“cast”与智能合约交互、发送交易以及从命令行获取链上数据。
Anvil 概述
了解 anvil
, Foundry的本地节点。
Foundry 配置
Foundry配置指引:
- 配置
foundry.toml
- 持续集成CI
- 与VSCode集成
- Shell命令补全
- 静态代码分析器
- 与Hardhat集成
教程
与Foundry建立智能合约的教程。
- 使用 Solmate 创建NFT
- Docker 和 Foundry
- 测试 EIP-712 签名
- Solidity 脚本
- 使用 Cast 和 Anvil 分叉(Fork)主网
附录
参考手册, 疑难解答等等
- FAQ
- forge 命令手册
- cast 命令手册
- anvil 命令手册
- Config 参考
- Cheatcodes 参考
- Forge 标准库 参考
- DSTest 参考
- Miscellaneous