← BACK · 返回原型集
INTERACTIVE 13 / MONEY FLOW BSC / ETH / TRON
INTERACTIVE DEMO · 夺宝资金流转

夺宝资金流转 DUOBAO MONEY FLOW · DEPOSIT · SWEEP · HOT-COLD · WITHDRAW

点下面的按钮,看资金怎么从用户充值地址 → 热钱包 → 冷钱包、再从热钱包通过 sign-service → 链上 → 用户提现地址。 热钱包阈值告警、sign-service 私钥边界、冷钱包储备规则都可以在一个画面里看到。所有数字是演示用,规则口径与链上原理一致。

SCROLL VIEW · 一页看完

资金 6 步全景 / SIX-STEP MONEY FLOW

从上到下读完,就掌握了夺宝资金的全部链上+链下路径。每一步标注关键服务、关键链上动作、安全控制点。

01

充值 / DEPOSIT

user-service · sign-service

用户在 BSC / TRON 把 USDT 转到自己的 HD 派生地址。地址由 sign-service 持有的 master seed 按 executionChain + uid 派生(BIP44),写入 user_chain_addr.derivation_index,每用户每链一个。

  • 链上动作:USDT.transfer → 派生地址 (BEP20 / TRC20)
  • 链下动作:TD-16 用户提交 txHash → chain-service verify-claim 绑定
  • 安全控制:私钥不出 sign-service 隔离子网;HD 派生函数本地完成,不上链
02

归集 / SWEEP

wallet-service · sign-service · chain-service

达到归集阈值后,wallet-service 把派生地址余额归集到平台 热钱包。签名由 sign-service 在隔离子网完成,主链广播由 chain-service 通过出块节点发送。

  • 链上动作:USDT.transfer (派生地址 → 热钱包) + 少量 gas 由 gas station 供给
  • 链下动作:扫块账本 reconcile;归集失败入死信队列等人工介入
  • 安全控制:每笔归集走 sign-service 内部 RBAC,不接受外部 RPC 直签
03

购票 / BUY TICKET

order-service · ticket-service · 内部账本

购票全程不发链上交易:从用户钱包余额扣减 USDT,记入活动奖池子账户。奖池物理位于热钱包,但通过内部账本与平台流动资金严格隔离。

  • 链上动作:无
  • 链下动作:order-service 落单 → ticket-service 写票 → ledger 扣减用户余额、累加奖池
  • 安全控制:DB 行锁 + 幂等键防止重复扣款;余额下界检查在事务里完成
04

开奖 / DRAW

game-service · chain-service · Chainlink VRF

v1.0 默认走 VRF_ONLY:game-service 调用 chain-service,chain-service 通过 BSC 上的 VRFCoordinator 请求 VRF v2.5 随机数,几个区块后回调,链下用 modulo 选号、确定中奖票。

  • 链上动作:VRFCoordinator.requestRandomWords → fulfillRandomWords (BSC)
  • 链下动作:回调写 vrf_request 表 → game-service 计算中奖号 → 派奖入用户余额
  • 安全控制:DrawEngine 接口 + @ConditionalOnProperty 切换;TRON 因 VRF 不在该链上,继续回退 BACKEND 模式
05

冷热钱包再平衡 / REBALANCE

wallet-service · sign-service · 监控告警

热钱包余额超过上限 → 自动转账到冷钱包(链上 multisig);低于下限 → 触发告警,运营从冷钱包人工补回。冷钱包私钥永远不出多签 + 硬件隔离环境。

  • 链上动作:USDT.transfer (热钱包 → 冷钱包) 或反向,签名走 multisig
  • 链下动作:wallet-service 监控阈值;Prometheus 告警下限事件
  • 安全控制:冷钱包不接受任何线上服务直连;阈值在 Nacos 配置可灰度调整
06

出款 / WITHDRAW

withdraw-service · risk · sign-service · chain-service

用户发起提现 → withdraw-service 风控检查(限额、地址黑白名单、KYC 状态)→ 进出款队列 → sign-service 签名 → chain-service 广播。回执确认后扣减余额,失败原路返回。

  • 链上动作:USDT.transfer (热钱包 → 用户提现地址)
  • 链下动作:出款队列状态机 PENDING → SIGNING → BROADCASTED → CONFIRMED / FAILED
  • 安全控制:大额单笔走二审;签名前用 risk 复核;广播失败自动重试 + DLQ 兜底
3
资金分层
派生地址 → 热钱包 → 冷钱包,每层私钥独立、签名权限独立
2
账本边界
用户余额、活动奖池物理在热钱包,逻辑在 DB 账本,不互通
1
签名出口
所有链上签名只通过 sign-service,master seed 永不离开隔离子网
01/ 06
充值
DEPOSIT · USDT 到达 HD 地址
HD 派生
01充值
02归集
03购票
04开奖
05冷热钱包
06出款
▶ 演示流程 / FLOW · 6 步看懂夺宝资金双层调度 左侧 HD 树展示派生关系,中间是平台钱包分层 + 活动奖池,右侧是出款队列 + 日志。每步聚焦 1 个 chain / security 设计点。点右下角 ▶ 下一步 推进。
HD 派生树 HD DERIVATION TREE sign-service holds master
🔒
MASTER SEED sign-service · KMS · isolated subnet
BSC
U1 U2 U3
TRON
U4 U5 U6
派生层:HD wallet · sign-service 持 master seed → 按 executionChain + uid 派生每个子地址 → 落库 user_chain_addr.derivation_index(每用户每链一个)
归属层:TD-16 manual claim · 用户提交 txHash → chain-service verify-claim + trust-on-first-use 绑定(TD-24 passive scanner 是 Phase 2)
用户充值地址 (HD 叶子节点) DERIVED ADDRESSES 总计 0 USDT
平台钱包分层 + 活动奖池 PLATFORM VAULTS + GAME POOL
🎯 GAME POOL · 活动奖池 · 内部账本子账户
accumulates from 购票 · paid out on 开奖
0 USDT
这是账本概念,不是独立钱包 —— 物理 USDT 还在 hot wallet,逻辑上挂在 platform_account/game_id 子账户。 所有变动 double-entry + audit log。
DRAW ENGINE / 开奖引擎 · Nacos one.draw.mode
▸ HOT WALLET · 热钱包 · ONLINE
日常出款工作账户
0 USDT
$5k 告警 $10k 目标 $15k 推冷
🔒 SIGN-SERVICE · 私钥隔离 · ISOLATED SUBNET
唯一接触热钱包私钥
独立 VPC subnet · IP 白名单 · KMS 加密 · 业务服务通过 mTLS 调用
所有出款 tx 必须经过这里签名
▸ COLD WALLET · 冷钱包 · OFFLINE
长期资金储备
0 USDT
硬件钱包 · m-of-n 多签 · 物理隔离 · 远程攻击面接近 0
📤 提现申请队列 (0 待处理)
暂无提现申请。
用户先充值,再走到 STEP 04。
📜 链上 / 业务事件日志
00:00系统初始化 · 等待用户操作
HD 派生充值地址 / Per-user HD Address 每用户每链一个独立地址 · sign-service 用 master seed 派生(落库 user_chain_addr.derivation_index) · UNCLAIMED → 归集时 claim 验证 + sweep。
活动奖池 / Game Pool 内部账本子账户(platform_account/game_id) · 购票时累加 · 开奖时分配 · 物理 USDT 还在 hot wallet。
热钱包 / Hot Wallet 日常出款工作账户,目标余额 $10k,超 $15k 推冷钱包。
sign-service / 签名服务 唯一持有热钱包私钥的服务,所有出款 tx 必经此处签名。
冷钱包 / Cold Wallet 硬件多签离线储备,攻击面极小,按需向热钱包回填。