You still have failed to generate a valid genesis block. Reindexing isn't going to do anything.
Since you seem to be having such a hard time creating the genesis block, why don't you use a script like
https://github.com/lhartikk/GenesisH0 to do it for you?
Very strange.
So my chainparams is like this,
static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
{
const char* pszTimestamp = "Now is 2018-02-20";
const CScript genesisOutputScript = CScript() << ParseHex("0438b425136a6d49d84513c38e12204f9cbd22c6dfa7efce443d9582db7df1b6862d36de74db2c13e0d96b749ca7949ccbe2640e8ec4e10982a84a06cfb6071d66") << OP_CHECKSIG;
return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward);
}
genesis = CreateGenesisBlock(1519619579, 44453, 0x1f00ffff, 1, 500 * COIN);
consensus.hashGenesisBlock = genesis.GetHash();
printf("genesis.GetHash = %s\n", genesis.GetHash().ToString().c_str());
printf("genesis.merkleroot = %s\n", genesis.hashMerkleRoot.ToString().c_str());
assert(consensus.hashGenesisBlock == uint256S("0x00001e1f488925de2046bfb8bb24bd821f9b4ac3762b4da908a2e3ade576f5ac"));
assert(genesis.hashMerkleRoot == uint256S("0x88e2acfcaec30f35652d10b861700def63129f9ac8176cdda889fed7baa730bb"));
So I did GenesisH0 command like,
python genesis.py -z "Now is 2018-02-20" -p "0438b425136a6d49d84513c38e12204f9cbd22c6dfa7efce443d9582db7df1b6862d36de74db2c1
3e0d96b749ca7949ccbe2640e8ec4e10982a84a06cfb6071d66" -t 1519619579 -n 44453 -b 0x1f00ffff -a scrypt
But result is
04ffff001d0104114e6f7720697320323031382d30322d3230
algorithm: scrypt
merkle hash: eeed278f4f20eceeafe7a2dc728c611b3aef1656a6b8404d8b68a48d03e53991
pszTimestamp: Now is 2018-02-20
pubkey: 0438b425136a6d49d84513c38e12204f9cbd22c6dfa7efce443d9582db7df1b6862d36de74db2c1
3e0d96b749ca7949ccbe2640e8ec4e10982a84a06cfb6071d66
time: 1519619579
bits: 0x1f00ffff
Searching for genesis hash..
genesis hash found!
nonce: 172682
genesis hash: d79fa40dc89f83ef4ff182f915bd5e778127e654909351debac676978effe31f
So nonce and genesis hash is different with [ assert(consensus.hashGenesisBlock == ] part?
Anyway, I changed nonce and genesis hash like below to follow above result,
genesis = CreateGenesisBlock(1519619579, 172682, 0x1f00ffff, 1, 500 * COIN);
assert(consensus.hashGenesisBlock == uint256S("0xd79fa40dc89f83ef4ff182f915bd5e778127e654909351debac676978effe31f"));
But after compile this with [make, make install], run ./(my coin name)d
error says,
genesis.GetHash = 0000c978c4bf731c7e48018bc21f658b37394b5d18bd2ceca383768387578d76
genesis.merkleroot = 88e2acfcaec30f35652d10b861700def63129f9ac8176cdda889fed7baa730bb
bitcoinessenced: chainparams.cpp:285: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0xd79fa40dc89f83ef4ff182f915bd5e778127e654909351debac676978effe31f")' failed.
Aborted (core dumped)
So then this means genesish0 is not work with current source? (litecoin 0.15.1)