目标:使用go开发与测试solidity合约。(已支持foundry工具)
hardhat 是目前最流行的solidity开发测试框架。但是hardhat需要使用到 ts/js来测试合约。
而我一直对 ts/js 不感冒,虽然可以使用起来也没有问题,但是感觉使用go来开发测试合约更加的顺手。
于是,就有了这个项目go-and-solidity。 同时,也巩固一下go知识和solidity知识。
artifacts-go:存放abigen生成的go文件bin: 存放solidity编译工具与abi工具build:存放solidity编译后的abi与bin文件contracts:存放solidity合约docs:存放文档lib: 第三方合约库,使用git submodule管理script:存放部署合约的go脚本或者foundry测试脚本test:存放solidity测试文件foundry-testfoundry 测试文件go-testgo 测试文件
更多相关文档说明存在docs目录下, 请移步查看。
内容有点多,更新比较慢。
- solidity基础知识点
- solidity的重点
- solidity的难点
- 智能合约的常见应用
- 合约安全专题 待更新
- defi专题 待更新
- nft专题 待更新
- opnezeppelin合约库 待更新
- HQ20合约库 待更新
- 构建大型智能合约系统之钻石标准 待更新
- 编译工具安装,查看solc/abigen
- 使用go去测试合约,详细过程查看:实践说明文档
foundry.toml 的 src 设置为 contracts。
forge install foundry-rs/forge-std --no-commit
foundry 文档: https://github.com/foundry-rs/forge-std/tree/master
本仓库参考的教程有: