这就是我尝试过的:
我创建了一个兑换脚本:[OP_2, PB1 长度(1-字节), PB1, PB2 长度(1-字节), PB2, PB3 长度(1-字节), PB3, 83 (OP_3), 174 (OP_CHECKMULTISIG) ]
Hash = 计算reedem脚本的sha256的ripemd160
script_pubkey = [OP_160,哈希,OP_EQUAL]
第 3 步之后我不知道该怎么做才能获取地址。我知道第5步将是第4步的base58,但我不知道它是什么。我看到了一些来自 python 库的资源,但我不知道它们是做什么的。
那么第四步是什么? 谢谢。
第 4 步涉及在兑换脚本的 RIPEMD160(SHA256) 哈希值前加上网络特定版本字节作为前缀。对于比特币主网上的 P2SH 地址,您可以在哈希值前添加字节
0x05
。这一步至关重要,因为它表示地址类型和网络。 Base58Check编码前的完整数据结构将是:[version byte] + [Hash]
.
添加前缀后,下一步包括 Base58Check 编码,其中包括通过获取
SHA256(SHA256([version byte] + [Hash]))
的前四个字节并将它们附加到 [version byte] + [Hash]
的末尾来计算校验和。然后将整个结构以 Base58 进行编码以生成最终地址。