gonzalobellino / ephemeralwallet

DYI Arduino Ethereum wallet for standalone private key generation (Non production grade at now)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ephemeral Wallet

DYI Arduino Ethereum wallet for standalone private key generation. This project it's for fun and in development, anyway the generated keys are good enough to be used

Tutorials and more information will be made available on Medium.

Why Arduino

Because is fun, cheap to build and we can generate a private key without a computer, internet or third providers.

Features

  • Private key generation ETH & BTC (Elliptic Curve Cryptography)
  • Wallet Address generation (ETH)

Future features

  • PrivateKey importer: A command line tool por recovering your private key from the Arduino Board (with user agreement)
  • Save PrivateKey in to EEPROM memory
  • Low battery detection

Pending issues

  • Auditing FireFly and Entrophy libraries used in this project.

Materials needed

Part Cost
Arduino board 2560 $40.30
LCD 16x2 I2C $2.40
IR receiver + RC $5
6-cell AA Battery holder $2.5

Optional enhancements

  • You can replace the LCD 16x2 I2C with LCD 32x2 I2C or another diplay part. This replacement will enhance the user expirience showing in a one page all characters of private key generated (64 characters)

Supported Boards

  • Just tested with Arduino Mega

Sketch board model

diagram

Usage

Once uploaded if posible view a little menu on lcd screen. This is a list of remote control keys with functional actions:

  • Key 1: Private Key generation
  • Key 2: View last private key generated
  • Key 3: View ethereum address
  • Key 6: View free memory
  • Key *: Go to main menu
  • Key Arrow down: Show the next 32 characters of private key
  • Key Arrow up: Show the first 32 characters of private key

Futher information about usage will be found soon in this page https://medium.com/@gonzalobellino

Installation

prerequires

Arduino visual editor like this https://create.arduino.cc/editor or a command line client arduino-cli

Procedure using command-cli

git clone https://github.com/gonzalobellino/ephemeralwallet.git
cd ./arduino

arduino-cli config init
arduino-cli sketch new EphemeralWallet
arduino-cli core update-index
arduino-cli board list
arduino-cli core install arduino:avr
arduino-cli lib install "LiquidCrystal I2C"
arduino-cli lib install IRremote 

arduino-cli compile --fqbn arduino:avr:mega EphemeralWallet.ino --libraries ./libraries --verbose -b arduino:avr:mega

arduino-cli upload -p COM3 --fqbn arduino:avr:mega -t -i EphemeralWallet.ino.arduino.avr.mega.hex

  

Futher information about usage will be found soon in this page https://medium.com/@gonzalobellino

Unvaluable libraries

This idea was possible with this libraries


Contact

Linkedin: https://www.linkedin.com/in/gonzalo-bellino-1a1877150/

About

DYI Arduino Ethereum wallet for standalone private key generation (Non production grade at now)

License:GNU General Public License v3.0


Languages

Language:C++ 86.9%Language:C 9.7%Language:NASL 3.5%