我正在研究https://en.bitcoin.it/wiki/Transaction
中的示例Input:
Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6
Index: 0
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501
Output:
Value: 5000000000
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d
OP_EQUALVERIFY OP_CHECKSIG
所以基本上:
Sig = 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
Pub Key = 90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501
OP_DUP,然后是OP_HASH160
当我HASH160(即RIPEMD160(SHA256())公开密钥)时,我得到6f6c7697c8f93d72d3d8286195dd2c261bdef075
而不是404371705fa9bd789a2fcd52d2c580b65d35549d
。
使用https://md5calc.com,我得到以下信息:
SHA256 (90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501) = 9fb78bdfd748eefc1ab6ff9dd16611f9fc86be5bf12483da612c34887501f195
RIPEME160 (9fb78bdfd748eefc1ab6ff9dd16611f9fc86be5bf12483da612c34887501f195) = 6f6c7697c8f93d72d3d8286195dd2c261bdef075
我必须在那里缺少一些步骤吗?
谢谢!
答案 0 :(得分:0)
您编码了二进制数据的十六进制表示,而不是二进制数据本身。您需要sha256()和maturemd160()实际的二进制数据。