Bitcoin Forum
November 11, 2024, 12:03:00 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: PaperBank - Generate Cold Storage *Coin Paper Wallet, Offline, with Rasp PI  (Read 4507 times)
makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 09, 2014, 11:20:44 PM
Last edit: August 25, 2014, 10:00:16 AM by makevoid
 #1

I did this project for myself as I didn't find an easy, affordable and offline way to generate paper wallets, I open sourced the project so you can easily get the hardware (a Raspberry PI and a USB thermal printer, that can be found both for < 60USD *) and make your own paper wallet generator! It's easy and useful!

Project Website

http://paperbank.it

default branch: bip38 (password protected wallet)

Introducing PaperBank.

Create paper wallet easily. Powered by Raspberry PI, linux and a USB thermal printer. An open software and cheap+open hardware DIY (simple, promised!) solution. It supports: bip38 (password protected wallets), vanitygen, standard bitcoin wallets. Litecoin, Dogecoin, Namecoin are already there and other currencies can be easily added, ask for one and I'll do it.

Your personal, offline Bitcoin Paper Wallet Generator

 http://uploads.makevoid.com/paperbank_final.png


youtube: https://www.youtube.com/watch?v=CUM51acMHJY


github: https://github.com/makevoid/paperbank
If you can't donate but you want support PaperBank, please star the repo Smiley


I think paper wallets are great for both cold storage and bitcoin adoption.

With PaperBank you can generate safer paper wallet that are printed in multiple copies. You can easily store the password protected keys in a standard deposit box, you can give copies to friends and relatives in various places and you can physically mail them with much less risk of unwanted use


---

notes:

I was inspired by this awesome project by @spearson78 on github, that was a similar arduino based solution:
https://github.com/spearson78/paperwallet - video: https://www.youtube.com/watch?v=noW77GqmNBQ - I would like to see if someone can make it compile for the new arduino version so it's usable on due and later boards, to be uploadable without overriding the bootloader and all via the arduino gui


notes on security:

PaperBank uses bitcoin-ruby gem that calls directly SHA256 and OpenSSL EC native C libraries, it's source can be found here: https://github.com/lian/bitcoin-ruby It's well maintained - because it's a massive library I will try to take just the keypair generation part out at some point.

notes for skeptics (security-wise):

Skeptics or not-interested in veryfing the level of security of ruby-bitcoin ruby library (gem) on how securely can generate addresses (standard or bip38) should use vanitygen branch and install a vanitygen (that we all hope it's a good) clean secure install themseves

---

* you need other parts like an sd card, a good usb power adapter, cables, hdmi adapter and monitor - as glitch003 said, if you don't have them, the price will increase!

You can donate some mBTC to support the project development: 1PBank95kE4BZaQBfMsGZ3RCkqwwtGHjKA
jeroenn13
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500



View Profile
August 09, 2014, 11:38:14 PM
 #2

Would be helpful to alot of people on this forum.
Thanks.

..bustadice..         ▄▄████████████▄▄
     ▄▄████████▀▀▀▀████████▄▄
   ▄███████████    ███████████▄
  █████    ████▄▄▄▄████    █████
 ██████    ████████▀▀██    ██████
██████████████████   █████████████
█████████████████▌  ▐█████████████
███    ██████████   ███████    ███
███    ████████▀   ▐███████    ███
██████████████      ██████████████
██████████████      ██████████████
 ██████████████▄▄▄▄██████████████
  ▀████████████████████████████▀
                     ▄▄███████▄▄
                  ▄███████████████▄
   ███████████  ▄████▀▀       ▀▀████▄
               ████▀      ██     ▀████
 ███████████  ████        ██       ████
             ████         ██        ████
███████████  ████     ▄▄▄▄██        ████
             ████     ▀▀▀▀▀▀        ████
 ███████████  ████                 ████
               ████▄             ▄████
   ███████████  ▀████▄▄       ▄▄████▀
                  ▀███████████████▀
                     ▀▀███████▀▀
           ▄██▄
           ████
            ██
            ▀▀
 ▄██████████████████████▄
██████▀▀██████████▀▀██████
█████    ████████    █████
█████▄  ▄████████▄  ▄█████
██████████████████████████
██████████████████████████
    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
       ████████████
......Play......
Dabs
Legendary
*
Offline Offline

Activity: 3416
Merit: 1912


The Concierge of Crypto


View Profile
August 09, 2014, 11:58:04 PM
 #3

How is this different from PiperWallet?

makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 10, 2014, 12:04:40 AM
Last edit: August 10, 2014, 11:03:20 AM by makevoid
 #4

@Dabs Hi, I didn't know about PiperWallet when writing PaperBank, seems nice!

As far as I can see from a quick look, PiperWallet uses a serial thermal printer and command it via Adafruit Thermal printer library, programming language used: python.
I'm not trying to sell the printer nor the rasp or an SD card with some data installed.
Of course In this case there's an installation procedure to do that at the moment involves typing some commands in the rasp pi terminal.

PaperBank instead uses very cheap linux compatible common thermal printers than can be found on amazon or aliexpress bringing the total cost of the setup to ~60USD (you'll find direct links to parts on github's project readme), programming language used: ruby.


A feature request I received is the ability to use it to generate other coin wallets like Lites, Doges etc... I am looking into this and testing bip38 implementation.

Stay tuned!


edit: if you don't have a RPi, you can test the main branch on your linux box, I've made few commits to the vanitygen branch, it's now able for testing: https://github.com/makevoid/paperbank/tree/vanitygen

http://uploads.makevoid.com/paperbank_vanitygen_branch.jpg

note the 1PBank.....KA address
imnotzorg
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
August 10, 2014, 02:03:28 AM
 #5

PiperWallet is basically the same thing, except it's nicely packaged in a plug-and-play product.

The list price for Raspberry Pi is $35, the price for the thermal printer like the PiperWallet is $50.  So the total is more like $85, plus you will also need:
  • A HDMI monitor
  • A HDMI cable
  • A USB keyboard
  • A USB mouse
  • A power supply (PiperWallet includes this)
  • A case (PiperWallet includes this)
  • Archival quality thermal paper (PiperWallet comes with 4 rolls)

If you're going to DIY, one thing to avoid is eBay power supplies; fake 5V 2A USB chargers are rampant on eBay, and they will not work with the raspi.  Sparkfun has quality power supplies that will work (https://www.sparkfun.com/products/12890).
makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 10, 2014, 02:21:13 AM
Last edit: August 10, 2014, 03:11:54 AM by makevoid
 #6

Hi @imnotzorg

you are right! PiperWallet comes with a nice pre-packaged solution containing everything

my idea with PaperBank is to reduce costs of the paper wallets to who already has stuff like keyboard, mouse, usb cable, usb power adapter (of a phone maybe), monitor ....

I don't know in your area but I got everything for 60 USD, the Rasp Pi (v1 is sufficient) I bought it on element14 for 19 Eur => $25, The printer is free shipping from a chinese store found on aliexpress: http://www.aliexpress.com/item/Barcode-scanner-and-58mm-printer-USB-mini-thermal-receipt-printer-ticket-pos-portable-laser-printers-freeshipping/1544271573.html ($35) it arrived in about 3 weeks and It worked really well. The good thing about this thermal printer is powered externally, is USB (you can use it for other projects, to print qrcodes and stick them to object) and it's very fast to print, I didn't expect that!

Oh also on ali you can get really cheap thermal paper: http://www.aliexpress.com/w/wholesale-thermal-paper.html?SearchText=thermal%2Bpaper&CatId=0&shipCountry=it&SortType=price_asc&filterCat=211202,100003755,211203&groupsort=1
You will need those if you print a lot of wallets like me (for testing & to give it to friends and such)


edit: also for casing there is some free space under the printer so the raspberry could fit there, I will see if with sketchup and a 3d printer I can come up with something

---

the thing that attracted me the most when I bought the printer was the ability to use it from linux. In Linux they say everything is a file right? And what's the best real life representation of file? a printed piece of paper of course!  

echo "hello printer" > /dev/usb/lp1

prints hello printer text

cat example.txt > /dev/usb/lp1

prints the text contained in example.txt

maybe it's just that I'm too nerd but I find it awesome Smiley


---

edit2:  Litecoin, Freicoin, Namecoin support has been added!

you can use this branch if you want to generate other addresses than Bitcoin's https://github.com/makevoid/paperbank/tree/lite

By default it generates Litecoin addresses, but you can easily change it if you look at the code in paperbank.rb

Dogecoin will be the next! Everything will be in main branch (and master) at some point!
bigasic
Hero Member
*****
Offline Offline

Activity: 924
Merit: 1000



View Profile
August 10, 2014, 03:26:58 AM
 #7

So, what would I need? do you sell me everything (minus the printer)for how much? You might want to bulk buy the printers and have an all in one solution. But can you just print it on any laser printer? if so, that would work..
makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 10, 2014, 03:52:40 AM
 #8

It's a DIY project, you must buy the stuff yourself (some buy links are in the readme), you also need to setup the Raspberry PI yourself (or another linux box you can keep offline). I'm not selling Rasp Pis, printers or anything!

The source is open: https://github.com/makevoid/paperbank you can inspect it, change it, start a new project form it

I just released a beta of the Dogecoin version: https://github.com/makevoid/paperbank/tree/doge
(this code should suffice as an example, if you want to implement other coins)

I don't get any return from this so tip me some BTC to: 1PBank95kE4BZaQBfMsGZ3RCkqwwtGHjKA
if you can, it will be really appreciated!
Dabs
Legendary
*
Offline Offline

Activity: 3416
Merit: 1912


The Concierge of Crypto


View Profile
August 10, 2014, 02:22:44 PM
 #9

@makevoid,

In that case, requesting permission to get your work, get the printers and other hardware, package it, and sell. It will be cheaper than Piper. They need the competition.

Not that I'd do it though, maybe someone else will.

cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
August 10, 2014, 03:35:32 PM
 #10

@makevoid,

In that case, requesting permission to get your work, get the printers and other hardware, package it, and sell. It will be cheaper than Piper. They need the competition.

Not that I'd do it though, maybe someone else will.
This might be a project I can use in the Philippines.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 10, 2014, 03:36:25 PM
 #11

I think anybody can build a kit and resell it, if you do it, just don't use the PaperBank project name for your project.


If you want to use the source code I provided, you are free to do it, you can fork the project, modify it and you are welcome to submit patches for modifications to be merged on the main branch. I ask you just to link back to the paperbank github project page in your website and/or project's code.

--

personal thoughts:

I would rather order the Rasp Pi or similar board myself from a popular manufacturer/distributor like element14, olimex, [insert manufacturer here] and installing all the software myself instead of trusting any other third party that can install other datas or provide hardware modifications that can impact the security of the key generation algorythm.

In fact I also suggest to try the vanitygen branch (you can find there a simple implementation using c vanitygen) that's available right now in the PaperBank source code.

I think I will link/incorporate other wallet generators based on other kind of implementations like the one in bitcoin core and armory. Then some others standalone key generators made in languages like python, go, node and other. I think that diversifying the implementations, will make the address generation more safe to controlled seed generation attacks.
makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 11, 2014, 03:40:43 PM
 #12

this is the reddit post regarding PaperBank: http://www.reddit.com/r/Bitcoin/comments/2d3z80/paperbank_an_offline_paper_wallet_solution/

If you want to ask some questions or ask for some improvements / useful new features, please feel free to do so here or there.  Wink
Dabs
Legendary
*
Offline Offline

Activity: 3416
Merit: 1912


The Concierge of Crypto


View Profile
August 12, 2014, 12:59:57 AM
 #13

Yes, thanks for that. Seems a few people are going to do it. If I do it, I will not even use a name and just call it a generic bitcoin paper wallet generator, and probably sell it for $80~$100 USD equivalent. (I'm also in the Philippines, I think the price has to not exceed 3,500.00 PHP or else no one is going to buy it.)

makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 12, 2014, 08:28:15 AM
 #14

Awesome, If you do so just link to the original github repo, and please donate, improve the code/documentation or just star the repo. Thanks!
Svetla998XZ
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
August 12, 2014, 12:01:40 PM
 #15

Nicely done Smiley Wouldn't it be better if you buy like 10 printers and offer a packed solution? You can go to a crowdfunding website if you don't think that any donations done so far will cover all the costs. Just an idea.
makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 12, 2014, 09:30:25 PM
 #16

Nicely done Smiley Wouldn't it be better if you buy like 10 printers and offer a packed solution? You can go to a crowdfunding website if you don't think that any donations done so far will cover all the costs. Just an idea.

Thanks, I would like to do it but at the moment I've almost no time to do this kind of stuff, I would prefer to hack and fix code instead.
I just would like that people open this page: https://github.com/makevoid/paperbank/ (get a free github account if you don't have it) and give a star to the paperbank project, period Smiley I will be immensely grateful to who can support this open source project with this simple action. Thanks! Smiley
keithers
Legendary
*
Offline Offline

Activity: 1456
Merit: 1001


This is the land of wolves now & you're not a wolf


View Profile
August 13, 2014, 03:40:33 PM
 #17

Thanks for this, I will check it out. Was looking for a new way to make paper wallets Smiley
BitCoinDream
Legendary
*
Offline Offline

Activity: 2394
Merit: 1216

The revolution will be digital


View Profile
August 13, 2014, 03:55:26 PM
 #18

@makevoid,

In that case, requesting permission to get your work, get the printers and other hardware, package it, and sell. It will be cheaper than Piper. They need the competition.

Not that I'd do it though, maybe someone else will.
This might be a project I can use in the Philippines.

I am thinking the same for India Wink

makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 15, 2014, 02:20:48 AM
Last edit: August 15, 2014, 07:17:20 PM by makevoid
 #19

Big Update:


BIP38 wallet (with password protected private key) support added!

You can now generate safer paper wallet that are printed in multiple copies. You can easily store the password protected keys in a standard deposit box, you can give copies to friends and relatives in various places and you can physically mail them with much less risk of unwanted use (you have to switch to bip38 branch)



Webpage with more pictures, more complete installation instruction on both linux (debian based) and rasp pi's raspbian.

http://paperbank.it

Webpage contains open Bill of Materials, you can  update the table with your data!


Bounty of 5 mbtc for the first who guesses the password and withdraws the money from the paper wallet shown in the website at pages Potos and BIP 38 (very easy)

edit: hint: password starts with p and finishes with k Cheesy

oh it was already been found: https://blockchain.info/address/1F9LXRoHdgwQEMHumfVQGUaMXRDSWPkg6M congratz!


edit2: site is under redesign process: http://paperbank.it
  
makevoid (OP)
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile WWW
August 23, 2014, 02:37:15 AM
Last edit: August 23, 2014, 02:52:05 AM by makevoid
 #20

I'm interested in implementing one of the following features, anyone chose which features will be implemented first just by commenting to this post, features are:

- installation guide & patch for mac osx
- stellar address integration (internet connection required for the address creation - no offline mode for that)
- other coin integration (name your coin)
- installation video on rasp-pi


you can also suggest other features that can be added to the list if they are good ideas!
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!