using bip38 from bitcoin ruby gem to generate bip38 password protected paper wallets (private key starts with digit 6)
This repo contains all you need to run your bitcoin PaperBank! PaperBank is another way to say: cold storage paper wallet printer
- A Raspberry PI or similar mini and cheap linux box
- An USB Thermal Printer
- HDMI monitor, usb cable, usb power adapter (cellphone usb wall charger), sd card,
It's a DIY solution, you have to follow the installation procedures to install PaperBank on your Raspberry PI
Affordable: All for under ~ 60 USD
- Cold storage: because it remains offline
- Prints Paper wallets
and:
- Cheap! You can get everything (Rasp PI + Thermal printer + sd card + cables) for 60 bucks or so
- DIY
- Secure
You can then print wallets for yourself, or paper wallets where you deposit small amounts (ex: a buck or two) for friends that want to try bitcoin!
note: It doesn't provide a real banking "feature", just the generations of accounts (address/private key pairs), you have to apply phisical security measure to those wallets!
Donate to get password encrypted wallets sooner!
I will generate a vanity address soon. (todo: put this text at the end of Readme.md as well)
I will provide other generators support in the near future such as
- vanitygen
- HDW address generation
- another non bitcoin-ruby address generation lbrary
- a thermal printer that works with linux
the thermal printer I got (40USD or less)
rasp pi links:
- rasp pi
- cubieboard on aliexpress (should work the same, has better specs)
- olinuxino
This section has been moved to:
This is a much standard install, It works on Debian and should work on ubuntu (some apt package names may change)
For users: Coming soon.
For "hackers" that want it now:
Open "OSX CUPS webpage":http://localhost:631, add your usb thermal printer as Generic printer, then go into the code and change all the lines where the output is piped directly to usb (as it's possible in linux) [/dev/usb/ldX] to cups commands (you need to write contents to a file and then issue the print command passing that file as argument)
put something inside the the LAN hole so no-one can accidentally connect an ethernet cable, a piece of sponge will do in most cases, a chewing gum is a bit extreme and not recommended if you want to use that ethernet port again :)
check also VANITY branch for vanity address implementations
some milliBits so I can find time to improve this project:
Or fork it and improve it yourself!
- feature: Vanity address patch - add support for vanitygen [done by @makevoid - vanitgen branch - needs integration]
- feature: integration of other currencies [by @makevoid - Litecoin is in lite branch, Dogecoin is in doge branch + explanation on how to create a fork compatible with every currency]
- feature: BIP38 password protection - password protected private key
- bundle: docker image
- feature: add hardware button to rasp pi via GPIO
- feature: autolaunch everything, so you don't need an hdmi screen
- dependencies: try to remove imagemagick & rmagick requirements
- dependencies: remove bitcoin-ruby requirement by extracting code from it
- speed: printing speedup (manage memory more efficiently)
- speed: lower language optimizations
The more donations, the faster the features! Donations will be split to all the contributors, you may want to contribute starting from picking a todo above or with another idea! Forks & pull requests are very welcome.
See another project I did with some friends: http://donacoin.com - https://github.com/makevoid/donacoin A cryptocoin mining based donation system
Another one, not bitcoin related: http://thorrents.com - https://github.com/makevoid/thorrents
- why Paper Wallets?
They are very useful as cold storage, and there are many undiscovered usages of having btc in "banknotes" form.
You can print small banknotes (2mBTC - 20mBTC ~ 1 - 10 euro) and give it to your friends to let them try bitcoin.
You can have paper wallets with your funds
- why a thermal printer?
The ability to create fast and cheap paper wallets it's key. The thing is
- why Rasp - pi?
It's very cheap and widespread, you can use any linux box if you like, just remember to not connect it to the internet anymore
- why Mycelium is used in the video?
You can use whichever wallet you prefer, blockchain, coinbase [insert your favourite wallet here] I found mycelium to be pretty straightforward in terms of cold storage, for maximum security you should always sign transactions offline :)
- why Ruby?
It was very fast to implement and to tinker with, you can go and rewrite it in your own favourite language.