RustMinerSystem

Документация

API dashboard, версий и системных настроек

Endpoints RustMinerSystem для валют, ресурсов, версий, срока хранения offline-записей, RMS, уведомлений, preset pools и KENC.

API dashboard, версий и системных настроек

Эти endpoints обслуживают dashboard, сведения о версии и основные системные настройки. Передавайте X-ACCESS-TOKEN: <Access Token> в каждом API-запросе.

Валюты и системная информация

Метод Путь Назначение/параметры
GET /api/currency/config Валюты, алгоритмы, icons и public visibility.
GET /api/sys/base/info ОС, CPU, память и диски.
GET /api/sys/stat История CPU, памяти и сетевого трафика.
GET /api/device/stats История общего количества устройств.
GET /api/currency/online/stat/{coin} История online-устройств одной монеты.
GET /api/stat/currency/{currency} История хешрейта валюты.
POST /api/config/refresh Обновить algorithm engine; не вызывайте часто.

В {coin} и {currency} используются backend-коды, например BTC, KAS или код PoolNode.

Версия и состояние процесса

Метод Путь Назначение
GET /api/local/version Текущая версия.
GET /api/version Remote version и конфигурация App Center.
GET /api/releases История релизов.
GET /api/sys/starttime Timestamp запуска.
GET /api/mb/port Порт и состояние mobile access.
GET /api/u/i UUID экземпляра.
POST /api/failed/reset Сбросить флаг crash/startup failure.

В разных версиях данные версии могут быть строкой или объектом с version; клиенту следует поддерживать оба формата.

Уведомления об offline

GET /api/warning/setting
POST /api/warning/setting

Frontend использует, среди прочего:

{
  "is_off": 0,
  "wr": 0,
  "key": "<ServerChan key>",
  "smtp_email": "[email protected]",
  "smtp_secret": "<SMTP password или app secret>",
  "smtp_endpoint": "smtp.example.com",
  "smtp_port": 465,
  "smtp_use_tls": 1
}

Backend может вернуть дополнительные поля, например порог падения хешрейта. Перед сохранением прочитайте объект и объедините изменения, чтобы не потерять новые настройки.

Срок хранения записей offline miners

Текущее значение находится в поле group_expire_secs ответа GET /api/sys/base/info и задается в секундах. Для изменения:

POST /api/group/offline/secs
Content-Type: application/json
{
  "secs": 3600
}

secs — обязательное целое число. Минимальное эффективное значение — 600; меньшие значения сохраняются как 600 секунд. При успехе сервер возвращает HTTP 200 и текст Ok. Повторите /api/sys/base/info, чтобы получить нормализованное значение. Настройка меняет только срок хранения offline-записей и не отключает online miners.

Конфигурация RMS

GET /api/rms/config
POST /api/rms/config
{
  "ports": {},
  "code": "",
  "mode": 0,
  "title": "RMS",
  "pool_mode": 0,
  "notice": "",
  "info": "",
  "peers": {},
  "host": "miner.example.com",
  "protocol": 1
}

Если GET сообщает, что конфигурация не зарегистрирована, frontend создает ее с mode: 0, pool_mode: 0 и стандартным title. При сохранении он добавляет текущий host; protocol=1 означает HTTPS, 0 — HTTP. ports и peers являются объектами с портами в качестве ключей; вложенную структуру берите из текущего ответа.

Preset pools и wallets

Метод Путь Назначение
GET /api/local/pool/endpoint Получить preset pools, wallets и custom entries.
POST /api/local/pool/endpoint Сохранить полный объект настроек.
GET /api/pool/info/{id} Получить встроенные варианты pools; frontend использует id=1.

POST заменяет полный объект. Для автоматизации сначала выполните GET и merge, чтобы сохранить customPool и customWallet.

Ключ KENC

Метод Путь Назначение
GET /api/kc/key Получить custom KENC key.
POST /api/kc/key Сохранить custom KENC key.
POST /api/kc/reset Восстановить стандартный KENC key.
{
  "k": "<custom key>"
}

Смена ключа может повлиять на подключенные clients. Сначала проверьте совпадение настроек клиента и сервера.

Ответ конфигурации валют

GET /api/currency/config возвращает объект с кодами валют в качестве ключей, а не массив. Поля каждого значения:

Поле Тип Значение
ключ объекта string Идентификатор валюты для port и statistics requests.
id number ID записи валюты.
name string Код валюты.
version string Версия currency engine.
category string Категория алгоритма; копируется в запрос порта.
rr / rl / rj number Compatibility metadata; сохраняйте исходные значения.
pow number Proof-of-work metadata flag.
is_pub number 1 показывает запись в обычном UI.
created_at / updated_at string Timestamps записи.

currency и category должны быть из одной записи. См. полные поля порта.

Ответы графиков

Endpoint Ответ
/api/stat/currency/{currency} ChartPoint[].
/api/sys/stat SystemPoint[].
/api/device/stats DevicePoint[].
/api/currency/online/stat/{coin} CoinDevicePoint[].

ChartPoint, также используемый для port и worker charts, содержит s (время), s_h (effective hashrate), p_h (fee hashrate), f_h (failed hashrate), s_s (все shares), p_s (fee shares), f_s (failed shares) и d_l (задержка в миллисекундах). Числа могут быть null.

SystemPoint содержит id, cpu, mem, recv, trans, rk, time. recv и trans — traffic в байтах; rk — compatibility metadata.

DevicePoint содержит id, online, offline, time. CoinDevicePoint дополнительно содержит cr и rk, которые могут быть null.

Ответ системной информации

GET /api/sys/base/info возвращает:

Поле Тип Значение
os_version string Версия ОС.
load_avg string[] Load average за 1, 5 и 15 минут.
total_mem / used_mem number Общая и использованная память.
total_space / available_space / used_space number Объемы диска.
cpu_usage number Текущая загрузка CPU.
cpu_nums number Число логических CPU.
api_failed_flag number Флаг сбоя программы; 1 требует внимания.
group_expire_secs number Срок хранения записи offline miner в секундах; UI обычно показывает минуты.
rp / exp / t number Runtime compatibility metadata; не изменяйте без определенного назначения.

Ответы версии и runtime

Endpoint Успешный ответ
/api/local/version { "version": "x.y.z+build" }.
/api/version Remote config как минимум с version, версиями clients, APP_INFO и PAY.
/api/releases Массив в формате GitHub Release.
/api/sys/starttime Числовой Unix timestamp в секундах или миллисекундах.
/api/mb/port { port: number, status: number }.
/api/u/i Строка UUID экземпляра.
/api/failed/reset HTTP 200 после изменения failure flag.
/api/config/refresh HTTP 200 после принятия engine-refresh.

Подтвержденные ключи /api/version: version, PoolNodeAndroidVersion, PoolNodeIosVersion, RustMinerSystemIOSVersion, RustMinerSystemAndroidVersion, RustMinerSystemCliVersion, RMS, APP_INFO, PAY.

APP_INFO.dialog содержит локализованные title и description; overview — локализованные eyebrow, title, description, counterLabel. В apps[] находятся key, локализованные name/title/tagline/description/status, icon, tone, features[], actions[], preview, platforms[]. Action содержит key, локализованный label, url, icon, target, rel; platform — key, локализованные label/status/description/stateLabel, icon, actions[]. Разрешайте дополнительные remote fields.

Ответы конфигурации

Уведомления

GET /api/warning/setting возвращает is_off, wr, key, smtp_email, smtp_secret, smtp_endpoint, smtp_port, smtp_use_tls. Последнее поле равно 1 для TLS и 0 без TLS. Скрывайте key и smtp_secret. POST сохраняет полный объект; после успеха повторите GET.

RMS

GET /api/rms/config возвращает:

Поле Тип Значение
url / url2 string Основной и резервный RMS URL.
code string Pairing/access code, sensitive.
mode / pool_mode number Флаги режима RMS.
ports object Объект с listen ports в качестве ключей.
peers object Объект с peer ID в качестве ключей.
title / notice / info string Отображаемый content клиента.

Каждый peers.* содержит coin, rk, cl, cs, upstream_peers[]; upstream содержит url, port, code, protocol. При сохранении frontend добавляет текущие host и protocol. Делайте deep merge ports и peers.

Preset pools и wallets

GET /api/local/pool/endpoint возвращает customPool[] и customWallet[]. Pool содержит address, coin, deal, name; wallet — address, name. Связывайте customPool[].coin с ответом валют.

GET /api/pool/info/{id} возвращает массив с id, category_id, brand, content, url, protocol, created_at. Используйте url как upstream, а protocol как connection mode.

KENC

GET /api/kc/key возвращает key прямой строкой. Save и reset KENC возвращают success scalar или HTTP 200. Не записывайте key в логи.