4

From what I understand, signing a transaction offline means I don't have to ever expose my private keys to a web-connected computer. From what I've found, the only program that allows something like this with WIF keys is sx, are there any other tools that perform something like this? Or is sx the only way do accomplish this?

4

Armory is a popular solution for dealing with offline wallets. It is GUI based so is more user friendly than command-line / programming based solutions.

https://bitcoinarmory.com/

  • 1
    Would Armory be appropriate if I had one paper wallet that I wanted to reuse many times, without exposing my private keys? – skeeballassault Dec 20 '14 at 18:35
5

You can do this using Bitcoin Core, and it'll be even easier with Bitcoin Core 0.10's watch-only wallet support.

With the current Bitcoin Core, you create a wallet on your offline machine. Using it, you get one or more addresses (saving them, for example, to a text file). You copy those addresses to your online computer and give them to people to pay you. When you want to spend those payments, you create the transaction on the online computer in an unsigned form, copy it to your offline computer, verify it, sign it, copy the signed transaction back to the online computer, and send it.

Core dev Greg Maxwell has instructions for all this on his site: Offline Signing Demo. There's another example aimed at developers on Bitcoin.org: Offline Signing Example.

The problem with both methods is that you need to know the TXID of any payments made to the addresses corresponding to your offline keys, and current (December 2014) versions of Bitcoin Core don't make that easy. However, the next version of Bitcoin Core (0.10.0) will include watch-only address support. So you'll take that list of addresses you generated and use the new importadddress RPC command to add them to your wallet. The private keys will still be offline, but your online Bitcoin Core will track those addresses as if they were regular parts of the wallet. Then you'll be able to use the listunspent RPC to get the TXIDs and vouts for incoming payments without any extra work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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