Конечные точки обнаружения (Discovery)
Эти конечные точки существуют для того, чтобы любой клиент — NM Monitor, пользовательская панель мониторинга, другой майнер — мог обнаруживать устройства NMMiner в локальной сети.
GET /probe
Лёгкий идентификационный зонд. Используется для подтверждения того, что хост является NMMiner.
Ответ
{
"model": "NMMiner",
"hostname": "nm-cyd-c5-ab12cd",
"ver": "v2.0.04",
"sw": 320,
"sh": 240,
"hr": 956432,
"sbd": 0.0421,
"ebd": 1.7833,
"ut": 4321
}
| Поле | Тип | Значение |
|---|---|---|
model | string | Всегда "NMMiner". Используйте для маршрутизации трафика мониторинга. |
hostname | string | Настраиваемое имя хоста. |
ver | string | Версия прошивки. |
sw | integer | Ширина экрана в пикселях. |
sh | integer | Высота экрана в пикселях. |
hr | number | Текущий хэшрейт в H/s. |
sbd | number | Лучшая сложность шары за эту сессию. |
ebd | number | Лучшая сложность шары за всё время. |
ut | integer | Время работы в секундах с момента загрузки. |
Пример
curl http://192.168.1.42/probe
GET /alive
Список обнаружения в LAN. Возвращает собственный IP устройства плюс все остальные NMMiner, которые оно обнаружило в локальной подсети.
Параметры запроса
| Имя | Необязательный | Действие |
|---|---|---|
rescan | да | Если указан, запрашивает немедленное повторное сканирование (с задержкой 10 с). |
src | да | Передайте src=swarm, когда вызывающим является другой майнер — сохраняет собственный поток обнаружения устройства в спящем режиме. |
Ответ
{
"self": "192.168.1.42",
"ips": ["192.168.1.42", "192.168.1.43", "192.168.1.44"],
"scanning": true,
"progress": 128,
"total": 254,
"next_scan_in": 0
}
| Поле | Тип | Значение |
|---|---|---|
self | string | Собственный IP устройства (также первая запись в ips). |
ips | string[] | Все IP-адреса NMMiner, известные в данный момент в LAN, включая собственный. |
scanning | boolean | true, пока выполняется сканирование. |
progress | integer (0-254) | Последний опрашиваемый октет (0 в режиме ожидания). |
total | integer | Всегда 254 — размер одной подсети /24. |
next_scan_in | integer | Секунд до начала следующего запланированного сканирования (0, если сканирование выполняется). |
Пример — список всех майнеров в LAN
curl http://192.168.1.42/alive | jq '.ips'
Примечания
- Поток обнаружения работает только когда устройство находится на странице Miner или когда открыто меню Swarm в NM Monitor. Вызов
/aliveпробуждает его. - Ответ строится инкрементально — вызывайте его повторно, чтобы отслеживать
scanningотtrue→false.