Transactions 如何在生成托管比特币交易期间设置任意scriptPubKey?

Transactions 如何在生成托管比特币交易期间设置任意scriptPubKey?,transactions,bitcoin,escrow,Transactions,Bitcoin,Escrow,据介绍,有可能创建托管交易。 还有,它引入了一种付费脚本散列机制 根据这些文件,据我所知,我必须按照以下步骤处理三名参与者之间的托管交易: 这三个参与者中的每一个都通过执行rpc“getnewaddress”创建一个新地址 然后每个人都必须通过执行“validateaddress”来验证他们的地址,并获得一个公钥 然后,我们必须通过执行rpc方法“createmultisig”创建一个multisig地址,并使用三个PubKey作为参数,如下所示: 比特币CreateMulturisig 2

据介绍,有可能创建托管交易。 还有,它引入了一种付费脚本散列机制

根据这些文件,据我所知,我必须按照以下步骤处理三名参与者之间的托管交易:

  • 这三个参与者中的每一个都通过执行rpc“getnewaddress”创建一个新地址

  • 然后每个人都必须通过执行“validateaddress”来验证他们的地址,并获得一个公钥

  • 然后,我们必须通过执行rpc方法“createmultisig”创建一个multisig地址,并使用三个PubKey作为参数,如下所示:

    比特币CreateMulturisig 2'[“pubkey1”、“pubkey2”、“pubkey3”]”

  • 然后,我们创建一个事务,将一些硬币放入此multisig地址:

    比特币createrawtransaction'[{“txid”:“my some txid”,“vout”:0}]'{“created multisig address”:0.001}'

  • 之后,我们必须通过执行“decoderawtransaction”对创建的事务进行解码,以获得txid,这将是创建下一个事务所需的:

  • `

    如您所见,在scriptPubKey中有“OP_CHECKSIG”,但我们的脚本必须有“OP_checkmultisignverify”


    所以,问题是:如何将任意脚本设置为事务的输出?

    我和您一样也在努力解决这个问题,但也许我的工作更深入了一点? 接下来,我要:
    transaction=pybitcointools.反序列化(十六进制)
    事务[“输出”][n][“脚本”]=**脚本发布键**
    十六进制=pybitcointools.序列化(事务)

    我认为,在您想使用随此交易发送的比特币之前,您不会使用兑换脚本

    更新 看来我们的客户会拒绝广播这些交易,我们需要把它们交给特定的矿商

    如果你想更多地合作:扎克[dott]bitcoin@gmail.com

    bitcoind decoderawtransaction <blah-blah>
    {
        **"txid" : "txid,that we need",**
        "version" : 1,
        "locktime" : 0,
     <...>
    and so on
    <...>
    }`
    
    "vout" : [
        {
            "value" : 0.00100000,
            "n" : 0,
            "scriptPubKey" : {
                "asm" : "OP_DUP OP_HASH160 blah blah OP_EQUALVERIFY OP_CHECKSIG",
                "hex" : "blah blah",