No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
praline
.gitignore
LICENSE.txt
MANIFEST.in
README.rst
praline.jpg
setup.cfg
setup.py

README.rst

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.
  • The hardware wallet will approve transactions automatically if the OLED and the buttons are not available.
  • 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

The Praline talks to the host through USB serial interface

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.