如何从多个公钥创建P2SH地址

问题描述 投票:0回答:1

这就是我尝试过的:

  1. 我创建了一个兑换脚本:[OP_2, PB1 长度(1-字节), PB1, PB2 长度(1-字节), PB2, PB3 长度(1-字节), PB3, 83 (OP_3), 174 (OP_CHECKMULTISIG) ]

  2. Hash = 计算reedem脚本的sha256的ripemd160

  3. script_pubkey = [OP_160,哈希,OP_EQUAL]

第 3 步之后我不知道该怎么做才能获取地址。我知道第5步将是第4步的base58,但我不知道它是什么。我看到了一些来自 python 库的资源,但我不知道它们是做什么的。

那么第四步是什么? 谢谢。

blockchain bitcoin public-key
1个回答
0
投票

第 4 步涉及在兑换脚本的 RIPEMD160(SHA256) 哈希值前加上网络特定版本字节作为前缀。对于比特币主网上的 P2SH 地址,您可以在哈希值前添加字节

0x05
。这一步至关重要,因为它表示地址类型和网络。 Base58Check编码前的完整数据结构将是:
[version byte] + [Hash]
.

添加前缀后,下一步包括 Base58Check 编码,其中包括通过获取

SHA256(SHA256([version byte] + [Hash]))
的前四个字节并将它们附加到
[version byte] + [Hash]
的末尾来计算校验和。然后将整个结构以 Base58 进行编码以生成最终地址。

© www.soinside.com 2019 - 2024. All rights reserved.