模拟抽卡的 solidity 简单实践项目,包含前后端以及合约
作为一个学习 Patrick 智能合约全栈课程 的大作业
仅为测试环境学习,切勿在生产环境使用,未经安全审计。
-
bun (Runtime + Package Manager + Bundler)
-
monorepo (app + contract),前后端不分离
-
wagmi 3 (all wallet packages are optional)
-
react + tailwind + daisyui
-
rainbowkit (wallet connect)
-
hardhat 3 (using ignition to deploy and test)
-
Chainlink VRF (mock coordinator)
-
ERC721 NFT
-
部分代码使用 solady 替代 OZ
- dapp 前后端架构
- hardhat 3 ignition
- 信标代理
- Chainlink VRF
- 在开发测试中 Mock 合约
- 不可升级合约的 initializer 改造
- 由合约创建合约,(solady create3)
- 在合约调用其他合约
- ERC-7201 Namespaced 存储槽
- 使用集合保存 own NFT tokens
- 可枚举的集合(EnumerableSet)
合约(contract) README.md 前后端(app) README.md 整体设计 design.md
- hardhat 3 文档
- Hardhat Ignition 文档
- Hardhat Ignition - Upgradeable Contracts
- Bun Runtime
- Bun Workspaces
- Bun Bundler
- React
- Viem
- wagmi
- daisyUI
- tailwind
- TanStack Query
- solady
- OpenZeppelin Contracts