How to Build an EOS Hardware Wallet: A Step-By-Step Guide

LiquidEOS
6 min readAug 12, 2018

--

An open-source EOS Hardware Wallet, brought to you by LiquidEOS & Scatter.

LiquidEOS partnered with Scatter to create the first-ever Open-Source EOS Hardware Wallet!

Secure cold storage of EOS is one of the biggest priorities for the EOS ecosystem right now. So we are thrilled to release this step-by-step guide on building your own EOS hardware wallet. This is the first of many releases by the LiquidEOS team as we build out an EOS R&D hub in Israel, partnering with local teams to accelerate dApp and open-source development on EOS.

Please read this entire guide before building the hardware. This is a Do-It-Yourself Wallet, meaning let’s get handy!

The total cost of all the materials, including the case, is roughly $41 (shipping cost may vary, micro USB cable not included).

Comparison:
- TREZOR120 MHz 32-bit ARM CPU, 128x64 OLED, 2 buttons: $99.99
- LiquidEOS & Scatter DIY EOS Wallet 1GHz 64/32-bit ARM CPU, 128x64 OLED, 7 buttons: $41

Disclaimers:

  1. Your Private Key safety is as strong as your wallet password.
  2. Importing the seed phrase is not supported yet.
  3. No hardware encryption yet.
  4. We are going to add encryption with a second key — entered in the Scatter Desktop App.
  5. The transaction details info is currently trusted by the Scatter Desktop App. ( This will be fixed in future releases)
  6. Only one Keypair is currently supported.
  7. This is an alpha. Do not use this wallet for your “owner” keys. Please wait a while before using it on Mainnet until we and the community test it a little more.

Let’s get started! :)

Step 1: Purchasing Necessary Wallet Materials

Materials for your DIY Wallet can be found on Adafruit & Amazon:

  1. OLED Bonnet Pack for Raspberry Pi Zero — Includes Pi Zero W — $34.95
OLED Bonnet & Raspberry Pi Zero W

2. Kingston Canvas Select 16GB microSDHC — $5.99

Kingston 16GB MicroSD Card

Tools needed:
Fine tipped Soldering Iron and Ultra Thin Rosin Core Solder

For people who don’t feel comfortable with soldering:
Raspberry Pi Zero WH (pre-soldered pins)
Adafruit OLED Bonnet (OLED without the Pi)

Step 2: Hardware Assembly Instructions

Adafruit 128x64 OLED Bonnet for Raspberry Pi (Top Left) Break-away 0.1" 2x20-pin Strip Dual Male Header (Top Right) Raspberry Pi Zero W (Middle Right) Adafruit Pi Zero Enclosure (Bottom Left & Right)
  1. Solder the Break-away 0.1" 2x20-pin Strip Dual Male Header to the bottom of the Raspberry Pi Zero W. Cut excess metal form bottom of Pi Zero (if needed)

Soldering the PiZero: 0:37

Soldering the PiZero
Soldering to the bottom of the Raspberry Pi Zero W to the Break-away 0.1" 2x20-pin Strip Dual Male Header

2. Since the OLED Bonnet is pre-soldered, delicately attach the bottom to the pin strip on the top side of the Raspberry Pi.

Attaching OLED Bonnet and Raspberry Pi using the Dual Male Header

3. After pins are secure, gently arrange the bottom of the Adafruit Pi Zero Enclosure to snap in the Pi and clear plastic section of the enclosure.

Snapping the Raspberry Pi board to the Enclosure

Step 3: Software Setup Instructions

Part A: Mounting the Operating System

  1. Download and Extract image file
  2. Flash the img file to your MicroSD Card
  3. Delicately install the Flashed MicroSD Card into the Pi board and plug a Micro USB cable into USB slot on the Pi (left slot) on Raspberry Pi.
Install MicroSD Card into Hardware.

4. On PC, install Bonjour by installing Quicktime or iTunes

5. Install latest Scatter Desktop or follow the “running in development” section in https://github.com/GetScatter/ScatterDesktop

6. Using the joy stick and #6 button, choose a password on the Hardware Wallet and write down seed words. Click “down” to see see the second ‘button row’.

Please Note: The “Enter” button (“!”) and the “backspace” button (“<”) are in the second row of buttons.

Enter a password and click “down” on joystick for more characters
Click “down” on the joystick to enter the second ‘button row’ and see the “Enter” button (“!”) and the “backspace” button (“<”)

7. In Scatter Desktop App, add a keypair by following→ under “Blockchains” → under “Accounts” → Click +→ Click “Import” → Click “Hardware” → Click “Import Hardware Key”→ Choose a name → Click “Save Keypair” (Hint: make sure your Wallet is still Unlocked)

Adding a Keypair
When Wallet is unlocked, your Public Key displays

Part B: Setting up the Network

In Scatter Desktop App, add a keypair by following→ under “Blockchains” → under “Network” → Click +

  1. Name: Jungle
  2. Host: dev.cryptolions.io
  3. Port: 18888
  4. Click: “http”
  5. Click icon: “Fetch Chain ID”

Part C: Testing the Wallet

  1. Go to http://jungle.cryptolions.io/#account
  2. Choose an account name (follow detailed instructions on account name)
  3. Enter the same Key for Owner and Active Public Keys (Obtained when importing the Hardware Wallet Key in Scatter [Step 3.A.7])
Creat Account on Jungle

4. Go to http://jungle.cryptolions.io/#faucet and enter your account name and click “send coins”

Enter your account name and click, “Send Coins”

5. In Scatter Desktop App, follow →under “Blockchains” → under “Accounts” →Import Accounts: jungle→ Click “Fetch Accounts” → Click Active Account(+)

Adding the Jungle Account

6. Under the Transfer tab (above “Blockchains”) , send 1.0000 EOS to Recipient: “test”
7. Click “down” on joystick to see more details about the transaction.
8. Sign your first transaction on the Hardware Wallet!

Sign? Y N

Congrats, you’ve made your first DIY EOS Hardware Wallet!

LiquidEOS-Scatter DIY Hardware Wallet allows you to securely store your EOS. Advantages of hardware wallets include immunity to computer viruses that steal from software wallets. Also, the private key information will never be exposed to the working system and will be kept safe within the hardware wallet.

Check out the wallet in action:

See it working here!

Like this Hardware Wallet? Please Vote for LiquidEOS so we can keep providing amazing projects!

NEVER buy hardware components from ANYONE other than reputable manufactures directly.

Experts can make it for $13.68 using (not including case and cable):
Raspberry Pi Zero Version 1.3 — $5.00
TF Card 4GB 15MB/s 5MB/s Class6 4G — $3.94
0.96 inch IIC Serial White OLED Display Module 128x64 12C SSD1306 LCD Screen Board GND VCC SDA 0.96" OLED 12C for Arduino — $2.79
5-way Tactile Switch — $1.95

LiquidEOS — Powered by Bancor
Scatter
Special thank you to Eran Cohen from Bancor for soldering the Prototype!

Support & Source Code:

Feedback? Tips? Advice? Get in touch on Telegram with Adar at @adarblil or Beni at @benihakak We’d love to hear from you.

With love from LiquidEOS & Scatter.

--

--

LiquidEOS

EOS Block Producer in Israel with the goal of creating solutions to increase mainnet efficiency, security and scalability. EOS BP voting name: eosliquideos