RustMinerSystem

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

Обзор API и соглашения

Базовые URL, заголовки авторизации, форматы ответов, доступность и правила безопасности API RustMinerSystem.

Обзор API и соглашения

Этот раздел составлен по фактическим запросам нового frontend RustMinerSystem. Он охватывает администрирование mining proxy, режим Observer, групповое управление, WebSocket и встроенные административные endpoints PoolNode.

Текущий статус

Внешний API спроектирован без входа в UI: каждый запрос будет передавать отдельный custom authentication header. Этот механизм еще не реализован, поэтому:

  • внешний API client не вызывает endpoints входа и не получает backend login TOKEN;
  • endpoints входа сохранены только как перечень внутренних вызовов frontend, а не как предварительный этап API;
  • после реализации custom header нужно описать создание ключа, scopes, отзыв, срок действия, ограничения источника и rate limit;
  • фактические поля и ответы зависят от версии backend.

Базовый URL

В адрес входит URL панели RustMinerSystem и ее safe route:

https://host:web-port/{safe-route}/api/...

Если панель открывается по https://miner.example.com/rms-admin/, список портов находится по адресу:

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

Без safe route API находится в корне сайта. Reverse proxy должен сохранять safe route и custom API header.

Заголовок авторизации API

API не требует входа. После реализации каждый запрос будет отправлять:

<имя custom header>: <API credential>
Content-Type: application/json

Официальное имя header и формат credential будут добавлены после реализации backend. Сторонний client не должен использовать Authorization: Bearer <login token> панели как замену.

Read-only запросы Observer используют отдельный credential:

X-OB-TOKEN: <Observer token>

Interceptor встроенного frontend также записывает нестандартный ContentType. Это внутренняя деталь UI; сторонние клиенты должны использовать стандартный Content-Type.

Ответы и ошибки

Endpoints mining proxy обычно возвращают объект, массив, строку или число непосредственно в body. Часть административных endpoints PoolNode использует envelope:

{
  "status": 0,
  "error": null,
  "data": {}
}
Состояние Значение
200 HTTP-запрос успешен; дополнительно проверьте результат операции или PoolNode status.
401 / 403 API credential отсутствует, неверен или имеет недостаточно прав; итоговое поведение будет определено после реализации custom header.
423 Внутренняя UI-операция требует TOTP; поведение внешнего API еще не определено.
PoolNode status: 4 Проект PoolNode еще не активирован.

Причина ошибки может находиться в message, error или бизнес-поле status. HTTP 200 не всегда означает успешную бизнес-операцию.

Охват

Новый frontend определяет 146 идентификаторов API и реально использует 140. Документация разделена на:

  • API headers, permissions и границу внутренних UI sessions;
  • dashboard, версии и системные настройки;
  • proxy ports и fee wallets;
  • workers, статистику кошельков, графики и логи;
  • web security, сертификаты и firewall;
  • read-only Observer;
  • fleet forwarding;
  • проекты, сайт, доход и subaccounts PoolNode;
  • WebSocket и обработку ошибок.

Рекомендации по безопасности

  • Публикуйте API только через HTTPS.
  • Не помещайте API, Observer или fleet credentials в URL, логи и снимки экрана.
  • Создайте backup перед изменением портов, кошельков, allowlist, сертификатов и safe route.
  • Используйте connect/read/total timeout и ограниченный exponential backoff.
  • До появления custom API headers не рекомендуется публиковать внутренние административные endpoints напрямую в Интернет.