I want to learn how to calculate the Merkle root so I started from a simple example, a block with only 2 transactions (block #99997). However, I ran into a problem.
Mempool online block explorer says that the Merkle root of this block is: 5140e5972f672bf8e81bc189894c55a410723b095716eaeec845490aed785f0e
.
However, I am getting the different value.
Two transactions are contained inside the block #99997 and their TXID are:
b86f5ef1da8ddbdb29ec269b535810ee61289eeac7bf2b2523b494551f03897c
80c6f121c3e9fe0a59177e49874d8c703cbadee0700a782e4002e87d862373c6
I did the following steps:
- concatenation of transaction IDs
(result:b86f5ef1da8ddbdb29ec269b535810ee61289eeac7bf2b2523b494551f03897c80c6f121c3e9fe0a59177e49874d8c703cbadee0700a782e4002e87d862373c6
) - SHA256 of the result from the step 1 (result:
e08d8ecc5a02b113bea1e7e2786b8235ddb5ab6058910f30b4d966b30e484bda
) - SHA256 of the result from the step 2 (result:
5ab58ee21a1ae7476d59e6b7ddb05a80e8b42a4bf5748e9c5db9eb860b2bd040
)
As you can see I got the different value for the Merkle root than the one presented on the Mempool site.
Mine: 5ab58ee21a1ae7476d59e6b7ddb05a80e8b42a4bf5748e9c5db9eb860b2bd040
Their: 5140e5972f672bf8e81bc189894c55a410723b095716eaeec845490aed785f0e
What am I doing wrong?