Интересный вопрос. Послать бы API запрос. Но в документации
https://bob.nem.ninja/docs/нет запроса API чтобы получить статус "harvesting status" для делегированного харвестинга. Но в Nanowallet эта информация откуда-то добывается.
Почему нет? Я использую API запрос типа:
http://
:7890/account/get?address=<адрес_аккаунта>
Там видно по параметру:
"remoteStatus": "ACTIVE" - состояние делегированного харвестинга:
"REMOTE": аккаунт является аккаунтом делегированного харвестинга и поэтому параметр remoteStatus не применяется к нему.
"ACTIVATING": делегированный харвестинг аккаунта активирован, но пока ещё не запущен.
"ACTIVE": делегированный харвестинг аккаунта активирован и работает.
"DEACTIVATING": делегированный харвестинг аккаунта деактивирован, но пока ещё работает.
"INACTIVE": делегированный харвестинг аккаунта не активирован, или он был деактивирован и деактивация состоялась.
А также по этому запросу видно состояние счета, его важность и харвестит аккаунт или нет.
У тебя здесь же все запросы расписаны:
http://free.gta-ru.com/t119-topic
В оригинале:
remoteStatus:
"REMOTE": The account is a remote account and therefore remoteStatus is not applicable for it.
"ACTIVATING": The account has activated remote harvesting but it is not yet active.
"ACTIVE": The account has activated remote harvesting and remote harvesting is active.
"DEACTIVATING": The account has deactivated remote harvesting but remote harvesting is still active.
"INACTIVE": The account has inactive remote harvesting, or it has deactivated remote harvesting and deactivation is operational.
Поэтому в трех строчках перевод надо поправить:
"ACTIVATING": делегированный харвестинг аккаунта активирован, но он пока
ещё не активен.
"ACTIVE": делегированный харвестинг аккаунта активирован и он
активен.
"DEACTIVATING": делегированный харвестинг аккаунта деактивирован, но он пока
ещё активен.
Статус делегированного харвестинга (стартован/не стартован) в этой информации никак не отражается.
UPD. Разобрался. Получить harvestingStatus для делегированного харвестинга можно этим же запросом, но при выполнении двух условий:
- в качестве адреса указать адрес-посредник, т.е. адрес аккаунта делегированного харвестинга
- ip указать не любого узла, а конкретного узла, на котором был запущен харвестинг, или который проверяется на предмет харвестинга
Еще лучше для выяснения статуса харвестинга не get запрос использовать, а запрос status - ответ будет короче, без лишних данных:
http://:7890/account/status?address=<адрес_аккаунта_делегированного_харвестинга>
Ответом будет:
status "LOCKED" remoteStatus "REMOTE" - делегированный харвестинг не стартован,
status "UNLOCKED" remoteStatus "REMOTE" - делегированный харвестинг стартован.