Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: curiosity81 on November 04, 2017, 08:15:04 AM



Title: Generation of raw transaction with bitcoin-qt, saving as text file
Post by: curiosity81 on November 04, 2017, 08:15:04 AM
Hello,

I am looking for a manual, how to create a raw transaction with bitcoin-qt using an offline computer. The transaction is then saved on a stick or similar, transfered to an online computer and broadcasted from there to the network. I know, that this is possible via the console. But this looks quite complex and error-prone.

Is it possible to build the transaction via the graphical user interface? That is, like if I wanted to broadcast the transaction directly to the network. But instead of pressing "Send", I press "Save transaction to text file" (or similar).

Thanks in advance,
cu



Title: Re: Generation of raw transaction with bitcoin-qt, saving as text file
Post by: DannyHamilton on November 04, 2017, 02:36:14 PM
I know, that this is possible via the console.

It is.  I've done it many times.

But this looks quite complex and error-prone.

It is VERY error prone.  You should not be doing it unless you really know what you are doing, and you are very careful.  You can prevent many errors if you write your own software to interface with Bitcoin Core to handle most of the transaction building for you.

Is it possible to build the transaction via the graphical user interface? That is, like if I wanted to broadcast the transaction directly to the network. But instead of pressing "Send", I press "Save transaction to text file" (or similar).

If your copy of Bitcoin Core is synchronized far enough to have all of the transaction outputs that you plan to spend, then you can just press "Send".  Since it is offline, it won't be able to actually send it anywhere, but it will still save the transaction to the wallet.  Then you can use dumprawtransaction in the console to extract the transaction so you can transfer it to your online computer.

If the blockchain on your offline computer is not synchronized far enough, then the offline wallet won't know what bitcoins you actually have access to.  In that case, you either won't be able to create the transaction (the offline wallet will display an insufficient balance) or it may create an invalid transaction (it may try to spend outputs that have already been spent by your online wallet).

If you are going to do this, make sure you actually understand the concept of "change" outputs, and that you don't accidentally delete a wallet file somewhere (online or offline) that has the private key for the address that was used for the "change".


Title: Re: Generation of raw transaction with bitcoin-qt, saving as text file
Post by: curiosity81 on November 04, 2017, 06:46:27 PM
I know, that this is possible via the console.

It is.  I've done it many times.

But this looks quite complex and error-prone.

It is VERY error prone.  You should not be doing it unless you really know what you are doing, and you are very careful.  You can prevent many errors if you write your own software to interface with Bitcoin Core to handle most of the transaction building for you.

Is it possible to build the transaction via the graphical user interface? That is, like if I wanted to broadcast the transaction directly to the network. But instead of pressing "Send", I press "Save transaction to text file" (or similar).

If your copy of Bitcoin Core is synchronized far enough to have all of the transaction outputs that you plan to spend, then you can just press "Send".  Since it is offline, it won't be able to actually send it anywhere, but it will still save the transaction to the wallet.  Then you can use dumprawtransaction in the console to extract the transaction so you can transfer it to your online computer.

If the blockchain on your offline computer is not synchronized far enough, then the offline wallet won't know what bitcoins you actually have access to.  In that case, you either won't be able to create the transaction (the offline wallet will display an insufficient balance) or it may create an invalid transaction (it may try to spend outputs that have already been spent by your online wallet).

If you are going to do this, make sure you actually understand the concept of "change" outputs, and that you don't accidentally delete a wallet file somewhere (online or offline) that has the private key for the address that was used for the "change".

Each of the conditions is met.

Thank you for your help, I will test this.