createpsbt [{"txid":"hex","vout":n,"sequence":n,"pegin_bitcoin_tx":"hex","pegin_txout_proof":"hex","pegin_claim_script":"hex","issuance_amount":n,"issuance_tokens":n,"asset_entropy":"hex","asset_blinding_nonce":"hex","blind_reissuance":bool},...] [{"address":amount,"blinder_index":n,"asset":"str",...},{"data":"hex"},...] ( locktime replaceable psbt_version )
Creates a transaction in the Partially Signed Transaction format.
Implements the Creator role.
Arguments:
1. inputs (json array, required) The json objects
[
{ (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 witness program generated by getpeginaddress.
"issuance_amount": n, (numeric) The amount to be issued
"issuance_tokens": n, (numeric) The number of asset issuance tokens to generate
"asset_entropy": "hex", (string) For new asset issuance, this is any additional entropy to be used in the asset tag calculation. For reissuance, this is the original asaset entropy
"asset_blinding_nonce": "hex", (string) Do not set for new asset issuance. For reissuance, this is the blinding factor for reissuance token output for the asset being reissued
"blind_reissuance": bool, (boolean, optional, default=true) Whether to mark the issuance input for blinding or not. Only affects issuances with re-issuance tokens.
},
...
]
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
"blinder_index": n, (numeric) The index of the input whose signer will blind this output. Must be provided if this output is to be blinded
"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
},
...
]
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.
5. psbt_version (numeric, optional, default=2) The PSBT version number to use.
Result:
"str" (string) The resulting raw transaction (base64-encoded string)
Examples:
> elements-cli createpsbt "[{\"txid\":\"myid\",\"vout\":0}]" "[{\"data\":\"00010203\"}]"