diff --git a/src/darksend.cpp b/src/darksend.cpp index e621ede0d3..09bda9ed22 100644 --- a/src/darksend.cpp +++ b/src/darksend.cpp @@ -2228,8 +2228,8 @@ void ThreadCheckDarkSendPool() CleanTransactionLocksList(); } - //try to sync the masternode list and payment list every 20 seconds - if(c % 5 == 0 && RequestedMasterNodeList <= 2){ + //try to sync the masternode list and payment list every 5 seconds from at least 3 nodes + if(c % 5 == 0 && (RequestedMasterNodeList <= 2 || vecMasternodes.size() == 0)){ bool fIsInitialDownload = IsInitialBlockDownload(); if(!fIsInitialDownload) { LOCK(cs_vNodes); diff --git a/src/masternode.cpp b/src/masternode.cpp index a0ec2ee68c..441de6a443 100644 --- a/src/masternode.cpp +++ b/src/masternode.cpp @@ -273,7 +273,7 @@ void ProcessMessageMasternode(CNode* pfrom, std::string& strCommand, CDataStream { int64_t t = (*i).second; if (GetTime() < t) { - Misbehaving(pfrom->GetId(), 100); + Misbehaving(pfrom->GetId(), 20); LogPrintf("dseg - peer already asked me for the list\n"); return; } @@ -284,7 +284,7 @@ void ProcessMessageMasternode(CNode* pfrom, std::string& strCommand, CDataStream } } //else, asking for a specific node which is ok - int count = vecMasternodes.size()-1; + int count = vecMasternodes.size(); int i = 0; BOOST_FOREACH(CMasterNode mn, vecMasternodes) {