mirror of
https://github.com/GOSTSec/gostcoin
synced 2025-03-13 05:41:11 +00:00
caulculate nonce for genesis block
This commit is contained in:
parent
67aef8613d
commit
e95ed4f4d7
40
src/main.cpp
40
src/main.cpp
@ -32,7 +32,7 @@ CTxMemPool mempool;
|
||||
unsigned int nTransactionsUpdated = 0;
|
||||
|
||||
map<uint256, CBlockIndex*> mapBlockIndex;
|
||||
uint256 hashGenesisBlock("0x854af134ca532bc1024668fef72b867285c377939fadad725fe44fa8dc5ce071");
|
||||
uint256 hashGenesisBlock("0x0000f76576b36ed0eeb67f798a659691c833729c106e66bcd59a564f4dfb2d25");
|
||||
static CBigNum bnProofOfWorkLimit( CBigNum().SetCompact(0x1e0ffff0) );
|
||||
CBlockIndex* pindexGenesisBlock = NULL;
|
||||
int nBestHeight = -1;
|
||||
@ -2899,7 +2899,7 @@ bool InitBlockIndex() {
|
||||
if (!fReindex) {
|
||||
|
||||
// Genesis block
|
||||
const char* pszTimestamp = "03/Mar/2017: GOST R 34.11-2012";
|
||||
const char* pszTimestamp = "25/Mar/2017: GOST R 34.11-2012 - orignal";
|
||||
CTransaction txNew;
|
||||
txNew.vin.resize(1);
|
||||
txNew.vout.resize(1);
|
||||
@ -2911,9 +2911,13 @@ bool InitBlockIndex() {
|
||||
block.hashPrevBlock = 0;
|
||||
block.hashMerkleRoot = block.BuildMerkleTree();
|
||||
block.nVersion = 1;
|
||||
block.nTime = 1490300171;
|
||||
block.nBits = 0x1e0ffff0;
|
||||
block.nNonce = 517204426;
|
||||
block.nTime = 1490439226;
|
||||
block.nBits = 0x1f00ffff;
|
||||
/*CBigNum n;
|
||||
n.SetHex ("0000ffff00000000000000000000000000000000000000000000000000000000"); // 4
|
||||
block.nBits = n.GetCompact ();
|
||||
printf("nbits %x\n", block.nBits);*/
|
||||
block.nNonce = 517336085;
|
||||
|
||||
if (fTestNet)
|
||||
{
|
||||
@ -2921,12 +2925,36 @@ bool InitBlockIndex() {
|
||||
block.nNonce = 346280655;
|
||||
}
|
||||
|
||||
// temporary code for finding nonce for genesis, should be removed later one
|
||||
/* uint256 hashTarget = CBigNum().SetCompact(block.nBits).getuint256();
|
||||
printf("hash target %s\n", hashTarget.ToString().c_str());
|
||||
while(true)
|
||||
{
|
||||
auto thash = block.GetHash();
|
||||
if (thash <= hashTarget)
|
||||
break;
|
||||
if ((block.nNonce & 0xFFF) == 0)
|
||||
{
|
||||
printf("nonce %08X: hash = %s (target = %s)\n", block.nNonce, thash.ToString().c_str(), hashTarget.ToString().c_str());
|
||||
}
|
||||
++block.nNonce;
|
||||
if (block.nNonce == 0)
|
||||
{
|
||||
printf("NONCE WRAPPED, incrementing time\n");
|
||||
++block.nTime;
|
||||
}
|
||||
}
|
||||
printf("block.nTime = %u \n", block.nTime);
|
||||
printf("block.nNonce = %u \n", block.nNonce); */
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
||||
//// debug print
|
||||
uint256 hash = block.GetHash();
|
||||
printf("hash %s\n", hash.ToString().c_str());
|
||||
printf("hashGenesisBlock %s\n", hashGenesisBlock.ToString().c_str());
|
||||
printf("block.hashMerkleRoot %s\n", block.hashMerkleRoot.ToString().c_str());
|
||||
assert(block.hashMerkleRoot == uint256("0x493a01b36e03c86538119feb5d5f55b728139da411297743895f490a817a17ee"));
|
||||
assert(block.hashMerkleRoot == uint256("0x188f524568dea3322c69d3e91671b12528d4001f766fa7b5f95531dc6d8591be"));
|
||||
block.print();
|
||||
assert(hash == hashGenesisBlock);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user