I’m trying to run some tests . After I generate the genesis , I get this error in the debug.log file.

 in block  at CBlockDiskPos(nFile=0, nPos=8)

Which of course means that the genesis block’s wrong.

I tried with Vertcoin and I’m getting the same error. I’m not sure what’s wrong.

Monacoin original params

    consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000002ee52a8e6e4475732");
    consensus.defaultAssumeValid = uint256S("0x8ee1fd0a836d804422a100fb5c1ca7626c7a35b492c234146797f4a50f38eea8");
    assert(consensus.hashGenesisBlock == uint256S("0xff9f1c0116d19de7c9963845e129f9ed1bfc0b376eb54fd7afa42e0d418c8bb6"));
    assert(genesis.hashMerkleRoot == uint256S("0x35e405a8a46f4dbc1941727aaf338939323c3b955232d0317f8731fe07ac4ba6"));

My params

    consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000000000000");
    consensus.defaultAssumeValid = uint256S("0x0");
    assert(consensus.hashGenesisBlock == uint256S("00000b77d35990d98dd772387b495e21ba71f3b8472c576bfda5ddc884f9a4"));
    assert(genesis.hashMerkleRoot == uint256S("b13b6b3ac11f98527f656abe8f49dcf6945aad5b4c00b975ba23137160fd0ad6"));

Mining the genesis block

    genesis = CreateGenesisBlock(15378364, 229659, 0x1e0ffff0, 1, 50 * COIN);

    /*printf("Genesis mining startedn");
    genesis.nNonce = 0;
    consensus.hashGenesisBlock = uint256S("0x001");
    for(genesis.nNonce == 0; UintToArith256(genesis.GetHash()) > UintToArith256(consensus.powLimit); genesis.nNonce++){  } 
    printf("New genesis merkle root: %sn", genesis.hashMerkleRoot.ToString().c_str());
    printf("New genesis nonce: %lun", (unsigned long)genesis.nNonce);
    printf("New genesis hash: %sn", genesis.GetHash().ToString().c_str());
    printf("Now replace the values, reComment the Genesis mining code and reCompile. n");*/

    consensus.hashGenesisBlock = genesis.GetHash();
    assert(consensus.hashGenesisBlock == uint256S("00000b77d35990d98dd772387b495e21ba71f3b8472c50376bfda5ddc884f9a4"));
    assert(genesis.hashMerkleRoot == uint256S("b13b6b3ac11f98527f656abe8f49dcf6945aad5b4c00b975ba23137160fd0ad6"));

It generates the block but then I get the error.

I noticed that Monacoin genesis block looks very different to the one I created. I tried to create the genesis block using other project and it works. At this point I have no idea what I’m doing wrong.

EDIT: I tried to generate exactly the same genesis block using Monacoin default params, but it’s different. Probably my genesis code is wrong… but it worked for other coins.

Source link
Based Blockchain Network


Please enter your comment!
Please enter your name here