ビットコインの仕組みを追いかけてみる(3)
testnetのデータをターゲットに、ブロックの構成をたどってみる。
まずはchainの先頭(genesis)ブロックから。
getblockhash(ブロック高を指定してハッシュを取得する)
bitcoin-cli -testnet getblockhash 0
bitcoinにおけるブロックのハッシュ化は、ブロックヘッダとランダム値に対してSHA256暗号化アルゴリズムを使う。
testnetにおける、genesisブロックのハッシュ(1バイトごとにカッコで区切って、8バイトごとに改行)。
[00][00][00][00][09][33][ea][01] [ad][0e][e9][84][20][97][79][ba] [ae][c3][ce][d9][0f][a3][f4][08] [71][95][26][f8][d7][7f][49][43]
getblock(ハッシュからブロックの情報を取得する)
bitcoin-cli -testnet getblock 000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943
testnetにおけるBlock0とBlock1の情報は以下のとおり。
"nextblockhash"という値が得られるが、ブロックに含まれているものではないらしい。
ブロックチェーン情報取得 - ブロック - Bitcoin ClockUpMemo
(フルノードが、自分で保持しているブロック情報から算出したもの)