背景
使用Solidity有一段时间,同步沉淀下来一些好用的工具以及Solidity合约的常用技巧分享,这些知识都是价值X亿,希望对大家有帮助。
那些好玩的入门教程
- 僵尸教程: https://cryptozombies.io/
那些好用的工具
部署和测试合约必备利器(二选一),没用过remix
,但是生产环境很少会用
- hardhat: https://hardhat.org/hardhat-runner/docs/getting-started#overview
- getfoundry https://book.getfoundry.sh/
那些常用的库
- openzeppelin(必熟): https://docs.openzeppelin.com/
那些有用的写法
- ERC20(必学):https://docs.openzeppelin.com/contracts/5.x/api/token/erc20
- ERC721(必学):https://docs.openzeppelin.com/contracts/5.x/api/token/erc721
- 合约升级(必学):https://docs.openzeppelin.com/upgrades
- 权限访问(必学):https://docs.openzeppelin.com/contracts/5.x/api/access
那些常用的库
- MerkleProof(一般用于空投校验):https://docs.openzeppelin.com/contracts/5.x/api/utils#MerkleProof
- ReentrancyGuard(重入攻击):https://docs.openzeppelin.com/contracts/5.x/api/utils#ReentrancyGuard
- Pausable(合约暂停,非常有用,防止合约出问题可暂停服务):https://docs.openzeppelin.com/contracts/5.x/api/utils#Pausable
- Math(数学计算用的):https://docs.openzeppelin.com/contracts/5.x/api/utils#Math
- EnumerableMap(最近一个亿级项目用到,非常好用): https://docs.openzeppelin.com/contracts/5.x/api/utils#EnumerableMap
- EnumerableSet(最近一个亿级项目用到,非常好用): https://docs.openzeppelin.com/contracts/5.x/api/utils#EnumerableSet
那些深入的知识
- Web3.0架构(相当于本课程的总结):https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application
- 合约全貌(必读):https://docs.soliditylang.org/en/v0.8.26/contracts.html
- ABI规范(必读):https://docs.soliditylang.org/en/v0.8.26/abi-spec.html
- 合约调试(万能的打印):https://hardhat.org/tutorial/debugging-with-hardhat-network#solidity-console-log
- 合约测试(UT):https://hardhat.org/tutorial/testing-contracts
- Gas源由:https://ethereum.org/zh/developers/docs/gas/
- EVM介绍:https://ethereum.org/zh/developers/docs/evm/
- EVM指令集解密:https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf
- 共识算法:https://ethereum.org/zh/developers/docs/consensus-mechanisms/
- 理解女巫攻击:https://en.wikipedia.org/wiki/Sybil_attack
- Oracle(预言机):https://ethereum.org/zh/developers/docs/oracles/、
评论前必须登录!
注册