SuperAPI AI 工具集

solidity-development

编程与开发

查看项目

更新于 10-15 22:13

技能介绍

用途:该技能用于在 apps/eth-contracts/ 的 Foundry 项目中修改 Solidity 智能合约时遵循统一工作流,适用目录包括合约源码 apps/eth-contracts/contracts/、Foundry 部署脚本 apps/eth-contracts/script/ 和测试文件 apps/eth-contracts/test/(*.t.sol)。分支管理、提交规范与 PR 创建需配合 git-workflow 技能。

工具链:Foundry(forge)1.6.0-nightly 负责编译、测试、部署;Solidity ^0.8.34;OpenZeppelin Contracts ^5.6.1 提供 ERC-20 等标准基础合约;bun 作为主包管理器;solhint ^6.0.3 做 Solidity 检查;dprint ^0.52.0 格式化 JS/TS。forge 安装在 ~/.foundry/bin/forge,可能不在 PATH 中,需用完整路径或把该目录加入 PATH。

首次安装:进入 apps/eth-contracts 后执行 forge install foundry-rs/forge-std,再执行 bun install 安装 @openzeppelin/contracts、solhint、dprint。

验证命令:forge build 编译全部合约并输出到 out/;forge test -v 运行 Foundry 单元测试;bun run lint 通过 solhint 检查,须退出码为 0 且零错误;bun run fmt 用 dprint 格式化 JS/TS,须退出码为 0。

本地部署:设置 PRIVATE_KEY 环境变量后执行 forge script script/DeployHYC.s.sol --rpc-url http://localhost:8545 --broadcast,输出合约地址、交易哈希与 gas 消耗,兼容 http://localhost:8545 上的 anvil 与 geth 节点。

自检清单涵盖:使用命名导入、NatSpec 标签、显式可见性、gas 优化、状态变更事件;避免重入漏洞、禁止硬编码私钥、.env 加入 .gitignore、实现访问控制、依赖 Solidity ≥0.8 内置溢出检查;测试覆盖验收标准且 forge test 与 bun run lint 均零失败。合约变更后如需 Go 绑定,先 forge build,再执行 make gen-abi 重新生成。相关链上下文为以太坊与 ERC-20 标准。限制:资料未提供其他网络、收费或性能数据。