TypeScript · 项目报告

xxniiinxx/coinflip-casino-game

A full-stack, peer-to-peer coinflip betting casino game on Solana. Players connect a wallet, create or join on-chain game rooms, and compete head-to-head for 2× the stake. The UI updates in real time over WebSockets, outcomes are resolved on-chain with Orao VRF, and the backend tracks rooms, chat, and match history in MongoDB.

已完成 打开 GitHub
X
358星标
202Fork
0Issue
未知许可证

分析结果

项目分析

FlipArena 是一个基于 Solana 的全栈 P2P 掷硬币博彩游戏项目。玩家连接钱包后,可以创建或加入链上对局房间,通过猜正反面进行 1v1 对赌,胜者获得约 2 倍下注金额。项目包含 React 前端、Node.js TypeScript WebSocket 后端、MongoDB 数据存储,以及 Anchor/Rust 智能合约参考工程。随机结果通过 Orao VRF 在链上解析,后端负责房间状态、交易中继、聊天、历史记录和钱包统计。

适用领域 区块链游戏 / Solana 生态 / Web3 博彩 / Casino / DeFi 应用 / P2P 对战游戏 / 实时 WebSocket 应用 / React 全栈应用 / Anchor 智能合约 / MongoDB 后端服务
配置难度 中高级。前端部分需要熟悉 React、Tailwind、Solana Wallet Adapter;后端需要掌握 Node.js、TypeScript、WebSocket、MongoDB、交易构建和状态同步;链上部分需要理解 Solana、Anchor、PDA、IDL、VRF 和 SPL Token。对于普通前端开发者上手难度较高,对于有 Solana DApp 经验的开发者可以较快理解。
商业价值 该项目具有较高的技术参考价值,可作为 Solana 链上游戏、P2P 对战、实时竞猜、Web3 钱包交互和 VRF 随机数应用的完整样板。对于开发团队而言,可以节省从零搭建 DApp 前后端和链上交互流程的时间。但由于其博彩属性,直接商业化上线存在较高合规和安全门槛。更适合用于学习、内部 Demo、技术验证,或改造成非赌博性质的链上小游戏、积分竞猜、娱乐对战产品。
01

技术亮点

  • 完整全栈结构,包含前端、后端、链上程序参考工程。
  • 使用 Solana + Anchor,适合学习真实 DApp 架构。
  • 支持钱包连接、创建房间、加入房间、签名交易、链上结算等完整流程。
  • 通过 WebSocket 实现实时大厅、比赛状态更新和聊天功能。
  • 使用 MongoDB 记录比赛、聊天、钱包统计等链下数据。
  • 使用 Orao VRF 提供链上随机数,适合博彩类游戏场景。
  • 项目主题明确,代码可以作为 Web3 casino / betting 类应用模板。
  • 支持 SOL、USDT、USDC、BONK 等默认代币配置。
  • README 对目录结构、配置项、WebSocket API、运行步骤说明较清晰。
02

目标用户

  • Solana DApp 开发者
  • Web3 游戏开发团队
  • 学习 Anchor 和 Solana 钱包交互的开发者
  • 想研究链上随机数 VRF 的开发者
  • 想快速搭建 P2P betting / casino 类产品原型的团队
  • 全栈 TypeScript 开发者
  • 区块链创业团队或外包团队
03

配置要求

  • Solana RPC URL,例如 https://api.devnet.solana.com 或第三方 RPC 服务。
  • 后端中继钱包 PRIVATE_KEY,格式为 base58 私钥,需要谨慎保管。
  • 平台手续费接收地址 FEE_RECEIVER。
  • MongoDB 数据库连接信息,包括 DB_USERNAME、DB_PASSWORD、DB_HOST、DB_NAME。
  • 客户端常量 FLIPARENA_PROGRAM,需要与链上程序 ID 一致。
  • 客户端 WS_HOST,需要指向后端 WebSocket 服务地址。
  • 客户端 RPC,需要与目标 Solana 网络一致。
  • 后端 program-idl.ts 文件必须存在,否则无法正确构造 Anchor 交易。
  • 默认生产 PvP 程序 ID 为 472RXUv8zUX7zm4LprxNsFQvAZYEpSGaY9EUE4akCvG6。
  • 如修改合约,需要重新生成 IDL,并确保前后端、程序 ID、PDA seeds、指令名称保持一致。
04

适用场景

  • 作为 Solana 链上对赌游戏的学习项目
  • 改造成其他 P2P 竞猜类游戏,例如骰子、剪刀石头布、轮盘等
  • 研究 React 钱包连接、交易签名、链上交易提交流程
  • 研究 WebSocket 实时大厅、聊天和比赛状态同步
  • 研究 MongoDB 存储链下比赛历史和用户数据
  • 研究 Orao VRF 在 Solana 游戏中的使用方式
  • 作为 Web3 游戏 MVP 或 Demo 的基础模板
  • 用于教学 Anchor、Solana Program、前后端 DApp 集成
05

部署与配置

  • 准备 Node.js、Yarn、MongoDB、Solana CLI、Anchor 环境。
  • 创建 MongoDB 数据库,可以使用本地 MongoDB 或 MongoDB Atlas。
  • 进入后端目录:cd fliparena-server。
  • 安装依赖:yarn install。
  • 在 fliparena-server 下创建 .env 文件,配置 RPC、PRIVATE_KEY、FEE_RECEIVER、DB_USERNAME、DB_PASSWORD、DB_HOST、DB_NAME。
  • 准备 program-idl.ts 文件,放置到 fliparena-server/program-idl.ts。可从 fliparena-program/anchor-workspace/target/types/coinflip.ts 复制,或通过 Anchor 构建产物生成。
  • 启动后端:yarn dev。默认 WebSocket 监听端口为 8881。
  • 进入前端目录:cd fliparena-client。
  • 安装依赖:yarn install。
  • 编辑 fliparena-client/src/lib/constant.ts,设置 WS_HOST 为 ws://localhost:8881,并配置 Solana RPC 地址。
  • 启动前端:yarn start。
  • 浏览器打开 http://localhost:3000,并连接 Solana 钱包进行测试。
06

风险与注意事项

  • 项目属于博彩 / 赌博类应用,在中国大陆及许多司法辖区可能存在明显合规风险,不建议直接上线运营。
  • 仓库未声明明确 License,商业使用、二次分发和闭源改造存在法律不确定性。
  • 需要保管后端 PRIVATE_KEY,中继钱包私钥泄露会造成资金和平台安全风险。
  • 后端参与交易构建和提交,若权限设计不当,可能形成中心化信任点。
  • 链上程序为既有部署版本,README 表示 program reference 未必是完整可重新部署版本,二次开发需要仔细核对 IDL、PDA、指令和部署地址。
  • 博彩类游戏对随机数、公平性、资金托管和退款逻辑要求很高,需要完整安全审计。
  • MongoDB、WebSocket、交易状态监听如果处理不严谨,可能出现状态不同步、重复提交、比赛卡死等问题。
  • 依赖 Solana Devnet 或第三方 RPC,网络拥堵、RPC 限流会影响体验。
  • Anchor 版本为 0.26,可能与较新的 Solana / Anchor 工具链存在兼容问题。
  • 涉及代币下注,需要额外关注 SPL Token 精度、账户创建、转账失败、恶意代币等边界情况。

历史记录

热榜历史快照

2026-07-03 第19名 新收录 · github_search
2026-07-02 第20名 新收录 · github_search
2026-07-01 第23名 新收录 · github_search
2026-06-30 第23名 新收录 · github_search
2026-06-29 第26名 新收录 · github_search