这是一个面向 2026 FIFA 世界杯场景的加密体育投注平台 Demo,全栈 TypeScript 实现。前端使用 React 18、Vite、Tailwind CSS、Zustand、TanStack Query,后端使用 Node.js、Express、Prisma、SQLite,并支持 MetaMask/EIP-191 钱包签名登录、WebSocket 实时赔率与比分、模拟投注结算、多资产钱包、排行榜和责任博彩控制。README 明确说明它是教育/演示项目,不处理真实资金,也不是可直接上线的博彩服务。
适用领域
体育博彩 / 加密钱包登录 / Web3 应用 / React 前端应用 / Node.js/Express 后端 / 实时 WebSocket 数据 / 世界杯赛事展示 / 赔率与投注结算模拟 / Prisma 数据建模 / 合规与责任博彩 Demo
配置难度
中等偏高。单纯运行 Mock 前端较简单;理解全栈 live 模式、钱包签名认证、Prisma 数据模型、WebSocket 推送和投注结算逻辑需要一定 React、Node.js、TypeScript、Web3 和后端经验。若要改造成真实生产系统,难度极高,主要难点在合规、风控、支付/托管、安全审计和授权数据源。
商业价值
作为学习项目、产品原型、体育投注 UI 展示、Web3 登录示例和实时数据推送 Demo 有较高参考价值。对于中国开发者,更适合用于技术研究、前端作品集、内部演示或合规场景分析,不适合直接商业化为真实博彩平台。若企业位于合法司法辖区并具备博彩牌照、KYC/AML、受监管支付和授权赔率源,该项目可作为早期原型参考,但距离可上线产品仍有较大工程和合规差距。
01
技术亮点
- 完整的体育投注平台 UI,包括赛事列表、1/X/2 赔率列、投注单、我的投注、钱包、排行榜和促销页面
- 前端默认 Mock 数据即可运行,适合快速体验和二次开发
- 支持 live 模式接入真实后端,前后端数据结构保持一致,README 称通过单个 env flag 切换
- 支持 MetaMask 钱包签名登录,采用 EIP-191/personal_sign 方式,后端验签后发放 JWT
- 提供 WebSocket 实时赔率、比分和结算事件推送
- 后端有服务端权威投注逻辑,投注时重新校验赔率和余额,不完全信任客户端
- 包含自动结算引擎,用于模拟比赛结束后的盘口结算与余额更新
- 内置责任博彩能力,如存款限制、投注限额、会话计时、现实检查提醒和自我排除
- 技术栈现代,覆盖 React、Vite、Tailwind、Zustand、TanStack Query、Express、Prisma、ethers.js 等常用技术
- README、截图和接口说明较完整,便于快速理解项目结构
02
目标用户
- 想学习 React + TypeScript + Node 全栈项目结构的开发者
- 想研究体育博彩产品 UI/UX 的前端开发者
- 想了解 MetaMask 签名登录流程的 Web3 开发者
- 需要演示 WebSocket 实时赔率/比分推送的团队
- 希望构建模拟投注平台原型的产品经理或创业团队
- 学习 Prisma、Express、JWT、Zustand、TanStack Query 集成的开发者
03
配置要求
- Node.js 与 npm 环境
- 前端环境变量:VITE_DATA_SOURCE,可设置为 mock 或 live
- 后端环境变量:从 server/.env.example 复制生成 server/.env
- SQLite 默认可用;README 声称 Postgres-ready,但实际切换需要检查 Prisma schema 和连接配置
- 如需真实赛事数据,需要 football-data.org API Token:FOOTBALL_DATA_API_KEY
- 如需 MetaMask 登录,需要浏览器安装 MetaMask 或兼容 injected wallet
- 后端需要 JWT 相关密钥配置,具体字段需查看 .env.example
- WebSocket 服务默认由后端提供,前端 live 模式需能访问 API 与 WS 地址
04
适用场景
- 作为世界杯体育投注平台的前端原型或交互 Demo
- 学习 MetaMask personal_sign / EIP-191 签名认证与后端验签流程
- 演示模拟盘口、投注单、结算、钱包余额和交易记录
- 构建体育赛事看板、赛事详情页、赔率市场和排行榜
- 测试 WebSocket 推送实时赔率、比分和结算事件
- 作为合规讨论样板,理解真实博彩业务上线前需要许可证、KYC/AML、风控和受监管赔率源
05
部署与配置
- 前端 Mock 模式:在仓库根目录执行 npm install
- 启动前端:npm run dev
- 访问:http://localhost:5173
- 全栈模式:进入 server 目录,执行 npm install && cp .env.example .env
- 初始化数据库:npm run db:push && npm run db:seed
- 启动后端:npm run dev,默认地址 http://localhost:4000
- 另开终端回到前端根目录,复制环境变量文件:cp .env.example .env
- 在前端 .env 中设置 VITE_DATA_SOURCE=live
- 启动前端:npm run dev
- 如需同步 football-data.org 数据,在 server/.env 配置 FOOTBALL_DATA_API_KEY 后执行 cd server && npm run sync:data
06
风险与注意事项
- 博彩业务在中国大陆及多数司法辖区受到严格监管,不能将该项目直接用于真实资金博彩业务
- README 明确表示无真实资金、无真实链上交易、无托管合约审计、无 KYC/AML、无博彩许可证,不能作为生产投注平台直接上线
- 仓库未声明 license,商用、修改、再发布存在法律不确定性
- stars 299、forks 1295 的比例异常,可能存在非自然 fork 或营销导向,需要审查代码质量和提交历史
- 项目主题涉及加密货币和博彩,容易触及支付、反洗钱、未成年人保护、广告合规和数据合规风险
- 赔率仍是 modeled odds,不是授权博彩公司赔率源;真实业务需要 Sportradar、Genius Sports、The Odds API 等合规数据源
- 多资产钱包、充值、提现是模拟账本,不代表真实链上资产处理能力
- README 中含大量营销关键词和世界杯场景描述,实际代码实现质量需进一步审计
- 如果接入真实钱包或真实资金,必须进行安全审计、智能合约审计、资金托管设计和风控系统建设
- Express/Prisma/JWT/WebSocket 后端如要上线,需要补充限流、审计日志、权限控制、风控、监控、备份和安全加固
2026-06-21
第18名
新收录 · github_search