From 7d36ed9e1db40457ab261cbf9f19d580d3506c6e Mon Sep 17 00:00:00 2001 From: jl777 Date: Wed, 14 Sep 2016 12:59:08 -0300 Subject: [PATCH] test print --- README.md | 2 +- src/komodo.h | 4 +++- src/main.cpp | 11 +++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 604d3b731..1e43fdc04 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ addnode="78.47.196.146" Start mining: -komodo/src/komodod -gen=1 -genproclimit=1 +komodo/src/komodod -gen=1 -genproclimit=1 -addnode="78.47.196.146" komodo/src/komodo-cli getinfo ``` diff --git a/src/komodo.h b/src/komodo.h index 8a6179a6f..90e54d520 100644 --- a/src/komodo.h +++ b/src/komodo.h @@ -28,7 +28,9 @@ int32_t komodo_checkmsg(void *bitcoinpeer,uint8_t *data,int32_t datalen) int32_t komodo_blockcheck(void *block) { //fprintf(stderr,"check block %p\n",block); - return(-1); + // 1 -> valid notary block + // -1 -> invalid, ie, prior to notarized block + return(0); } #endif diff --git a/src/main.cpp b/src/main.cpp index 9e66f7b99..1b018ff9e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1334,6 +1334,7 @@ bool WriteBlockToDisk(CBlock& block, CDiskBlockPos& pos, const CMessageHeader::M bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos) { + int32_t retval; block.SetNull(); // Open history file to read @@ -1350,12 +1351,14 @@ bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos) } // Check the header - if ( komodo_blockcheck((void *)&block) < 0 ) + if ( (retval= komodo_blockcheck((void *)&block)) == 0 ) { if (!(CheckEquihashSolution(&block, Params()) && CheckProofOfWork(block.GetHash(), block.nBits, Params().GetConsensus()))) return error("ReadBlockFromDisk: Errors in block header at %s", pos.ToString()); } + else if ( retval < 0 ) + return(false); return true; } @@ -2942,7 +2945,8 @@ bool FindUndoPos(CValidationState &state, int nFile, CDiskBlockPos &pos, unsigne bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, bool fCheckPOW) { - if ( komodo_blockcheck((void *)&block) < 0 ) + int32_t retval; + if ( (retval= komodo_blockcheck((void *)&block)) == 0 ) { // Check Equihash solution is valid if (fCheckPOW && !CheckEquihashSolution(&block, Params())) @@ -2954,6 +2958,9 @@ bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, bool f return state.DoS(50, error("CheckBlockHeader(): proof of work failed"), REJECT_INVALID, "high-hash"); } + else if ( retval < 0 ) // komodo rejects block, ie. prior to notarized blockhash + return(false); + // Check timestamp if (block.GetBlockTime() > GetAdjustedTime() + 600) return state.Invalid(error("CheckBlockHeader(): block timestamp too far in the future"),