Skip to content

Im-Sue/campfire_hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Monad Solidity Java 17 Spring Boot License

🔥 Campfire — 基于 Monad 的预测市场 & AI Agent & 夺宝平台

Campfire 是一个去中心化的预测市场、AI Agent 与游戏化夺宝平台,部署在 Monad Testnet 上。它将事件驱动的预测交易、AI 智能代理与 VRF 驱动的链上抽奖系统相结合,打造透明、公平、有趣的 Web3 体验。

🏆 为 Monad 黑客松而构建


✨ 核心功能

📊 预测市场(Prediction Market)

  • 事件浏览 — 浏览热门事件,支持多种分类(加密货币、体育、政治等)
  • 二元 & 多选市场 — 支持 Yes/No 二元市场及多选项市场
  • 实时价格 — 实时同步 Polymarket 市场价格,提供准确赔率
  • 订单交易 — 支持限价单、市价单下单及持仓管理
  • 链上记账 — 所有下注通过 BetLedger 智能合约批量哈希上链,确保完全透明可审计
  • 结算引擎 — 自动化市场结算与奖励分发
  • 社区评论 — 每个事件下的社区讨论,支持多级回复

🎰 夺宝池(Treasure Pool)

  • 链上奖池 — 用户使用 MON 购买彩票参与奖池,由 TreasurePool 智能合约管理
  • VRF 公平抽奖 — 基于 Switchboard VRF(可验证随机函数)选出中奖者,确保可证明的公平性
  • 自动开奖调度 — 智能合约在满足条件(时间到期或票数达标)时自动触发开奖
  • 奖金领取 — 中奖者可直接从智能合约领取 MON 奖金
  • 历史记录 — 查看历史奖池、中奖者及结算详情

🤖 AI Agent(智能代理)

  • 自主交易代理 — AI Agent 自动分析市场数据,基于策略模型进行预测市场交易决策
  • 实时市场洞察 — AI 代理持续监控市场动态,生成趋势分析与买卖信号
  • AI 弹幕系统 — 实时 AI 生成的滚动弹幕评论,为每个事件提供智能解读与观点
  • 代理资产追踪 — 完整的 AI Agent 投资组合管理,支持余额快照与收益曲线展示
  • 多模型架构 — 支持 DeepSeek、GPT、Claude、Gemini 等多种大语言模型,灵活切换
  • Agent 排行榜 — 展示各 AI Agent 的预测准确率与收益表现,用户可跟随优秀 Agent 的策略

🎯 游戏化系统

  • 每日任务 — 完成任务赚取积分和奖励
  • 积分体系 — 通过活跃参与赚取 Campfire 积分
  • 邀请系统 — 推荐好友注册获得奖励

💰 钱包与身份

  • Web3 钱包集成 — 连接钱包进行交易和夺宝
  • 链上身份 — 用户资料与钱包地址绑定
  • 余额管理 — 充值、提现及余额查看

🏗️ 系统架构

┌─────────────────────────────────────────────────────────────────┐
│                       前端应用 (DApp)                           │
│                    React / Next.js / Mobile                     │
└──────────────────────────────┬──────────────────────────────────┘
                               │ REST API
┌──────────────────────────────▼──────────────────────────────────┐
│                   campfire_service(后端服务)                    │
│                      Spring Boot 3 + JDK 17                     │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐  │
│  │  市场模块     │ │  夺宝模块     │ │    AI Agent 模块      │  │
│  │  - 事件管理   │ │  - 奖池管理   │ │  - 自主交易代理       │  │
│  │  - 市场管理   │ │  - 彩票管理   │ │  - 市场洞察分析       │  │
│  │  - 订单交易   │ │  - 中奖管理   │ │  - AI 弹幕系统       │  │
│  │  - 结算引擎   │ │  - VRF 开奖   │ │  - 多模型支持        │  │
│  │  - 社区评论   │ │  - 定时调度   │ │  - 资产追踪          │  │
│  └──────┬───────┘ └──────┬───────┘ └──────────┬───────────┘  │
│         │                │                                      │
│         │    ┌───────────▼──────────────┐                       │
│         │    │    区块链交互服务          │                       │
│         │    │   (Web3j / 合约调用)      │                       │
│         │    └───────────┬──────────────┘                       │
└─────────┼────────────────┼──────────────────────────────────────┘
          │                │
    ┌─────▼────┐     ┌─────▼──────────────────────────────────┐
    │  MySQL   │     │        Monad Testnet (EVM)              │
    │  Redis   │     │  ┌──────────────┐ ┌─────────────────┐  │
    └──────────┘     │  │ TreasurePool │ │   BetLedger     │  │
                     │  │  (VRF 开奖)  │ │ (下注哈希记账)   │  │
                     │  └──────────────┘ └─────────────────┘  │
                     │  ┌──────────────────────────────────┐  │
                     │  │     Switchboard VRF 预言机         │  │
                     │  └──────────────────────────────────┘  │
                     └─────────────────────────────────────────┘

📂 项目结构

campfire_hackathon/
├── campfire_contracts/          # 智能合约(Hardhat 项目)
│   ├── contracts/
│   │   ├── market/
│   │   │   └── BetLedger.sol    # 预测市场下注链上记账合约
│   │   ├── interfaces/
│   │   │   └── ISwitchboard.sol  # Switchboard VRF 接口
│   │   └── mocks/
│   │       └── MockSwitchboard.sol
│   ├── abi/                     # 生成的 ABI 文件
│   ├── scripts/                 # 部署与工具脚本
│   ├── test/                    # 合约测试套件
│   ├── deployments/             # 部署记录(Monad Testnet)
│   ├── hardhat.config.js
│   └── package.json
│
├── campfire_service/            # 后端服务(Spring Boot)
│   ├── yudao-module-market/     # 📊 预测市场模块
│   ├── yudao-module-treasure/   # 🎰 夺宝池模块
│   ├── yudao-module-task/       # 🎯 每日任务模块
│   ├── yudao-module-point/      # 💎 积分系统模块
│   ├── yudao-module-ai/         # 🤖 AI 集成模块
│   ├── yudao-module-system/     # 👤 用户、认证、权限
│   ├── yudao-module-infra/      # ⚙️ 基础设施
│   ├── yudao-module-social/     # 🔗 社交登录 & 邀请
│   ├── yudao-framework/         # 🧱 核心框架
│   ├── yudao-server/            # 🚀 应用启动入口
│   └── sql/                     # 数据库初始化脚本
│
└── README.md

🔗 智能合约

TreasurePool — 夺宝奖池合约

管理夺宝池完整生命周期的核心合约。

函数 说明
createPool() 创建新奖池,可配置参数(票价、中奖人数、时长等)
buyTickets() 用户使用 MON 购买彩票进入奖池
executeDraw() 触发基于 VRF 的随机开奖
fulfillRandomness() Switchboard VRF 回调,传入随机种子
claimPrize() 中奖者领取 MON 奖金
getPoolInfo() 查询奖池状态、参与者及奖金信息

设计要点:

  • 平台手续费(可配置,默认 5%)从奖池中扣除
  • 支持多中奖者,奖金平均分配
  • 支持基于时间和票数的双重开奖触发条件
  • VRF 回调确保随机数不可篡改

BetLedger — 下注链上记账合约

为预测市场提供链上透明审计。

函数 说明
recordBets() 批量记录下注哈希上链(每批最多 100 条)
isBetRecorded() 查询单笔下注是否已上链
areBetsRecorded() 批量查询多笔下注状态

下注哈希算法:

betHash = keccak256(abi.encodePacked(orderId, walletAddress, marketId, outcome, amount, filledAt))

已部署合约(Monad Testnet)

合约 地址
TreasurePool 0xF8c02cCf233BB5A8FAE9C5df45DE3cba1F4F31b3
BetLedger 参见 campfire_contracts/deployments/
Switchboard VRF 0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320

🛠️ 技术栈

层级 技术
区块链 Monad Testnet(EVM 兼容,chainId: 10143)
智能合约 Solidity 0.8.20、Hardhat、Switchboard VRF
后端 Java 17、Spring Boot 3.x、MyBatis-Plus
数据库 MySQL 8.x
缓存 Redis(Redisson)
AI 多模型支持(DeepSeek、GPT、Claude、Gemini 等)
接口文档 Knife4j / Swagger(SpringDoc)
认证 JWT + OAuth2(微信、钉钉等)
定时任务 Quartz + Spring @Scheduled

🚀 快速开始

环境要求

  • JDK 17+
  • Maven 3.8+
  • MySQL 8.0+
  • Redis 6.0+
  • Node.js 18+(合约项目需要)

1. 智能合约

cd campfire_contracts

# 安装依赖
npm install

# 配置环境变量
cp .env.example .env
# 编辑 .env,填入你的私钥和 RPC 地址

# 编译合约
npx hardhat compile

# 运行测试
npx hardhat test

# 部署到 Monad Testnet
npx hardhat run scripts/deploy.js --network monadTestnet

2. 后端服务

cd campfire_service

# 初始化数据库
# 将 sql/mysql/ruoyi-vue-pro.sql 导入 MySQL

# 配置应用
# 编辑 yudao-server/src/main/resources/application-local.yaml
# 设置数据库、Redis 和区块链配置

# 构建 & 启动
mvn clean install -DskipTests
cd yudao-server
mvn spring-boot:run

服务启动后访问:http://localhost:48080

接口文档:http://localhost:48080/swagger-ui



🔐 安全设计

  • 所有智能合约操作在链上可验证
  • VRF 确保开奖随机数的可证明公平性
  • 下注哈希提供防篡改的审计记录
  • 后端采用 JWT 认证与基于角色的访问控制
  • 敏感配置通过环境变量管理,不写入代码

📄 许可证

本项目基于 MIT License 开源。


🔥 在 Monad 黑客松中,用热情构建 🔥

About

monad 预测市场黑客松

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors