Author

Topic: Tutorial: Sending Armory transactions with QR codes and webcams (Read 507 times)

pf
full member
Activity: 176
Merit: 105
Transferring Armory transactions between offline and online computers using a USB key is risky, as was discussed in greater detail on this thread. A much safer approach is to transfer the transactions using QR codes and webcams.

The question is how you do that. One would think that you could just use software like QtQR, using a single QR code for a single transaction. That didn't work for me because a QR code containing a whole Armory transaction was too complex for the webcams to handle. The webcams had a hard time focusing in on those complex QR codes. I guess I could have manually divided the transaction manually into multiple simple QR codes, but that would have been very tedious. Thankfully, I found software that automates this process: Eye-Fi (https://github.com/anderson-/Eye-Fi). In this tutorial, I will teach you how to get Eye-Fi up and running.

I have tested these steps for Ubuntu 14.04 LTS, but I suppose they will work with other systems as well.

First, here are the steps to get Eye-Fi onto your offline computer:

  • On a virtual machine (or a real machine if you want) that is allowed to connect to the internet, do a clean install of the same system that is on your offline computer. In my case, that is Ubuntu 14.04 LTS.
  • On this fresh online system, download the Python script apt-get-offline-download.py by Alan Reiner (the originator of Bitcoin Armory).
  • On the Terminal, run sudo apt-get update followed by python apt-get-offline.py default-jre default-jdk ant
  • Archive the resulting folder of .deb files and call it eyefi-dependencies.tar.gz
  • On the Terminal, run wget https://github.com/anderson-/Eye-Fi/archive/master.zip
  • Burn the archives eyefi-dependencies.tar.gz and master.zip onto a CD, eject the CD, insert the CD into your offline computer, extract the archives on your offline computer, eject the CD, and destroy the CD beyond recovery.
  • On your offline computer, use sudo dpkg -i *.deb within the extracted folder containing the .deb files to install all the Eye-Fi dependencies on your offline computer.
  • To run Eye-Fi on your offline computer, simply go into the Eye-Fi-master folder on the Terminal and type ant -f build.xml run

On your online Ubuntu computer, you just have to do sudo apt-get update followed by sudo apt-get install default-jre default-jdk ant, download Eye-Fi with wget https://github.com/anderson-/Eye-Fi/archive/master.zip and run it with ant -f build.xml run.

So now you have Eye-Fi running on both the online and offline computers. Using the software is very easy and straightforward, so there's no need for me to explain it here. All you have to do is select which computer receives files and which sends files, and as you know, Armory allows you to export signed and unsigned transactions to files. So it's all very easy. It worked brilliantly for me. Enjoy!
Jump to: