RPC调用bitcoind以添加P2SH

时间:2018-03-05 20:35:05

标签: bitcoin json-rpc bitcoind

我一直在寻找很多,我似乎无法弄清楚这一点。

我想使用 Bitcoin Core的 RPC调用创建一个带有自定义 P2SH 地址的事务。我发现redeemScript中有一个signrawtransaction字段,所以我假设这是我应该发送我的脚本的十六进制编码的地方。但是这需要一个txid,所以我应该首先使用createrawtransaction,输出是我要发送到的地址,然后使用包含的脚本对事务进行签名?

我看到已经有一个createmultisig电话,因为那也是 P2SH ,似乎应该有类似的其他 P2SH 交易。

我知道如何解决这个问题或者我可以在哪里找到更多相关信息?

1 个答案:

答案 0 :(得分:1)

如果我根据比特币书的this部分正确理解它,你应该从你的脚本中创建一个哈希,然后将这个哈希转换成一个地址,允许你使用常规{{1 rpc调用硬币发送到地址。

  

P2SH功能的另一个重要部分是能够将脚本哈希编码为地址,如BIP-13中所定义。 P2SH地址是脚本的20字节散列的Base58Check编码,就像比特币地址是公钥的20字节散列的Base58Check编码一样。 P2SH地址使用版本前缀“5”,这导致Base58Check编码的地址以“3”开头。

     

现在,穆罕默德可以向他的客户提供这个“地址”,他们可以使用几乎任何比特币钱包进行简单付款,就像它是一个比特币地址一样。 3前缀为他们提供了一个提示,即这是一种特殊类型的地址,一个对应于脚本而不是公钥,但是它的工作方式与支付比特币地址完全相同。

     

P2SH地址隐藏了所有复杂性,因此付款人不会看到该脚本。

查看整个section,了解如何将脚本转换为哈希。

您可以在此处下载本书中使用的可执行文件:https://github.com/libbitcoin/libbitcoin-explorer/releases