3

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

3
  • I have tried this command :bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}' and this: bitcoin-cli sendrawtransaction XXX
    – Ajit Soman
    Commented Jan 30, 2018 at 6:13
  • But i want to perform transaction using specific private key
    – Ajit Soman
    Commented Jan 30, 2018 at 6:14
  • I don't want to import private key in wallet
    – Ajit Soman
    Commented Jan 30, 2018 at 6:14

2 Answers 2

4

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.

3
  • Can you provide me some ways to create txid in rawtransaction. It would be better if you can post it to your answer
    – Ajit Soman
    Commented Jan 30, 2018 at 10:46
  • is there any single command available in bitcoin core that is equivalent to createrawtransaction,signrawtransaction,sendrawtransaction
    – Ajit Soman
    Commented Feb 26, 2018 at 12:01
  • I am not aware of such a command... Commented Feb 26, 2018 at 19:16
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

2
  • Can you provide me some ways to create txid in rawtransaction
    – Ajit Soman
    Commented Jan 30, 2018 at 6:29
  • @AjitSoman there is a lot of examples, in the documentation Commented Jan 30, 2018 at 6:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.