gpt4 book ai didi

transactions - 这是使用Bitcoin-cli命令发送原始交易BTC的方法

转载 作者:行者123 更新时间:2023-12-03 10:43:37 26 4
gpt4 key购买 nike

方案:

Michael receives 0.05000000 BTC from Pablo and another 0.01000000 BTC from Kuradang. Michael also wants to send 0.02500000 BTC to Berteng. Each amount that Michael receives has the corresponding txid and other details. Lets check that out using listunspent command then create a raw transaction using createrawtransaction after that sign it using signrawtransaction and send that raw transaction using sendrawtransaction.



给出:
  • Michael的比特币地址:mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe
  • Berteng的比特币地址:mxh3H416KCRoBDiweSESew5YJyAk1nxLrN
  • 发送给Berteng:0.02500000 mBTC

  • 步骤1)
    listunspent
    格式:
    $ bitcoin-cli listunspent [misconf=1] [max_number_confirmation=99999999] '''["<wallet_address>"]'''

    Lets check Michael's list of unspent using with his address.



    执行:
    $ bitcoin-cli listunspent 1 99999999 '''["mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe"]'''

    结果:
    [{
    "txid": "12b8e7ede4992f4d30f93idj3085746951d945e39f40becebd7c290af8c2e7ad",
    "vout": 1,
    "address": "mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe",
    "account": "micz",
    "scriptPubKey": "76a9143aa28e1740a6a5a2190975b6e7f1ad67aaec9a3988ac",
    "amount": 0.05000000,
    "confirmations": 94,
    "spendable": true
    }, {
    "txid": "8443bc63b65d569ff9ekwm37sy3b67b9c7c6f8f386c3cdf372b260961b64ec9fc",
    "vout": 1,
    "address": "mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe",
    "account": "micz",
    "scriptPubKey": "76a9143aa28e1740a6a5a2190975b6e7f1ad67aaec9a3988ac",
    "amount": 0.01000000,
    "confirmations": 93,
    "spendable": true
    }]

    What we see here is the results that assigned 50 and 10 mBTC to our address mkrz…. To spend this output we will create a new transaction.



    步骤2)
    createrawtransaction

    We need to choose some blocks with sufficient amount from the result of listunspent. Since we only need to send 0.02500000 mBTC I think the first block has the enough amount to make the transaction.



    格式:
    $ bitcoin-cli createrawtransaction
    '[{
    "txid" : "<txid_of_selected_block>",
    "vout" : <vout>
    }]'
    '{"<recipient_address>": <amount_to_send>, "<sender_address>": <amount_change>}'

    To pay the fee, we will reduce the change output by 0.5 millibits as you can see below.



    执行:
    $ bitcoin-cli createrawtransaction
    '[{
    "txid" : "12b8e7ede4992f4d30f93idj3085746951d945e39f40becebd7c290af8c2e7ad",
    "vout" : 0
    }]'
    '{"mxh3H416KCRoBDiweSESew5YJyAk1nxLrN": 0.025, "mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe": 0.0245}'

    结果
    0100000001e34ac1e2baac09c366fce1c2245536bda8f7db0f6685862aecf53ebd69f9a89c0000000000ffffffff02a0252600000000001976a914d90d36e98f62968d2bc9bbd68107564a156a9bcf88ac50622500000000001976a91407bdb518fa2e6089fd810235cf1100c9c13d1fd288ac00000000

    The createrawtransaction command produces a raw hex string that encodes the transaction details we supplied. If you want to decode the hex just use decoderawtransaction command.



    步骤3)
    signrawtransaction

    signs the transaction in the serialized transaction format using private keys stored in the wallet or provided in the call.



    格式:
    $ bitcoin-cli signrawtransaction <hex_createrawtransaction>

    执行:
    $ bitcoin-cli signrawtransaction 0100000001e34ac1e2baac09c366fce1c2245536bda8f7db0f6685862aecf53ebd69f9a89c0000000000ffffffff02a0252600000000001976a914d90d36e98f62968d2bc9bbd68107564a156a9bcf88ac50622500000000001976a91407bdb518fa2e6089fd810235cf1100c9c13d1fd288ac00000000

    结果:
    {
    "hex" : "0100000001e34ac1e2baac09c366fce1c2245536bda8f7db0f6685862aecf53ebd69f9a89c000000006a47304402203e8a16522da80cef66bacfbc0c800c6d52c4a26d1d86a54e0a1b76d661f020c9022010397f00149f2a8fb2bc5bca52f2d7a7f87e3897a273ef54b277e4af52051a06012103c9700559f690c4a9182faa8bed88ad8a0c563777ac1d3f00fd44ea6c71dc5127ffffffff02a0252600000000001976a914d90d36e98f62968d2bc9bbd68107564a156a9bcf88ac50622500000000001976a91407bdb518fa2e6089fd810235cf1100c9c13d1fd288ac00000000",
    "complete" : true
    }

    Now the signrawtransaction command returns another hex-encoded raw transaction.



    步骤4)
    sendrawtransaction

    RPC validates a transaction and broadcasts it to the peer-to-peer network.



    格式:
    $ bitcoin-cli sendrawtransaction <hex_signrawtransaction>

    执行:
    $ bitcoin-cli sendrawtransaction 0100000001e34ac1e2baac09c366fce1c2245536bda8f7db0f6685862aecf53ebd69f9a89c000000006a47304402203e8a16522da80cef66bacfbc0c800c6d52c4a26d1d86a54e0a1b76d661f020c9022010397f00149f2a8fb2bc5bca52f2d7a7f87e3897a273ef54b277e4af52051a06012103c9700559f690c4a9182faa8bed88ad8a0c563777ac1d3f00fd44ea6c71dc5127ffffffff02a0252600000000001976a914d90d36e98f62968d2bc9bbd68107564a156a9bcf88ac50622500000000001976a91407bdb518fa2e6089fd810235cf1100c9c13d1fd288ac00000000

    结果:
    ae74538baa914f3799081ba78429d5d84f36a0127438e9f721dff584ac17b346

    The command sendrawtransaction returns a transaction hash (txid) as it submits the transaction on the network. To check the transaction hash you can go to tbtc.blockr.io



    有关更多信息,请参见此网站 mastering bitcoin

    最佳答案

    在regtest环境中发送rawtransaction的Multisig实现)

    1)创建原始交易

    syntax:

    bitcoin-cli -regtest createrawtransaction '[{"txid":"","vout":}]' '{"receive_address":amount}'



    例:
     > bitcoin-cli -regtest createrawtransaction
    > '[{"txid":"eee0de90e9878c039f87c9eedbdf5b9a5da157b19e5354a51ff3b2f84c8a901b","vout":0},]'
    > '{"2MxieCJNTKiiBj6U3SjghQaatZYbM7Qn6GW":30}'

    2)签署原始交易

    syntax

    <hexstring> [{"txid":txid,"vout":n,"scriptPubKey":hex},...] [<privatekey1>,...]

    bitcoin-cli -regtest signrawtransaction "0200000001a1c33ebb12d94f96effc70c9dd4488faf32dc15269d6a41d115ac956033cadbb0100000000ffffffff0100e1f505000000001976a9145768a869521bb01af8bdd787e6e1e65ec3d9870e88ac00000000" '''
    [
    {
    "txid":"bbad3c0356c95a111da4d66952c12df3fa8844ddc970fcef964fd912bb3ec3a1",
    "vout":1,
    "scriptPubKey":"a91401a8f0509da2396f58d3f9948a76331964524c9687",
    "redeemScript": "5221022d6f957dd76773432d2493edb5601b2d0791286e31c83483ab299672c3d44fc921022dd9c36eece99cc308986a8334c3a0bf24d7ef8b842dacebf56f2477b0f6daab21030544c9613bf27c9773e6fcd79c7786a297188a2647d346da0c3305e22d3e28da53ae"
    }
    ]
    ''' '''
    [
    "cUdhE3NvePyjqksgJTc5BQfXGDJckPgEKfoRT72x2BRoG2uMS81H"
    ]
    '''

    o / p将是我存储为的十六进制

    signed_raw_txn=0200000001a1c33ebb12d94f96effc70c9dd4488faf32dc15269d6a41d115ac956033cadbb01000000fdfe0000483045022100f9561640d9cf6c7fa7decdd2a3e0c40b0f05d167ee96f22dc11b7ef120c8483902201e53915eed3399e07a4e2648ab76c665fca6486d872d10964ad1926e792d2d6001483045022100a0a084182fb84efdf21757b9caa723cb013a469dc47c5bd8007c23f6201260c8022014fa11cb241c2e63ed0a043aceb1c3f89344c22b4ea6662f93da30820ef18796014c695221022d6f957dd76773432d2493edb5601b2d0791286e31c83483ab299672c3d44fc921022dd9c36eece99cc308986a8334c3a0bf24d7ef8b842dacebf56f2477b0f6daab21030544c9613bf27c9773e6fcd79c7786a297188a2647d346da0c3305e22d3e28da53aeffffffff0100e1f505000000001976a9145768a869521bb01af8bdd787e6e1e65ec3d9870e88ac00000000



    3)发送原始交易
    bitcoin-cli -regtest sendrawtransaction $signed_raw_txn

    关于transactions - 这是使用Bitcoin-cli命令发送原始交易BTC的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493893/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com