Документация
API workers, статистики кошельков и графиков
Графики портов, список workers, статистика wallets, индивидуальные ratios, логи и TCP connections RustMinerSystem.
API workers, статистики кошельков и графиков
Эти endpoints обслуживают страницу порта и dashboard. GET подходит для read-only monitoring; изменение ratios влияет на фактическую комиссию.
Графики и системная статистика
| Метод | Путь | Назначение |
|---|---|---|
| GET | /api/stat/currency/{currency} |
История общего хешрейта валюты. |
| GET | /api/stat/port/{id} |
История хешрейта listen port. |
| GET | /api/stat/worker/{id} |
История хешрейта worker. |
| GET | /api/device/stats |
История общего количества устройств. |
| GET | /api/currency/online/stat/{coin} |
История online-устройств монеты. |
| GET | /api/sys/stat |
История CPU, памяти, RX и TX. |
| GET | /api/sys/base/info |
Текущий снимок системных ресурсов. |
История обычно возвращается массивом. Timestamp и units могут отличаться между версиями backend.
Список workers
GET /api/port/{id}/g/workers?device=0&size=50&page=1&col=s_thh&desc=1&wallet=...
| Параметр | Значение |
|---|---|
device |
Фильтр состояния; frontend по умолчанию использует 0. |
size |
Размер страницы. |
page |
Номер страницы. |
col |
Поле сортировки, например s_thh. |
desc |
1 — по убыванию, 0 — по возрастанию. |
wallet |
Необязательный список кошельков через запятую. |
Frontend читает, в частности:
{
"workers": [],
"total": 0,
"stat": {
"online": 0,
"offline": 0,
"s_thh": 0
}
}
Сводка wallets и favorites
| Метод | Путь | Назначение |
|---|---|---|
| GET | /api/port/{id}/g/wallet/list |
Wallets для фильтра. |
| GET | /api/port/{id}/g/wallets/{collect} |
Сводка wallets; collect управляет favorites. |
| POST | /api/port/{id}/wallet/collect |
Добавить или удалить favorite. |
{
"wallet": "<wallet или subaccount>",
"f": 1
}
f=1 добавляет favorite, f=0 удаляет.
Индивидуальный ratio кошелька
| Метод | Путь | Назначение |
|---|---|---|
| GET | /api/port/{id}/wallet/ratio |
Получить ratios wallets. |
| POST | /api/port/{id}/wallet/ratio |
Установить ratio для miner wallet и fee wallet. |
| DELETE | /api/port/{id}/wallet/{wallet_name}/ratio |
Восстановить стандартный ratio. |
{
"wallet": "<miner wallet>",
"wid": 10,
"r": 0.01
}
wid — ID fee wallet, r — дробь 0–1.
Индивидуальный ratio worker
Текущее значение:
GET /api/wallet/{wallet_id}/worker/{sid}/ratio
Сохранение или сброс:
POST /api/port/{id}/worker/ratio
X-ACCESS-TOKEN: <Access Token>
{
"sid": "<worker session ID>",
"wid": 10,
"r": 0.01,
"f": 1
}
f=1 сохраняет индивидуальный ratio, f=0 восстанавливает стандартный.
Логи и соединения
| Метод | Путь | Назначение |
|---|---|---|
| GET | /api/port/{id}/log |
Логи порта. |
| GET | /api/group/{gid}/log |
Connect/disconnect логи worker group. |
| GET | /api/worker/{id}/error/log |
Failure data stream worker. |
| GET | /api/port/{id}/ips?page=1&size=20 |
TCP connections порта. |
TCP-ответ обычно содержит data, size, page, pages и total.
Полные модели ответов
Графики
Currency, port и worker charts возвращают ChartPoint[]. Для port chart используется server.port, для worker chart — workers[].sid || workers[].id.
Envelope списка workers
{
"workers": [],
"stat": {
"id": "...",
"online": 0,
"conn": 0,
"offline": 0,
"thh": 0,
"s_thh": 0,
"delay": 0,
"ct": 0
},
"pages": 0,
"total": 0,
"page": 1,
"size": 50
}
Поля workers[], которые использует frontend:
| Поле | Тип | Значение |
|---|---|---|
id |
string | ID worker; предпочтителен для failure-stream. |
sid |
string | Session ID; предпочтителен для chart и independent ratio. |
gid |
string | ID connection group для логов и WebSocket subscription. |
name |
string | Имя worker. |
wallet |
string | Wallet/subaccount и значение фильтра. |
status |
number | 0, 1, 3 отображаются как online; остальные как offline. |
s_thh / s_phh |
number/string | Effective и fee hashrate. |
ca |
string | Категория алгоритма; fallback — category порта. |
succ / fail |
number | Успешные и неуспешные shares. |
wn |
number/string | Timestamp начала online. |
n |
number/null | Текущая concurrency. |
dc |
number | Число disconnect. |
delay |
number | Задержка в миллисекундах. |
mode |
number | Mode порта; при 1 UI не показывает disconnect statistics. |
r |
number | Текущий fee ratio, дробь 0–1. |
md |
boolean/number | Legacy-флаг совпадения правила замены worker name. |
wd |
string/null | ID совпавшей комбинированной hot-replacement rule t=2 для кошелька и worker name; null или пустое значение без совпадения. Соответствует индексу tuple 0 (id) в /api/ht. |
Сохраняйте дополнительные поля ответа и используйте sid || id как session identifier. Если wd не пуст, найдите rule с тем же id через GET /api/ht/{server_id}, разделите ее target как wallet.device и вычислите сторону кошелька относительно текущего wallet, а сторону worker — относительно текущего name. На соответствующих сторонах разрешите #{WALLET} и #{DEVICE}. Если rule также содержит address и c, покажите перенаправленный pool и его протокол TCP или TLS/SSL. Поля hw и hd устарели и не должны использоваться текущими clients.
Wallet lists и statistics
/g/wallet/listвозвращаетstring[]; значения можно отправлять в query parameterwallet./g/wallets/{collect}возвращаетid(текст wallet/subaccount),online,offline,s_thh,ct;ct=1означает favorite./wallet/ratioвозвращает tuples:[[targetWallet, feeWalletId, ratio], ...].
id строки statistics не является ID fee-wallet. feeWalletId, wid, wallet_id берутся из wallets[].id порта.
GET /api/wallet/{wallet_id}/worker/{sid}/ratio возвращает null или { "r": 0.01 }. При null используйте default ratio выбранного fee wallet. Операции favorite, save/reset ratio возвращают success scalar или HTTP 200; затем повторите GET.
Логи и connections
| Endpoint | Успешный ответ |
|---|---|
/api/port/{id}/log |
{ t, f, d? }[]; t — timestamp, f — событие с разделителем ` |
/api/group/{gid}/log |
{ t, f, d? }[]; UI разбирает `connectionId |
/api/worker/{id}/error/log |
Raw failure stream без фиксированной object schema. |
/api/port/{id}/ips |
{ data, total, pages, page, size }. |
Port-log f разбирается как reserved|worker|wallet|IP|category|status. Категории: GROUP, IP_FORBIDDEN, WALLET_FORBIDDEN. В data[] connections находятся ip, t, nullable gid.
Зависимости полей
| Input | Источник |
|---|---|
Большинство port {id} |
GET /api/ports → server.id. |
{id} port chart |
server.port той же записи. |
Фильтр wallet |
Строка /g/wallet/list или /g/wallets/{collect} → id. |
wid / wallet_id |
Port detail → wallets[].id. |
sid |
Worker list → `sid |
gid |
Worker list → gid. |
