Short method, exporting all tx's:Backup your walletsClose all Bitcoin instances

Everything has to be done on A until I said it's on B

Send your transaction

Go to http://localhost:8989Under the Dump transactions section: Type '/home/a/.bitcoin' and 'wallet.dat' in wallet directory and wallet filenameType the full path of the output file, e.g. on a USB driveThen click on the Dump button

From now, everything is made on B

Go to http://localhost:8989Under 'Import a transaction into your wallet' section:Write 'c:\bitcoin\b' and 'wallet.dat' in wallet directory and wallet filenameType 'file' in TxkAnd the path of the output file in TxvClick the Import button

This should return: (if not, let me know)

Quote

txk: filex transactions imported in c:\bitcoin\b\wallet.dat

Long method, exporting only one tx:Backup your walletsClose all Bitcoin instances

Everything has to be done on A until I said it's on B

Send your transaction: if you use bitcoind, you already have your txid, if you use GUI, remember the amount you sent

Go to http://localhost:8989Under the Dump section, enter '/home/a/.bitcoin' and 'wallet.dat' in wallet directory and wallet filenameThen click on the Dump button

Using Ctrl-F, find either your txid or your amount (beware, there may be more than one transaction with that amount)

Go to http://localhost:8989Under 'Import a transaction into your wallet' section:Write 'c:\bitcoin\b' and 'wallet.dat' in wallet directory and wallet filenamePaste tx_k in TxkAnd tx_v in TxvClick the Import button

Take as input: 1) a private key (e.g. from a paper wallet, generated with vanity gen or similiar, which has received coins but has never been in a wallet) 1a) the balance of the private key address (enter as parameter or query this from blockexplorer) 2) a transaction amount 3) a destination address 4) a change address (e.g. new, unused paper wallet or vanity generated address, never stored in a wallet)

Write the transaction to send the "transaction amount" from the "private key" to the "destination address" and send change to the "change address".

Broadcast this transaction (or input into new wallet and run bitcoin(d) to broadcast).

This would allow a secure transaction with only one computer that can be online, with secure addresses kept offline.

I'm not aware of how feasible this is to program. As I understand it, you method requires the bitcoin instance on Computer A to write the transaction data.

Take as input: 1) a private key (e.g. from a paper wallet, generated with vanity gen or similiar, which has received coins but has never been in a wallet) 1a) the balance of the private key address (enter as parameter or query this from blockexplorer) 2) a transaction amount 3) a destination address 4) a change address (e.g. new, unused paper wallet or vanity generated address, never stored in a wallet)

Write the transaction to send the "transaction amount" from the "private key" to the "destination address" and send change to the "change address".

Broadcast this transaction (or input into new wallet and run bitcoin(d) to broadcast).

This would allow a secure transaction with only one computer that can be online, with secure addresses kept offline.

I'm not aware of how feasible this is to program. As I understand it, you method requires the bitcoin instance on Computer A to write the transaction data.

I would love toAfter testing signing/verifying messages feature I just implemented, that will be my next task. Should take a lot of time though

Yes, and this is this patch that made me think about implementing itThe only problem I see is that it requires to build bitcoin and it's dependenciesWhen I tested to build bitcoin it was really a pain (Ubuntu), so I think building it without internet connection must be even more boring

Yes, and this is this patch that made me think about implementing itThe only problem I see is that it requires to build bitcoin and it's dependenciesWhen I tested to build bitcoin it was really a pain (Ubuntu), so I think building it without internet connection must be even more boring

Why not put it into the official distribution? I think all you need to operate a completely offline wallet and make it easy would be an ability to export/import the latest blocks and to export/import transactions (on import, the client would just behave exactly as it would if it had received the transaction from the network). For the blocks, if the export could just export the blocks downloaded since the last export, it would probably make it quicker to keep the offline wallet's blocks updated.

Yes, and this is this patch that made me think about implementing itThe only problem I see is that it requires to build bitcoin and it's dependenciesWhen I tested to build bitcoin it was really a pain (Ubuntu), so I think building it without internet connection must be even more boring

Why not put it into the official distribution? I think all you need to operate a completely offline wallet and make it easy would be an ability to export/import the latest blocks and to export/import transactions (on import, the client would just behave exactly as it would if it had received the transaction from the network). For the blocks, if the export could just export the blocks downloaded since the last export, it would probably make it quicker to keep the offline wallet's blocks updated.

As blk00001 is just the entire blockchain concatenated I don't think it is simple to export/import blocks. It would be nice if someone does such a tool though, because it's really a good idea. Personally I'm too busy with pywalletTo import/export transactions, pywallet works fine, or maybe I didn't understand correctly what you was meaning

I could imagine an offline computer generating transactions which could be displayed by QR code, printed, or exported to USB, and then injected into any old online client.

rant/ I've often been puzzled that bitcoin doesn't take the unix approach with many little utilities that do one thing and one thing well. I was hoping the node.js client would take that route. Why does the client need to confirm that it actually has the bitcoins before sending them? I realize false sends would 'spam' the network, but malicious users can and might do that anyway. /rant

This would be extraordinarily useful for high-value accounts, ones which store millions+ of USD worth of crypto-tokens. Something like that is simply too valuable to secure on any system connected to the internet.

My group is working on this for our own altchain client. In our application, the “master keys” to a bank or exchange's primary account will be printed off as QR codes, and stored in safety deposit boxes. Transactions to/from this account would use MULTISIG with 2-of-3 signatures required, and we'll have an offline machine in a secure location (safe requiring multiple keys to access) with attached scanner and printer. To do a transaction out, you need at least all the keys to the safe and two QR codes. The machine performs an offline transaction (using the scanner to input the keys), then prints that transaction as a QR code. Anyone can then take that QR code and use it on a machine connected to the internet to broadcast the transaction.

The master keys to the organization's accounts are never stored or processed on a computer connected to the internet, multiple people are required to be present making it harder for an insider job, and existing/familiar organizational security measures can be employed.

I'm an independent developer working on bitcoin-core, making my living off community donations.If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP

Does this also work through the command line or is it only available at the webpage? This process can be automated which could be useful, for example, to allow one computer at a DMZ to send bitcoin transactions signed by another computer located inside a secure LAN. If the DMZ computer is compromised the private keys are still secure.