Does IPFS Store A Large File Using Hash List or Merkle Tree?

In the example of adding a large file (https://docs.ipfs.io/guides/examples/blocks/), IPFS divides the large file into many blocks. But how do you calculate the root hash of the file? Is IPFS using hash list or Merkle Tree?

ipfs add alargefile
ipfs ls thathash

ipfs@earth ~> ipfs ls qms2hjwx8qejwm4nmwu7ze6ndam2sfums3x6idwz5myzbn
qmv8ndh7ageh9b24zngaextmuhj7aiuw3scc8hkczvjkww 7866189
qmuvjja4s4cgyqyppozttssquvgcv2n2v8mae3gnkrxmol 7866189
qmrgjmlhlddhvxuieveuuwkeci4ygx8z7ujunikzpfzjuk 7866189
qmrolalcquyo5vu5v8bvqmgjcpzow16wukq3s3vrll2tdk 7866189
qmwk51jygpchgwr3srdnmhyerheqd22qw3vvyamb3emhuw 5244129

How do you calculate qms2hjwx8qejwm4nmwu7ze6ndam2sfums3x6idwz5myzbn (the root hash)?

1 Like