RustMinerSystem

文档

PoolNode 费率、收益与子账号 API

PoolNode 节点费率账号、收益、支付地址、小额提现、子账号费率与返佣管理接口。

PoolNode 费率、收益与子账号 API

本章只记录 API 调用方需要的费率、收益、地址、提现和子账号接口。收益邮箱、验证码、钱包地址和交易哈希都属于敏感数据,日志中必须脱敏。

PoolNode 响应可能使用 { status, error, data } 包装,也可能直接返回数据;统一规则见PoolNode 标准包装

节点币种费率

POST /api/poolnode/project/config
{
  "email": "[email protected]",
  "coin": "PI-BTC",
  "r": 0.01
}

r 使用 0–1 小数,0.01 表示 1%。

email 应来自项目拥有者自行维护的收益邮箱,coin 使用project/info.data.config[].coin。成功响应是包装后的成功数据或 HTTP 200,保存后重新读取项目信息确认 config[].r

收益汇总和记录

方法 路径 主要主体字段
POST /api/poolnode/profit email, coin
POST /api/poolnode/address/info email
POST /api/poolnode/rewards email, coin, page, size
POST /api/poolnode/payouts email, coin, page, size

profit 前端识别 allyesterdaypaidunpaid 状态。收益和支付列表读取:

{
  "records": [],
  "total": 0,
  "page_no": 1
}

详细返回字段:

/api/poolnode/profit

data 为数组:

[
  { "status": "all", "profit": 0 }
]

status 可为 allyesterdaypaidunpaidprofit 为对应金额。缺少某个状态时按 0 处理。

/api/poolnode/address/info

data 为地址数组:

字段 类型 说明
coin string PoolNode 币种代码。
address string 当前收益地址。
amount string/number 起付金额。

调用方先按 coin 找到记录,再将 addressamount 带入修改表单。

/api/poolnode/rewards

data{ records, total, page_no }

records[] 字段 类型 说明
day string 收益日期。
avg_hashrate number/string 当日平均算力。
day_profit number/string 当日收益。
r number/string 该记录使用的费率。
status number/string 收益状态枚举。
account_type number/string 账户类型枚举。

/api/poolnode/payouts

同样返回 { records, total, page_no }

records[] 字段 类型 说明
created_at string 支付记录时间。
amount number/string 支付金额。
trans_id string 链上交易哈希。
status number/string 支付状态枚举。
account_type number/string 账户类型枚举。

total 是记录总数,page_no 是服务端确认的当前页;请求 page 从 1 开始。

修改收益地址

发送用户邮箱验证码:

POST /api/poolnode/send/user/mail
{
  "address": "[email protected]",
  "token": "<验证码/人机验证 token>"
}

保存地址和起付金额:

POST /api/poolnode/update/address
{
  "email": "[email protected]",
  "code": "123456",
  "coin": "PI-BTC",
  "amount": "0.01",
  "address": "<收益钱包地址>"
}

amount 在当前前端中作为字符串提交。

coin 必须来自地址查询或项目费率配置。保存成功返回包装后的成功数据;随后重新调用 /api/poolnode/address/info 验证地址和起付金额。发送邮件接口只返回发送结果,不返回验证码。

小额提现

方法 路径 主体
POST /api/poolnode/withdrawal/can/apply { email, coin },查询是否可申请。
POST /api/poolnode/withdrawal/logs { email, coin },查询申请记录。
POST /api/poolnode/withdrawal/submit { email, coin },提交申请。

资格查询在当前前端中被解释为数组 [status, payload]status=0 时 payload 是可提现余额,status=-3 时 payload 是下一次可申请时间。

完整状态:

status payload / 含义
0 可申请,payload 为余额。
-1 没有可申请的小额余额。
-2 有余额但尚未绑定支付地址。
-3 未到再次申请时间,payload 为上次/下次相关时间。
-4 当前账号权限不足。

/withdrawal/logsdata 为数组,前端读取 updated_atamountstatushashstatus=1 表示等待支付,status=0 时前端允许展示交易哈希。提交接口成功返回业务结果,提交前应再次检查资格。

子账号费率

查询子账号:

POST /api/poolnode/subaccount/configs
{
  "page": 1,
  "size": 20,
  "coin": "PI-BTC",
  "name": "<可选子账号筛选>"
}

设置子账号费率:

POST /api/poolnode/subaccount/config
{
  "sid": 1,
  "coin": "PI-BTC",
  "action": 0,
  "r": 0.01
}

设置子账号返佣:

POST /api/poolnode/subaccount/rebate
{
  "sid": 1,
  "coin": "PI-BTC",
  "email": "[email protected]",
  "action": 0,
  "r": 0.005
}

币种参数沿用 PoolNode 节点代码,例如 BTC 通常使用 PI-BTC,LTC 使用 VA-LTC

查询成功返回 { records, total, page_no }records[] 当前前端读取:

字段 类型 说明/后续用途
id number/string 子账号 ID;设置费率或返佣请求的 sid
name string 子账号名称。
created_at string 注册时间。
hashrate number/string 当前算力。
r number/string 子账号独立费率,0–1
rb_r number/string 返佣比例,0–1
rb_email string/null 返佣收益邮箱。
tick string/null 生成 PoolNode 观察者链接所需的只读标识。

action=0 表示保存;子账号费率接口中 action=1 表示恢复节点默认值,当前前端会发送 r=0.03 作为兼容值;返佣接口中 action=1 表示移除返佣。写入成功返回包装后的成功数据,随后重新查询当前页。

字段依赖速查

字段 来源
coin GET /api/poolnode/project/infodata.config[].coin,或前端支持的 PoolNode 币种列表。
email 调用方持有的收益邮箱;项目配置中的 config[].email 可用于展示核对。
地址修改的 address / amount 先读取 /api/poolnode/address/info 中相同 coin 的记录。
sid /api/poolnode/subaccount/configsrecords[].id
返佣 email 目标收益邮箱;移除时使用当前记录的 rb_email