Dash Core 0.13 ベースで 大人の自由研究をしているのだが、マスターノードを立てた時に、以下のメッセージが発生していた
Warning: At least 0 of 1 masternodes are running on a newer software version. Please check latest releases, you might need to update too.
新しいバージョンが動いてるので、更新したまえ!
って事だが、自由研究してるのは最新バージョンのみ。
で、その部分のソースを見てみる事にした。
メッセージ表示部のすぐ上のコードがおかしいと思う。
// Warn only when at least half of known masternodes already updated if (nUpdatedMasternodes < size() / 2) return;
今回のケースだと、nUpdatedMasternodes は 0 になり、 size() は 1 になっている。
1 / 2 = 0.5 なので、return すると思うのがだ、実際は、 1 / 2 では丸め込まれ 0 になってしまう。
0 < 0 の比較なので 条件にマッチせず。
そこで、以下のように修正してあげると
// Warn only when at least half of known masternodes already updated if (nUpdatedMasternodes < size() / 2.0) return;
正しく判断されて return する。
まぁ、今のDashのネットワークでは、マスターノード1つって事はあり得ないので、問題は無いハズですが。
さらにメッセージ無視しても構わないので、モウマンタイ、メイウェンティか。
コメント