RustMinerSystem

文档

API 概览与调用约定

RustMinerSystem 后台接口的调用地址、X-ACCESS-TOKEN 鉴权、响应结构、开放条件与安全约定。

API 概览与调用约定

本分类根据新版 RustMinerSystem 前端请求和后端接口契约整理,覆盖矿池代理管理、观察者、群控、WebSocket 和内置 PoolNode 管理接口。文档中的地址、钱包、凭据和标识均为脱敏示例,实际字段仍以正在运行的版本为准。

开放条件与凭据流程

新版前端已经提供完整的 API 凭据管理页面。使用前需要:

  1. rust-config 中将 ENABLE_CONTROL_API 设置为 1,然后重启 RustMinerSystem。脚本安装用户也可以重新运行安装命令并选择“开启 API”。
  2. 在后台“设置 → API”中获取或首次生成 API Key。
  3. 使用 API Key 生成 Access Token。
  4. 在每个开放 API 请求中发送 X-ACCESS-TOKEN

Access Token 的有效期约为 2 小时。生成新的 Access Token 后,旧 Token 立即失效;刷新 API Key 会同时让旧 Key 和由它生成的全部 Access Token 失效。

接口字段和响应结构仍应以正在运行的 RustMinerSystem 版本为准。

调用地址

接口基址是 RustMinerSystem 后台访问地址,并且必须包含安全访问路径。

https://主机:Web端口/{安全路径}/api/...

例如后台地址为 https://miner.example.com/rms-admin/,端口列表接口为:

https://miner.example.com/rms-admin/api/ports

未配置安全路径时,接口位于网站根路径。反向代理必须原样转发安全路径和 X-ACCESS-TOKEN 请求头。

API 鉴权请求头

API 调用使用前端已公布的正式请求头:

X-ACCESS-TOKEN: <Access Token>
Content-Type: application/json

X-ACCESS-TOKEN 的值直接填写生成的 Access Token,不添加额外前缀。

观察者只读接口使用独立请求头:

X-OB-TOKEN: <观察者 TOKEN>

注意:新版后台前端拦截器中还会写入名为 ContentType 的非标准字段。这是后台内部实现,第三方调用应使用标准的 Content-Type

响应和错误

矿池代理接口通常直接在 HTTP 响应体中返回对象、数组、字符串或数字。部分 PoolNode 管理接口会返回包装结构:

{
  "status": 0,
  "error": null,
  "data": {}
}

前端重点处理以下状态:

状态 含义
200 请求成功,仍需检查业务数据或 PoolNode 的 status
401 / 403 Access Token 缺失、无效、已过期,或当前接口不接受该凭据。重新生成 Token 后再试。
PoolNode status: 4 PoolNode 项目尚未激活。

错误响应可能使用 messageerror 或业务 status 表示原因。调用端不应只根据 HTTP 200 判断所有业务操作都已成功。

文档使用以下返回类型记法:

记法 含义
Foo 单个 JSON 对象,字段在同章的 Foo 模型中说明。
Foo[] JSON 数组,每项为 Foo
string / number 响应体直接是 JSON 字符串或数字,不带 { data }
“成功标量或 HTTP 200” 前端只判断成功状态,不依赖响应体;写入后应重新 GET 验证。
PoolNode 包装 { status, error, data };只有 status=0 时读取 data

表格中的 null 表示运行中确实可能缺少数据,不能强制转换成 0 或空字符串。响应允许出现文档未列出的新增字段,调用方应保持宽松解析。

接口范围

文档按以下模块整理:

  • API 开关、Key、Access Token 和请求头。
  • 仪表盘、版本、掉线记录保留和系统配置。
  • 代理端口、无损抽水与抽水钱包。
  • 矿工、钱包统计、图表和日志。
  • 安全、证书、防火墙和运行日志。
  • 观察者只读查询。
  • 群控转发。
  • PoolNode 项目、网站、收益和子账号管理。
  • WebSocket 实时数据与错误处理。

安全建议

  • API 只应通过 HTTPS 暴露。
  • 不要把 API 凭据、观察者 TOKEN 或群控 API 写入 URL、日志和截图。
  • 当前前端没有提供多凭据或权限范围配置,应把 Access Token 视为高权限凭据。
  • 修改端口、钱包、白名单、证书和安全路径前先备份配置。
  • 自动化程序应设置连接、读取和总请求超时,并限制重试频率。
  • 不使用 API 时将 ENABLE_CONTROL_API 设为 0,并重启程序。