praline

Bitcoin hardware wallet


License
MIT
Install
pip install praline==0.0.7

Documentation

Praline

Praline is a Raspberry Pi based Bitcoin hardware wallet.

The Praline hardware wallet

Requirement

You will need:

  • Raspberry Pi 2/3 DOES NOT work because they cannot work in USB gadget mode.
  • You can go without the OLED and the buttons, and let this hardware wallet create and sign the transactions without confirmation.
  • You might also need this if your Raspberry Pi Zero doesn't come with the 2x20 pins, and you will have to solder this manually.

Installation

The following steps should be done on the Raspberry Pi Zero. Note: The Praline can work offline, but you will need internet access during the installation.

Run as an USB serial gadget

sudo vi /boot/config.txt
# Add "dtoverlay=dwc2" as the last line
sudo vi /boot/cmdline.txt
# Add "modules-load=dwc2,g_serial" after "rootwait"

Read this for detail instructions, but stop after finish step 1, DO NOT enable logging in service on the serial port.

Enable I2C

Enable kernel support from the Raspberry Pi config tool

sudo raspi-config
# 5 Interfacing Options -> P5 I2C

Read this for detail instructions. Note: the location of I2C was changed, see above.

Install Python scripts

You can install Praline with pip

sudo pip install praline

or install from source

git clone https://github.com/zhouer/Praline
cd Praline
sudo pip setup.py install

Run scripts at system boot

You can setup running the Python script at system boot by adding it into /etc/rc.local

sudo vi /etc/rc.local
# Add a line "/usr/local/bin/praline &" before "exit 0"

All done

Un-plug all micro-USB cords, and plug one micro-USB cord back to the USB (NOT PWR IN) port. It will take about 30 seconds to boot into Linux and run the Python script.

Now, you will need the host-side application Praline-host to talk with the Praline.