APIによる委任ハーベストの停止判定について

siwong ()
一度有効化した委任ハーベストが停止しているかどうかをAPIで判断する方法について調べてましたが、確証 を得られない部分があったのでお聞きしたいです。

まず、確認手段として/account/status等のAccountMetaDataを取得出来るAPIを叩きます。
https://www.pr1sm.com/crypto-coin/ne...account-status

この時のポイントとして、
 1.接続先のサーバーは委任先のSNにしなければならない
 2.パラメータのアドレスにはリモートアドレスを設定しなければならない
と言うのがあり、影響のある事象として
 3.SNがOSやNISを再起動すると委任情報は全て初期化される(/account/unlocked/infoでnum-unlockedが0またはSN自身の1になる)
と言うのがあると思います。

※APIマニュアルに情報が無かったので、実際に試した結果からの判断です。


●現状の理解
・1で委任先以外のSNを指定すると常にstatusがLOCKEDに、委任先のSNを指定していても再起 動等で解除されたらLOCKED(またはUNKNOWN?)になる。
・2でリモートアドレスを指定したらremoteStatusがREMOTEに、通常のアドレスまたは委任 ハーベストしていないリモートアドレスの場合はREMOTE以外になる。
・3の影響により、委任ハーベストは不定期に無効化される可能性がある。
・3の再起動中(=DBの同期中)はAPIの結果が正しく返らないのでそもそもstatusで判断できない 。(以下の様なエラーが返る)
 {"timeStamp":?82799335,"error": "Service Unavailable","message": "NIS_ILLEGAL_STATE_LOADING_CHAIN","status":503 }
・3でNISのサービスが起動していない場合は、HTTPのエラーが返る。

∴委任先のSNを対象にAPIを叩いて、status=UNLOCKEDになれば有効、それ以外は全て無効 と見なして良い(という理解で良い?)


●疑問点1:委任状況の確認手段
・各リモートアドレスがどのSNに委任しているかを外部から知る手段はないですか?
 (たとえばAlice2に委任しているリモートアドレスの情報をAlice3経由で知ることは出来ない?)
・SN自身が、自分がどのアドレスから委任されているかを知る手段はありますか?
 (NISの再起動で委任情報が初期化されると言うことは、SN内ではメモリや一時ファイルに情報が蓄えられ ている?)

手段があるとしたら具体的にどういう手段になるのかを知りたいです。

●疑問点2:単純な停止確認方法
・一度ブラウザでstatusがUNLOCKED(委任ハーベスト有効)になっていることを確認し、そのU RLをお気に入りに追加。
・定期的にブラウザで確認し、UNLOCKED以外の結果、またはサーバーから何らかのエラーが返ってきた ら委任ハーベストが無効になった(可能性が高い)と判断。

と言うように、statusがUNLOCKEDかどうかだけで判断することは可能ですか?
少なくとも1回はUNLOCKEDになっていることが確認できていれば、本来のアドレス(XEMが入ってい る)のremoteStatusがACTIVEになっていることの確認等は不要という認識で良いですか?
※明示的にリモートアドレスを無効化したり再作成した場合は考慮せず、NanoWalletからは何も設定 を変えずに運用しているという前提
※委任先のSNを変えたら、URLのIPアドレスやサーバー名も変更が必要

●疑問点3:NanoWalletの状態と再開方法
委任ハーベストが有効の状態でSNの再起動が行われると(再起動が完了すると)、NanoWalletのハ ーベスティング欄は「無効」になると思います。
この時、再度有効化するためには再度委任先のSNを指定して「デリゲートハーベスティングの開始」ボタンを 押す必要はありますか?
(その前に、一度「デリゲートハーベスティングの停止」ボタンを押して停止する必要はありますか?)
また、元々委任していたSNを再選択しても自動的に「有効」にはなりませんか?

※SNが自分自身でハーベストしている場合は、おそらくこの再開手順が不要


以上、分かる部分だけでも構わないのでご回答をお願いします。

siwong ()
Telegram等で聞いた結果まとめ@2017/11/14
疑問点1
・委任先のSN以外は情報が無いので外部から(他のSN経由で)調べるのは不可能
・SN自身が調べる方法は不明(情報無し)
疑問点2
・委任先SNを変更していなければstatus=UNLOCKED以外は無効と判断して良さそう(少なくともNanoWalletを見た方が良い)
・上記条件を試験的に実装したNEMHarvestMonitor(Telegram Bot)で、停止の検知ができたという報告が1件あり
疑問点3
・情報無し