From 4cc387ec2c414606e723915990c4591413f50425 Mon Sep 17 00:00:00 2001 From: jl777 Date: Thu, 3 May 2018 08:44:03 +0300 Subject: [PATCH 1/3] Detect new block during wait --- src/miner.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/miner.cpp b/src/miner.cpp index dfb12565d..2f7c3b1c9 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -959,7 +959,14 @@ void static BitcoinMiner() { fprintf(stderr,"need to wait %d seconds to submit block\n",(int32_t)(B.nTime - GetAdjustedTime())); while ( GetAdjustedTime() < B.nTime ) + { sleep(1); + if ( chainActive.Tip()->nHeight >= Mining_height ) + { + fprintf(stderr,"new block arrived\n"); + return(false); + } + } } if ( ASSETCHAINS_STAKED == 0 ) { From 9bf6c59e33245d27895a04b6160a3b8e000d478b Mon Sep 17 00:00:00 2001 From: jl777 Date: Thu, 3 May 2018 09:05:00 +0300 Subject: [PATCH 2/3] PoS mining latency fix --- src/miner.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/miner.cpp b/src/miner.cpp index 2f7c3b1c9..99e1dac83 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -421,7 +421,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) if ( GetAdjustedTime() < pblock->nTime )//|| pblock->GetBlockTime() > GetAdjustedTime() + 60) { fprintf(stderr,"need to wait %d seconds to mine:\n",(int32_t)(pblock->nTime - GetAdjustedTime())); - while ( GetAdjustedTime()+30 < pblock->nTime ) + while ( 0 && GetAdjustedTime()+30 < pblock->nTime ) { sleep(30); fprintf(stderr,"%d ",(int32_t)(pblock->nTime - GetAdjustedTime())); From b92a8cd4bf62c46466b4508bafde3b675b881c93 Mon Sep 17 00:00:00 2001 From: jl777 Date: Thu, 3 May 2018 09:34:51 +0300 Subject: [PATCH 3/3] Block PoS miner, need to cache first timestamp --- src/miner.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/miner.cpp b/src/miner.cpp index 99e1dac83..2f7c3b1c9 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -421,7 +421,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) if ( GetAdjustedTime() < pblock->nTime )//|| pblock->GetBlockTime() > GetAdjustedTime() + 60) { fprintf(stderr,"need to wait %d seconds to mine:\n",(int32_t)(pblock->nTime - GetAdjustedTime())); - while ( 0 && GetAdjustedTime()+30 < pblock->nTime ) + while ( GetAdjustedTime()+30 < pblock->nTime ) { sleep(30); fprintf(stderr,"%d ",(int32_t)(pblock->nTime - GetAdjustedTime()));