付费视频,请购买课程( ¥2,000.00 )后再观看
Foundry:Solidity智能合约开发框架
8次播放
4小时前
视频 AI 总结: 视频主要介绍了 Foundry,一个用于 Solidity 智能合约本地开发的强大框架。它涵盖了 Foundry 的安装、项目初始化、合约编译、测试(包括模糊测试)以及部署的全流程。视频强调了 Foundry 在本地开发中的优势,如项目管理、测试框架集成,并详细讲解了账户安全管理(私钥、Keystore)、依赖安装(OpenZeppelin)和合约开源验证等关键实践。此外,还讨论了命令行工具对 AI 友好的趋势,以及在实际开发中提升效率和安全性的技巧。
视频中提出了哪些关键信息:
- Foundry 核心功能与优势:
- Foundry 是一个用于 Solidity 智能合约本地开发的脚手架和开发套件,相比 Remix 更适合复杂项目。
- 提供项目初始化、编译、测试和部署的全流程管理,且完全由 Rust 开发,速度快,测试框架优秀。
- 命令行工具对 AI 友好,是未来开发趋势。
- Foundry 主要组件:
Forge: 用于合约开发全流程,包括初始化、编译、测试、部署。Cast: 用于与链交互,管理钱包。Anvil: 本地测试节点,提供测试账户和 RPC 服务。
- 开发流程与命令:
forge init: 初始化项目。forge build: 编译合约。forge test: 运行测试用例,支持setup初始化和模糊测试 (Fuzz testing),并显示 Gas 消耗。forge create/forge script: 部署合约,需准备有余额的钱包地址和 RPC URL。--broadcast: 实际广播交易。--verify: 用于合约开源验证。
- 账户管理与安全性:
- 私钥、助记词明文暴露在命令行中极不安全,易被窃取。
- 推荐使用 Keystore 加密文件管理私钥,部署时输入密码解锁。
cast wallet new: 创建新的 Keystore 钱包。- 环境变量 (e.g.,
ACCOUNT_PRIVATE_KEY) 可用于本地测试,提高便利性,但安全性低于 Keystore。
- 依赖管理:
forge install: 安装外部库,如 OpenZeppelin。remapping: 将长路径映射为短别名,方便代码引用 (e.g.,@openzeppelin/contracts=lib/openzeppelin-contracts/contracts)。
- 合约开源与验证:
- 开源代码是建立信任、实现“无需信任”环境的关键。
- 链上只保存字节码,合约代码需通过区块链浏览器(如 Etherscan, Sourcify)进行开源验证。
- 验证过程:将代码、编译器版本、优化选项发送给浏览器,后台编译匹配链上字节码。
- 需申请 API Key 进行验证操作。
- 部署时使用
--verify参数可同步开源,后期开源风险高。
- 开发技巧:
- 保存合约地址:将部署的合约地址保存到 JSON 文件中,方便后续交互。
- 配置 RPC URL:在
foundry.toml中配置 RPC 别名 (e.g.,local = "http://127.0.0.1:8545"), 简化部署命令。 VM(作弊码): Foundry 提供的 Solidity 语法扩展,用于文件操作、环境变量读取等,方便脚本编写。
- 学习与实践:
- 强调动手实践的重要性,仅听课难以深入理解,建议提前预习并亲自操作 Foundry 工具。