这是一个完整的全栈区块链应用,包含 React 前端、Go 后端和 Solidity 智能合约。
LearnBlockChain/
├── frontend/ # React + Vite + TypeScript 前端
├── backend/ # Go REST API 后端
├── contracts/ # Solidity + Hardhat 智能合约
└── README.md
- 用户注册/登录系统(JWT 认证)
- MetaMask 钱包连接
- NFT 铸造功能
- 积分系统
- 用户资料管理
- 响应式 Dashboard
cd contracts
npm install
npx hardhat node
# 新开一个终端
npx hardhat run scripts/deploy.js --network localhostcd backend
go mod init backend
go mod tidy
go run main.go后端将在 http://localhost:8080 启动
cd frontend
npm install
npm run dev前端将在 http://localhost:5173 启动
POST /api/register- 用户注册POST /api/login- 用户登录GET /api/user- 获取用户信息(需要 JWT)PUT /api/user- 更新用户资料(需要 JWT)
- FishingNFT (FNT): ERC-721 NFT 合约
- 积分系统: 基于地址的积分管理
- 主要方法:
mintNFT(address to)- 铸造 NFTaddPoints(address to, uint256 amount)- 增加积分getPoints(address user)- 查询积分余额
- 构建前端:
cd frontend && npm run build - 将
dist文件夹部署到 Vercel
- 配置
.env文件(参考contracts/.env.example) - 运行:
npx hardhat run scripts/deploy.js --network sepolia
- 确保安装了 MetaMask 浏览器扩展
- 本地测试时需要将 Hardhat 网络添加到 MetaMask
- 后端使用 SQLite 数据库,首次运行会自动创建
- 前端默认连接本地合约,部署时需要更新合约地址