I am trying to go through the code to check the merkle tree hash computation done by
BlockMerkleRoot in bitcoin core. The hash computed using online tools by appending transaction hashes is different from the ones computed by
BlockMerkleRoot. I am sure I am missing something. Could someone throw light on this?
Looking at block 500000:
appending coinbase hash 2157b554dcfda405233906e461ee593875ae4b1b97615872db6a25130ecc1dd6 with the first transaction hash fe6c48bbfdc025670f4db0340650ba5a50f9307b091d9aaa19aa44291961c69f and computing sha256 gives 0387276cdb563dc923e945f8e68596e3556756d2f2119b9b67905658b73afcb2 and doing another sha256 gives 1c0a7630e70d2b39b15585ec19c13c6f0a729a6501f5396dd75f75cb3aa4d110 which is different from the one returned by
SHA256D64 which is 1024e63a6bdab1efb75aae1dd065c11a97cf94e978e6aed9adb2f04d08887164.