跳到主要内容

积分系统概述

AXBlade 积分系统是一个激励用户交易、持仓和推荐行为的综合奖励机制。通过多维度的积分计算和周期性结算,鼓励用户积极参与平台交易活动。

业务目标

实现5种积分类型的实时累积和Epoch周期结算系统,激励用户交易、持仓和推荐行为。

积分类型

5种积分类型

积分类型计算公式触发时机说明
交易积分交易量 × Tier倍数 × 0.0001交易完成基于交易量,有分层奖励
PnL积分max(已实现盈利, 0) × 0.001仓位平仓仅盈利计入积分
持仓积分仓位价值 × 持仓时长(小时) × 0.00001每小时鼓励长期持仓
推荐积分被推荐人交易量 × 0.00005被推荐人交易推荐人获得积分
质押积分质押金额 × 0.0002每天质押代币获得积分

Tier分层机制

默认配置(Phase 1)

Tier交易量范围(USDT)积分倍数目标用户群
T10 - 99,9991.0x新手/小额交易者
T2100,000 - 499,9991.1x活跃交易者
T3500,000 - 999,9991.3x专业交易者
T4≥ 1,000,0001.5x大户/机构

配置灵活性

Tier配置支持两种模式:

  • 全局默认: epoch_number = NULL,适用于所有Epoch
  • Epoch专属: 为特定Epoch设置独立配置,优先级高于全局默认
-- 为Epoch 2设置更激进的配置
INSERT INTO trading_tier_config (tier_name, min_volume, max_volume, multiplier, epoch_number)
VALUES
('T1', 0, 99999, 1.0, 2),
('T2', 100000, 499999, 1.2, 2), -- 提升倍数
('T3', 500000, 999999, 1.4, 2),
('T4', 1000000, NULL, 1.6, 2);

Tier配置策略建议

策略类型T1T2T3T4适用场景
渐进式(默认✅)1.0x1.1x1.3x1.5x平衡新老用户
激进式1.0x1.2x1.5x2.0x冷启动/竞争激烈
保守式1.0x1.05x1.1x1.2x成本控制优先

动态调整方案

  1. 按Epoch周期调整

    • Epoch 1(冷启动): 使用激进策略吸引早期用户
    • Epoch 2-3(成长期): 逐步回归平衡
    • Epoch 4+(稳定期): 使用渐进策略
  2. 根据数据优化

    -- 监控Tier分布
    SELECT tier, COUNT(*) as users, SUM(trading_volume) as volume
    FROM user_points_summary WHERE epoch_number = 1 GROUP BY tier;
    • 如果90%用户在T1 → 降低T2门槛
    • 如果T4用户过少 → 降低T4门槛或提高倍数
    • 如果积分成本过高 → 降低各级倍数
  3. 实时升级机制

    • 用户交易量实时累计到user_points_summary.trading_volume
    • 每次交易后重新计算用户Tier
    • 新Tier立即生效于下一笔交易

Epoch周期系统

  • 支持可配置周期: 7天/10天/15天/30天
  • 状态: pending → active → ended → settled
  • 每个Epoch独立计算和结算
  • 支持历史Epoch数据查询

非功能需求

  • 性能: 单次交易积分计算 < 10ms
  • 可扩展: 支持10万+ 日活用户
  • 数据一致性: 使用数据库事务保证
  • 实时性: 积分更新延迟 < 1秒
  • 可用性: 99.9% uptime

系统架构概览

┌─────────────────────────────────────────────────────────────────────┐
│ Client Layer │
│ (REST API / WebSocket) │
└────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────┐
│ API Handler Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │
│ │ Points API │ │ Admin API │ │ Leaderboard API │ │
│ └──────────────┘ └──────────────┘ └──────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────┐
│ Service Layer │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ PointsService │ │
│ │ • calculate_trading_points() │ │
│ │ • calculate_pnl_points() │ │
│ │ • calculate_holding_points() │ │
│ │ • calculate_referral_points() │ │
│ │ • calculate_staking_points() │ │
│ │ • get_user_summary() │ │
│ │ • refresh_leaderboard() │ │
│ └──────────────────────────────────────────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────────┘

┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ PostgreSQL │ │ TimescaleDB │ │ Redis Cache │
├─────────────────┤ ├──────────────┤ ├─────────────────┤
│ • epochs │ │ • events │ │ • user_points:* │
│ • summaries │ │ (hypertable)│ │ • leaderboard:* │
│ • tier_config │ │ • compression│ │ • tier:* │
│ • staking │ │ • retention │ │ (TTL: 60s) │
│ • leaderboard │ │ │ │ │
└─────────────────┘ └──────────────┘ └─────────────────┘

核心特性

实时积分计算

  • 交易完成后立即计算积分
  • 异步处理,不阻塞交易流程
  • 带缓存,高性能响应

多维度激励

  • 交易积分:鼓励活跃交易
  • PnL积分:奖励盈利交易
  • 持仓积分:鼓励长期持有
  • 推荐积分:促进用户增长
  • 质押积分:增加资金锁定

排行榜系统

  • 多类型排行榜(总分、交易、PnL等)
  • 实时更新,缓存优化
  • 支持历史Epoch查询

管理后台

  • 创建和管理Epoch
  • 手动调整用户积分
  • 积分重算功能
  • 完整的操作日志

下一步