DotaFi - Play-to-Earn GameFi 🎮💰

一个基于Dota 1英雄和道具的可爱风格GameFi游戏,支持Play-to-Earn机制。
✨ 特性
- 🎮 基于Dota 1经典英雄和道具
- 💰 Play-to-Earn代币奖励系统
- 🎨 可爱精美的UI设计
- 🔐 区块链智能合约集成
- 🚀 本地开发环境支持
🏗️ 项目结构
dotafi/
├── contracts/ # 智能合约(Hardhat)
├── frontend/ # React前端应用
└── package.json # 根配置文件
🚀 快速开始
一键启动(推荐)✨
只需两个命令即可启动所有服务:
npm install
npm run dev
这个命令会自动:
- ✅ 安装所有依赖(根目录、合约、前端)
- ✅ 启动 Hardhat 本地节点
- ✅ 自动部署智能合约
- ✅ 自动更新合约地址到前端配置
- ✅ 启动前端开发服务器
启动成功后:
- 🌐 前端地址: http://localhost:5173
- 🔗 区块链节点: http://127.0.0.1:8545
配置 MetaMask
-
添加网络:
- 网络名称:
Hardhat Local - RPC URL:
http://127.0.0.1:8545 - 链ID:
31337 - 货币符号:
ETH
- 网络名称:
-
导入测试账户:
- Hardhat 节点启动时会显示测试账户和私钥
- 在 MetaMask 中导入第一个账户的私钥
- 每个测试账户都有:
- 💰 10,000 ETH(用于Gas费)
- 🪙 100,000 DOTA代币(自动分发,用于游戏内购买和交易)
- 部署脚本会自动给前10个账户分发代币,方便试玩!
其他命令
# 仅启动前端(需要先手动启动 Hardhat 节点)
npm run dev:frontend
# 仅启动 Hardhat 节点
npm run dev:hardhat
# 编译合约
npm run compile
# 运行测试
npm test
# 构建生产版本
npm run build
📖 详细部署指南请查看 SETUP.md
🎮 游戏玩法
- 选择英雄:从Dota 1经典英雄中选择你的角色
- 战斗升级:通过战斗获得经验和代币
- 收集道具:收集Dota经典道具增强实力
- 赚取代币:每次胜利都会获得DOTA代币奖励
- 升级英雄:使用代币升级英雄属性
💡 技术栈
- 前端: React + TypeScript + Vite + TailwindCSS
- 智能合约: Solidity + Hardhat
- Web3: ethers.js
- UI组件: 自定义可爱风格组件
📝 开发说明
合约开发
cd contracts
npx hardhat compile # 编译合约
npx hardhat test # 运行测试
前端开发
cd frontend
npm run dev # 开发模式
npm run build # 构建生产版本
✨ 已实现功能
- ✅ NFT英雄系统 - ERC721 NFT合约,英雄可铸造为NFT
- ✅ 多人PVP战斗 - 玩家对战系统,支持下注和奖励
- ✅ 道具交易市场 - 英雄和道具NFT交易市场
- ✅ 公会系统 - 创建公会、成员管理、贡献系统
- ✅ 锦标赛模式 - 报名参赛、排名奖励系统
🎯 功能详情
🎨 NFT英雄系统
- 英雄可铸造为ERC721 NFT
- 支持稀有度系统(普通、稀有、史诗、传说)
- NFT元数据包含英雄属性
- 可在市场交易
⚔️ PVP战斗系统
- 玩家可以挑战其他玩家
- 支持下注机制(10-1000 DOTA)
- 获胜者获得90%奖池,平台收取10%手续费
- 战斗结果基于英雄属性和随机因素
🛒 交易市场
- 英雄NFT上架和交易
- 道具交易功能
- 5%平台手续费
- 支持取消上架
👥 公会系统
- 创建公会(需要100 DOTA贡献)
- 最多50名成员
- 公会等级系统
- 成员贡献和公会金库
- 领导权转移功能
🏆 锦标赛模式
- 创建锦标赛(管理员)
- 报名参赛(支付报名费)
- 支持4-64人参赛
- 前三名获得奖励(50%、30%、20%)
- 平台收取10%手续费
📄 License
MIT
评论区