Advertisement
eternitysoap

Part 3

Dec 15th, 2017
10,761
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. date +%s
  2.  
  3. if (false && block.GetHash() != hashGenesisBlock)
  4. {
  5. printf("Searching for genesis block...\n");
  6. // This will figure out a valid hash and Nonce if you're
  7. // creating a different genesis block:
  8. uint256 hashTarget = CBigNum().SetCompact(block.nBits).getuint256();
  9. uint256 thash;
  10. char scratchpad[SCRYPT_SCRATCHPAD_SIZE];
  11.  
  12. loop
  13. {
  14. #if defined(USE_SSE2)
  15. // Detection would work, but in cases where we KNOW it always has SSE2,
  16. // it is faster to use directly than to use a function pointer or conditional.
  17. #if defined(_M_X64) || defined(__x86_64__) || defined(_M_AMD64) || (defined(MAC_OSX) && defined(__i386__))
  18. // Always SSE2: x86_64 or Intel MacOS X
  19. scrypt_1024_1_1_256_sp_sse2(BEGIN(block.nVersion), BEGIN(thash), scratchpad);
  20. #else
  21. // Detect SSE2: 32bit x86 Linux or Windows
  22. scrypt_1024_1_1_256_sp(BEGIN(block.nVersion), BEGIN(thash), scratchpad);
  23. #endif
  24. #else
  25. // Generic scrypt
  26. scrypt_1024_1_1_256_sp_generic(BEGIN(block.nVersion), BEGIN(thash), scratchpad);
  27. #endif
  28. if (thash <= hashTarget)
  29. break;
  30. if ((block.nNonce & 0xFFF) == 0)
  31. {
  32. printf("nonce %08X: hash = %s (target = %s)\n", block.nNonce, thash.ToString().c_str(), hashTarget.ToString().c_str());
  33. }
  34. ++block.nNonce;
  35. if (block.nNonce == 0)
  36. {
  37. printf("NONCE WRAPPED, incrementing time\n");
  38. ++block.nTime;
  39. }
  40. }
  41. printf("block.nTime = %u \n", block.nTime);
  42. printf("block.nNonce = %u \n", block.nNonce);
  43. printf("block.GetHash = %s\n", block.GetHash().ToString().c_str());
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement