Create a raw transaction and broadcast it to blockchain using bitcoin core

2

2

I have a address- n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV, amount that i want to send-1 BTC and i have a private key. How can i create a raw transaction using it and broadcast it to blockchain using bitcoin core.

I have tried this command:

bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303‌​091b3c6a514848c","vo‌​ut":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}' 

and this: bitcoin-cli sendrawtransaction XXX

Ajit Soman

Posted 2018-01-30T06:08:47.050

Reputation: 405

I have tried this command :bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}'

and this:

bitcoin-cli sendrawtransaction XXX – Ajit Soman 2018-01-30T06:13:39.943

But i want to perform transaction using specific private keyAjit Soman 2018-01-30T06:14:12.497

I don't want to import private key in walletAjit Soman 2018-01-30T06:14:36.473

Answers

2

EDIT: based on OPs request, I put examples in here:

there are a lot of examples for different tx types on bitcoin.org, in the developer examples. Basically you will need three steps. Assuming you are on OpenBSD/MacOS/Linux, you can go this way:

1.) createrawtransaction - this is what you have already, and it looks ok. I don't know if the previous tx ID or v_out is correct, assuming you know the details, your string is ok (otherwise check with "bitcoin-cli -regtest listunspent", and adopt TX_ID and V_OUT accordingly). I also assume, that the address is one which is in your wallet. Otherwise you might just create an address, and proceed afterwards like this:

UTXO_TXID=dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303‌
UTXO_VOUT=1
NEW_ADDRESS=n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV
bitcoin-cli -regtest createrawtransaction '''
    [
      {
        "txid": "'$UTXO_TXID'",
        "vout": '$UTXO_VOUT'
      }
    ]
    ''' '''
    {
      "'$NEW_ADDRESS'": 1
    }'''

you provide this returned hex string to another variable:

RAW_TX=01000...

2.) signrawtransaction - the previous command returns a hex string, that you will use to sign the transaction - again, see the docs. First I verify my created tx, and then sign:

bitcoin-cli -regtest decoderawtransaction $RAW_TX
bitcoin-cli -regtest signrawtransaction $RAW_TX

again you assign the result to a variable:

SIGNED_RAW_TX=01000...

3.) sendrawtransaction - again you take the hexstring of the previous command as parameter, and/or see the docs.

bitcoin-cli -regtest sendrawtransaction $SIGNED_RAW_TX

and maybe a verification as step 4:

bitcoin-cli -regtest generate 1

this generates a block, and you can see on the $NEW_ADDRESS, if funds have been transferred.

I just entered the two keywords here in the search function, and also found a lot of answers.

pebwindkraft

Posted 2018-01-30T06:08:47.050

Reputation: 4 568

Can you provide me some ways to create txid in rawtransaction. It would be better if you can post it to your answerAjit Soman 2018-01-30T10:46:14.540

is there any single command available in bitcoin core that is equivalent to createrawtransaction,signrawtransaction,sendrawtransactionAjit Soman 2018-02-26T12:01:58.110

I am not aware of such a command...pebwindkraft 2018-02-26T19:16:56.497

1

You can use signrawtransaction, this method accept an array of private keys as an argument.

Parameter #3—private keys for signing:

An array holding private keys. If any keys are provided, only they will be used to sign the transaction (even if the wallet has other matching keys). If this array is empty or not used, and wallet support is enabled, keys from the wallet will be used

Зелёный

Posted 2018-01-30T06:08:47.050

Reputation: 871

Can you provide me some ways to create txid in rawtransactionAjit Soman 2018-01-30T06:29:00.533

@AjitSoman there is a lot of examples, in the documentation

Зелёный 2018-01-30T06:31:03.627