RustMinerSystem

文档

矿工、钱包统计与图表 API

RustMinerSystem 端口图表、矿工列表、钱包统计、独立抽水比例、日志和 TCP 连接查询接口。

矿工、钱包统计与图表 API

本章接口主要用于端口详情页和仪表盘。GET 接口适合只读监控,比例修改接口会影响实际抽水行为。

图表与系统统计

方法 路径 返回用途
GET /api/stat/currency/{currency} 指定币种总算力历史。
GET /api/stat/port/{id} 指定监听端口算力历史。
GET /api/stat/worker/{id} 指定矿工算力历史。
GET /api/device/stats 全部设备数量历史。
GET /api/currency/online/stat/{coin} 指定币种在线设备历史。
GET /api/sys/stat CPU、内存、接收和发送流量历史。
GET /api/sys/base/info 当前系统资源快照。

这些接口都返回 ChartPoint[] 或统计数组,完整字段见图表响应。端口图表的 {id} 使用 server.port;矿工图表的 {id} 使用矿工的 sid(没有时回退到 id)。

获取矿工列表

GET /api/port/{id}/g/workers?device=0&size=50&page=1&col=s_thh&desc=1&wallet=...
查询参数 说明
device 状态筛选。新版前端默认 0
size 每页数量。
page 页码。
col 排序字段,例如 s_thh
desc 1 降序,0 升序。
wallet 可选,逗号分隔的钱包筛选。

前端读取的响应字段包括:

{
  "workers": [],
  "stat": {
    "id": "...",
    "online": 0,
    "offline": 0,
    "conn": 0,
    "thh": 0,
    "s_thh": 0,
    "delay": 0,
    "ct": 0
  },
  "pages": 0,
  "total": 0,
  "page": 1,
  "size": 50
}

workers[] 中当前前端实际读取的字段:

字段 类型 说明/关联
id string 矿工记录 ID;失败数据接口优先使用此值。
sid string 矿工会话 ID;矿工图表和独立比例接口优先使用此值。
gid string 矿工连接组 ID;传给 /api/group/{gid}/log 和 WebSocket 订阅。
name string 矿工名。
wallet string 钱包或子账号;也可作为 wallet 查询筛选值。
status number 013 在当前前端显示为在线,其他值显示为离线。
s_thh number/string 当前有效算力。
s_phh number/string 当前抽水算力。
ca string 算法类别;缺失时使用端口 server.category
succ / fail number 成功和失败份额数,用于计算有效率。
wn number/string 上线时间戳,用于计算在线时长。
n number/null 当前并发数。
dc number 断开次数。
delay number 延迟,毫秒。
mode number 端口模式;1 时前端不展示断开统计。
r number 当前矿工抽水比例,0–1 小数。
md boolean/number 旧版矿工名替换规则的命中标志。
wd string/null 命中的 t=2 钱包与矿工名组合热替换规则 ID;未命中时为 null 或空值。它对应 /api/ht 规则元组下标 0id

响应允许包含其他后端字段。调用方应保留未知字段,并使用 sid || id 作为图表和比例操作的矿工标识。wd 不为空时,通过 GET /api/ht/{server_id} 找到相同 id 的组合规则,再把 targetwallet.device 拆分:钱包侧结合当前 wallet 展示,矿工名侧结合当前 name 展示,并分别解析 #{WALLET}#{DEVICE}。如果规则还包含 addressc,可同时展示命中后的重定向矿池及其 TCP 或 TLS/SSL 协议。旧字段 hwhd 已废弃,调用方不应再依赖。

钱包汇总和收藏

方法 路径 用途
GET /api/port/{id}/g/wallet/list 获取端口下的钱包筛选列表。
GET /api/port/{id}/g/wallets/{collect} 获取钱包统计;collect 控制收藏筛选。
POST /api/port/{id}/wallet/collect 收藏或取消收藏钱包。

收藏请求:

{
  "wallet": "<钱包或子账号>",
  "f": 1
}

f=1 表示收藏,f=0 表示取消收藏。

返回结构:

  • /g/wallet/list 返回 string[],每个元素可直接放入矿工查询的 wallet 参数。
  • /g/wallets/{collect} 返回钱包统计数组。每项包含 id(钱包/子账号)、onlineofflines_thhctct=1 表示已收藏。
  • 收藏接口成功时返回成功标量或 HTTP 200;写入后重新 GET 钱包统计。

这里的钱包统计 id 是矿工提交的钱包文本,不是端口抽水钱包的 wallets[].id。抽水钱包 ID 来自端口详情的 wallets[]

钱包独立比例

方法 路径 用途
GET /api/port/{id}/wallet/ratio 获取钱包独立比例列表。
POST /api/port/{id}/wallet/ratio 为指定钱包和抽水钱包设置比例。
DELETE /api/port/{id}/wallet/{wallet_name}/ratio 恢复指定钱包的默认比例。

设置请求:

{
  "wallet": "<矿工使用的钱包>",
  "wid": 10,
  "r": 0.01
}

wid 是抽水钱包 ID,r 使用 0–1 小数。

GET /api/port/{id}/wallet/ratio 返回数组元组:

[
  ["<矿工钱包>", "<抽水钱包 ID>", 0.01]
]

元组索引 0/g/wallets/{collect} 的钱包 id,索引 1 是端口 wallets[].id,索引 2 是独立比例。POST 成功返回成功标量或 HTTP 200;DELETE 成功后该钱包恢复端口默认抽水比例。

矿工独立比例

获取当前比例:

GET /api/wallet/{wallet_id}/worker/{sid}/ratio

设置或恢复:

POST /api/port/{id}/worker/ratio
X-ACCESS-TOKEN: <Access Token>
{
  "sid": "<矿工会话 ID>",
  "wid": 10,
  "r": 0.01,
  "f": 1
}

f=1 表示保存独立比例,f=0 表示恢复默认值。

GET /api/wallet/{wallet_id}/worker/{sid}/ratio 返回 null 或:

{
  "r": 0.01
}

wallet_id 来自端口抽水钱包 wallets[].idsid 来自本页 workers[].sid。GET 返回 null 时使用该抽水钱包的默认 ratio。POST 保存/恢复成功时返回成功标量或 HTTP 200。

日志和连接查询

方法 路径 用途
GET /api/port/{id}/log 获取端口日志。
GET /api/group/{gid}/log 获取矿工组连接/断开日志。
GET /api/worker/{id}/error/log 获取指定矿工失败数据流。
GET /api/port/{id}/ips?page=1&size=20 获取端口 TCP 连接列表。

TCP 响应通常包含 datasizepagepagestotal

日志与连接返回字段

接口 成功响应
/api/port/{id}/log { t, f, d? }[]t 为时间戳;f 是竖线分隔的事件文本。
/api/group/{gid}/log { t, f, d? }[]f 当前按 连接ID|矿工名|IP|类别|状态 解析。
/api/worker/{id}/error/log 失败数据流;前端按原始值展示,不假定固定对象结构。
/api/port/{id}/ips 分页对象 { data, total, pages, page, size }

端口日志的 f 当前按 保留值|矿工名|钱包|IP|类别|状态 解析。类别可能为 GROUPIP_FORBIDDENWALLET_FORBIDDEN;状态 0 表示连接/成功方向,其他值表示断开或拦截方向。

ips.data[] 的前端读取字段为:

字段 类型 说明
ip string 连接来源 IP。
t number/string 进入时间戳。
gid string/null 连接组 ID。

分页查询的 page 从 1 开始,size 应与响应中的实际值同步。

字段依赖速查

要填写的字段 来源
路径 {id}(大多数端口详情接口) GET /api/portsserver.id
/api/stat/port/{id}{id} 同一端口的 server.port
wallet /g/wallet/list 的字符串,或 /g/wallets/{collect}id
wid / wallet_id 端口详情 wallets[].id
sid 矿工列表 `workers[].sid
gid 矿工列表 workers[].gid