I’m trying to iterate through the code to verify the hash calculation of the merkle tree done by
BlockMerkleRoot in bitcoin core. The hash calculated using online tools by adding transaction hashes is different from those calculated by
BlockMerkleRoot. I’m sure I’m missing something. Could someone shed some light on this?
Looking at the block 500000:
adding coinbase hash 2157b554dcfda405233906e461ee593875ae4b1b97615872db6a25130ecc1dd6 with the first transaction hash fe6c48bbfdc025670f4db0340650ba5a50f9307b091d9aaa19aa44291961c69f and computer sha256 given 0387276cdb563dc923e945f8e68596e3556756d2f2119b9b67905658b73afcb2 and do another sha256 gives 1c0a7630e70d2b39b15585ec19c13c6f0a729a6501f5396dd75f75cb3aa4d110 which is different from the one returned by
SHA256D64 Which one is 1024e63a6bdab1efb75ae1dd065c11a97cf94e978e6aed9adb2f04d08887164.