Sha256

如何計算 bip 143 範例中顯示的雙 sha256?

  • January 6, 2017

如何計算bip 143範例中顯示的雙 sha256 ?

Native P2WPKH 中的範例

 hashPrevouts:
    dSHA256(fff7f7881a8099afa6940d42d1e7f6362bec38171ea3edf433541db4e4ad969f00000000ef51e1b804cc89d182d279655c3aa89e815b1b309fe287d9b2b55d57b90ec68a01000000)
    = 96b827c8483d4e9b96712b6713a7b68d6e8003a781feba36c31143470b4efd37

我試過了

 export PREV_OUT=fff7f7881a8099afa6940d42d1e7f6362bec38171ea3edf433541db4e4ad969f00000000ef51e1b804cc89d182d279655c3aa89e815b1b309fe287d9b2b55d57b90ec68a01000000
 echo -n $PREV_OUT |openssl dgst -sha256 -binary |openssl dgst -sha256

這就是我得到的

 cf4cff3b2196ae87636af6088736f0f9102106375f306c032804845a2d3b92d4

做這個:

echo -n $PREV_OUT | xxd -r -p | openssl dgst -sha256 -binary | openssl dgst -sha256

解釋

你想這樣做:

prevout (原始字節) -> sha256 -> sha256 -> 轉換為十六進制

你這樣做:

prevout(原始字節) -> 轉換為十六進制 -> sha256 -> sha256 -> 轉換為十六進制

xxd -r -p反轉十六進制轉換。

引用自:https://bitcoin.stackexchange.com/questions/50590