createrawtransaction (0.21.0.0 RPC)

createrawtransaction [{"txid":"hex","vout":n,"sequence":n,"pegin_bitcoin_tx":"hex","pegin_txout_proof":"hex","pegin_claim_script":"hex"},...] [{"address":amount,"asset":"str"},{"data":"hex"},{"vdata":"hex"},{"burn":"hex"},{"fee":amount},...] ( locktime replaceable )

Create a transaction spending the given inputs and creating new outputs.
Outputs can be addresses or data.
Returns hex-encoded raw transaction.
Note that the transaction's inputs are not signed, and
it is not stored in the wallet or transmitted to the network.

Arguments:
1. inputs                                (json array, required) The inputs
     [
       {                                 (json object)
         "txid": "hex",                  (string, required) The transaction id
         "vout": n,                      (numeric, required) The output number
         "sequence": n,                  (numeric, optional, default=depends on the value of the 'replaceable' and 'locktime' arguments) The sequence number
         "pegin_bitcoin_tx": "hex",      (string, required) The raw bitcoin transaction (in hex) depositing bitcoin to the mainchain_address generated by getpeginaddress
         "pegin_txout_proof": "hex",     (string, required) A rawtxoutproof (in hex) generated by the mainchain daemon's `gettxoutproof` containing a proof of only bitcoin_tx
         "pegin_claim_script": "hex",    (string, required) The claim script generated by getpeginaddress.
       },
       ...
     ]
2. outputs                               (json array, required) The outputs (key-value pairs), where none of the keys are duplicated.
                                         That is, each address can only appear once and there can only be one 'data' object.
                                         For compatibility reasons, a dictionary, which holds the key-value pairs directly, is also
                                         accepted as second parameter.
     [
       {                                 (json object)
         "address": amount,              (numeric or string, required) A key-value pair. The key (string) is the bitcoin address, the value (float or string) is the amount in BTC
         "asset": "str",                 (string) The asset tag for this output if it is not the main chain asset
       },
       {                                 (json object)
         "data": "hex",                  (string, required) A key-value pair. The key must be "data", the value is hex-encoded data
       },
       {                                 (json object)
         "vdata": "hex",                 (string, required) The key is "vdata", the value is an array of hex encoded data
       },
       {                                 (json object)
         "burn": "hex",                  (string, required) A key-value pair. The key must be "burn", the value is the amount that will be burned.
       },
       {                                 (json object)
         "fee": amount,                  (numeric or string, required) The key is "fee", the value the fee output you want to add.
       },
       ...
     ]
3. locktime                              (numeric, optional, default=0) Raw locktime. Non-0 value also locktime-activates inputs
4. replaceable                           (boolean, optional, default=false) Marks this transaction as BIP125-replaceable.
                                         Allows this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible.

Result:
"hex"    (string) hex string of the transaction

Examples:
> elements-cli createrawtransaction "[{\"txid\":\"myid\",\"vout\":0}]" "[{\"address\":0.01}]"
> elements-cli createrawtransaction "[{\"txid\":\"myid\",\"vout\":0}]" "[{\"data\":\"00010203\"}]"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id": "curltest", "method": "createrawtransaction", "params": ["[{\"txid\":\"myid\",\"vout\":0}]", "[{\"address\":0.01}]"]}' -H 'content-type: text/plain;' http://127.0.0.1:7041/
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id": "curltest", "method": "createrawtransaction", "params": ["[{\"txid\":\"myid\",\"vout\":0}]", "[{\"data\":\"00010203\"}]"]}' -H 'content-type: text/plain;' http://127.0.0.1:7041/