Browse Source

randomhash based on protocol

Change to randomhash based on protocol instead of block number
PascalCoin 7 years ago
parent
commit
d30c12785d
3 changed files with 4 additions and 4 deletions
  1. 1 1
      src/core/UAccounts.pas
  2. 1 1
      src/core/UBlockChain.pas
  3. 2 2
      src/core/UPoolMinerThreads.pas

+ 1 - 1
src/core/UAccounts.pas

@@ -757,7 +757,7 @@ begin
     ms.Write(operationBlock.fee,4);
     ms.Write(operationBlock.timestamp,4);
     ms.Write(operationBlock.nonce,4);
-    if CT_ACTIVATE_RANDOMHASH_V4 AND (operationBlock.block >= CT_Protocol_Upgrade_v4_MinBlock) then
+    if CT_ACTIVATE_RANDOMHASH_V4 AND (operationBlock.protocol_version >= CT_PROTOCOL_4) then
       TCrypto.DoRandomHash(ms.Memory,ms.Size,PoW)
     else
       TCrypto.DoDoubleSha256(ms.Memory,ms.Size,PoW);

+ 1 - 1
src/core/UBlockChain.pas

@@ -938,7 +938,7 @@ begin
   FStreamPoW.WriteBuffer(FDigest_Part3[1],length(FDigest_Part3));
   FStreamPoW.Write(FOperationBlock.timestamp,4);
   FStreamPoW.Write(FOperationBlock.nonce,4);
-  if CT_ACTIVATE_RANDOMHASH_V4 AND (FOperationBlock.block >= CT_Protocol_Upgrade_v4_MinBlock) then
+  if CT_ACTIVATE_RANDOMHASH_V4 AND (FOperationBlock.protocol_version >= CT_PROTOCOL_4) then
     TCrypto.DoRandomHash(FStreamPoW.Memory,length(FDigest_Part1)+length(FDigest_Part2_Payload)+length(FDigest_Part3)+8,PoW)
   else
     TCrypto.DoDoubleSha256(FStreamPoW.Memory,length(FDigest_Part1)+length(FDigest_Part2_Payload)+length(FDigest_Part3)+8,PoW);

+ 2 - 2
src/core/UPoolMinerThreads.pas

@@ -466,7 +466,7 @@ begin
   // Validation
   digest := usedMinerValuesForWork.part1+usedMinerValuesForWork.payload_start+usedMinerValuesForWork.part3+'00000000';
   if length(digest)<8 then exit;
-  LUseRandomHash := CT_ACTIVATE_RANDOMHASH_V4 AND (usedMinerValuesForWork.block >= CT_Protocol_Upgrade_v4_MinBlock);
+  LUseRandomHash := CT_ACTIVATE_RANDOMHASH_V4 AND (usedMinerValuesForWork.version >= CT_PROTOCOL_4);
   // Add timestamp and nonce
   move(Timestamp,digest[length(digest)-7],4);
   move(nOnce,digest[length(digest)-3],4);
@@ -759,7 +759,7 @@ begin
           if (LUseRandomHash) then begin
             roundsToDo := 20;
           end else begin
-            roundsToDo := 5000;
+            roundsToDo := 10000;
           end;
           baseRealTC := TPlatform.GetTickCount;
           If (nonce<FMinNOnce) Or (nonce>FMaxNOnce) then nonce:=FMinNOnce;