node-stratum-pool icon indicating copy to clipboard operation
node-stratum-pool copied to clipboard

hashMerkleRoot mismatch ERROR: ProcessBlock() : CheckBlock FAILED

Open educatedwarrior opened this issue 10 years ago • 6 comments

ThreadRPCServer method=submitblock ERROR: CheckBlock() : hashMerkleRoot mismatch ERROR: ProcessBlock() : CheckBlock FAILED

Has anyone anyone every experienced this error. I found it in the daemon debug.log Trying to set up pool for SpectrumCoin Groestl. It works when solo mining, but when using nomp, can't submit blocks.

Any help would be appreciated.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

educatedwarrior avatar Aug 03 '14 21:08 educatedwarrior

I have same ERROR with LitecoinDark, anyone can help?

BigMcRat avatar Oct 21 '14 14:10 BigMcRat

same error! any solution?

progmax avatar Mar 20 '17 19:03 progmax

its look like wrong merkleroot calclulation here in fire merkleRoot.js i dont sure about it, but i havent any other ideas.

marikuns avatar Dec 17 '17 23:12 marikuns

I have have same issue. Anyone pls help?

phantanthanh1996 avatar Jun 23 '18 02:06 phantanthanh1996

Same error, @phantanthanh1996 have you fixed this issue?

volbil avatar Jul 13 '18 21:07 volbil

Hi, NPW block header have 32 byte more data than other Bitcoin like projects, so when submit block data to rpc daemon, NPW need add 32 byte more data set to 0, If you use nomp pool please refer https://github.com/guantau/node-open-mining-portal. If you use yiimp, you can open client_submit.cpp and add follow code after line 247, then recompile stratum.

if(g_current_algo->name && !strcmp("NPW", coind->symbol)) {
    char head[168];
    char extra[10 * 1024];
    memset(head, 0, 168);
    memset(extra, 0, 10 * 1024);
    strncpy(head, block_hex, 160);
    sprintf(extra, "%s", &block_hex[160]);
    sprintf(block_hex, "%s0000000000000000000000000000000000000000000000000000000000000000%s", head, extra);
}
debuglog("block data : \n%s\n", block_hex);

When yiimp pool can get valid blocks, you can remove debuglog code above. Hope this will help you to solve your issue.

cryptonana avatar May 14 '19 16:05 cryptonana