
밑바닥부터 시작하는 비트코인
280
11.6
블록에서 머클루트 계산하기
블록 안의 트랜잭션으로 해시값을 구하고 이로부터 머클루트를 구하는 것은 지금까지 설명한
것과 다를 바 없지만 실제 계산 시 엔디언 문제를 조심해야 합니다. 자세히 설명하면 먼저 머클
트리의 각 단말 노드를 리틀엔디언으로 읽습니다. 이후 머클루트를 계산하고 최종 결과는 다시
리틀엔디언으로 표현합니다.
결국 이는 단말 노드의 해시값 바이트 열을 뒤에서 읽어 머클루트를 계산하고 얻은 값을 다시
뒤에서 읽어 기록하게 됩니다.
>>> from helper import merkle_root
>>> tx_hex_hashes = [
... '42f6f52f17620653dcc909e58bb352e0bd4bd1381e2955d19c00959a22122b2e',
... '94c3af34b9667bf787e1c6a0a009201589755d01d02fe2877cc69b929d2418d4',
... '959428d7c48113cb9149d0566bde3d46e98cf028053c522b8fa8f735241aa953',
... 'a9f27b99d5d108dede755710d4a1ffa2c74af70b4ca71726fa57d68454e609a2',
... '62af110031e29de1efcad103b3ad4bec7bdcf6cb9c9f4afdd586981795516577' ...