Skip to content

游戏模块

游戏模块提供核心的游戏功能,包括游戏轮次管理、存款参与、开奖等接口。

数据对象定义

Round 对象

Round 对象表示一个游戏轮次:

字段名类型说明
idstring轮次唯一标识符
statusstring轮次状态:none(不存在)、open(开放)、drawing(开奖中)、drawn(已开奖)、cancelled(已取消)
durationnumber本轮游戏时长 (以秒为单位)
cutoff_timestring截止时间(ISO 8601格式)
drawn_atstring开奖时间(ISO 8601格式,仅当status为drawn时有值)
maximum_number_of_participantsnumber最大参与人数
number_of_participantsnumber当前参与人数
winnerstring获胜者地址(仅当status为drawn时有值)
winner_earningstring获胜者的收入(ETH,以wei为单位)
jackpot_earningstring获胜者的jackpot收入(ETH,以wei为单位)
winner_indexstring获胜者的索引
value_per_entrystring每次参与的价值(ETH,以wei为单位)
volumestring本轮总代币数量(以wei为单位)
depositsDeposit[]存款记录数组
participantsParticipant[]参与玩家数组

Participant 对象

Participant 对象表示游戏轮次的参与者信息:

字段名类型说明
userUser用户信息
deposits_amountstring总存款金额(以wei为单位)
deposits_countnumber存款次数
entries_countnumber总存款票数
pointsnumber本轮已获得的积分

Deposit 对象

Deposit 对象表示一次存款记录:

字段名类型说明
depositorstring存款人地址
amountstring代币数量(以wei为单位)
entries_countnumber本次存款票数

Pagination 对象

Pagination 对象表示分页信息:

字段名类型说明
pagenumber当前页码
limitnumber每页数量
totalnumber总记录数
total_pagesnumber总页数

接口说明

获取当前轮次

路径: /api/game/round/current 方法: GET 认证: 无需认证

请求字段

字段名必需类型说明
---无需请求参数

响应字段

字段名必需类型说明
roundRound当前轮次信息

round 对象包含上述 Round 对象的所有字段


获取轮次详情

路径: /api/game/round/{round_id} 方法: GET 认证: 无需认证

请求字段

字段名必需类型说明
round_idstring轮次ID(路径参数)

响应字段

字段名必需类型说明
roundRound轮次详细信息

round 对象包含上述 Round 对象的所有字段


获取轮次历史

路径: /api/game/rounds 方法: GET 认证: 无需认证

请求字段

字段名必需类型说明
pagenumber页码(默认为1)
limitnumber每页数量(默认为10,最大100)
statusstring筛选状态:opendrawingdrawncancelled
uidstring用户ID,获取指定用户参与过的轮次
addressstring用户钱包地址,获取指定用户参与过的轮次
jackpotbool筛选是否击中 Jackpot

注意:uid 和 address 参数二选一使用,用于筛选特定用户参与的轮次

响应字段

字段名必需类型说明
roundsRound[]轮次列表
paginationPagination分页信息

获取用户未来投注汇总

路径: /api/game/rounds/future 方法: GET 认证: 无需认证

请求字段

字段名必需类型说明
addressstring用户钱包地址

响应字段

字段名必需类型说明
total_roundsnumber未来涉及的轮次总数
total_amountstring未来投注总金额(单位:wei)

使用说明

  • 轮次状态流转:opendrawingdrawncancelled
  • 用户通过前端钱包直接与智能合约交互参与游戏
  • 存款金额必须符合轮次设定的 value_per_entry
  • 所有涉及金额的字段都以 wei 为单位(1 ETH = 10^18 wei)
  • 协议费用以基点表示,10000基点 = 100%
  • Deposit 对象中的 depositor 字段包含完整的 User 对象信息(详见 User 模块),便于前端展示用户头像、昵称等信息
  • 获取轮次历史时,可通过 uid 或 address 参数筛选特定用户参与过的轮次,两个参数二选一使用