Bitcoin Forum
April 29, 2017, 09:47:45 PM *
News: If the forum does not load normally for you, please send me a traceroute.
 
   Home   Help Search Donate Login Register  
Pages: 1 2 [All]
  Print  
Author Topic: PaperBank - Generate Cold Storage *Coin Paper Wallet, Offline, with Rasp PI  (Read 3690 times)
makevoid
Jr. Member
*
Offline Offline

Activity: 43


View Profile WWW
August 09, 2014, 11:20:44 PM
 #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

 


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

makevoid
github.com/makevoid
twitter: @makevoid
1493502465
Hero Member
*
Offline Offline

Posts: 1493502465

View Profile Personal Message (Offline)

Ignore
1493502465
Reply with quote  #2

1493502465
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1493502465
Hero Member
*
Offline Offline

Posts: 1493502465

View Profile Personal Message (Offline)

Ignore
1493502465
Reply with quote  #2

1493502465
Report to moderator
1493502465
Hero Member
*
Offline Offline

Posts: 1493502465

View Profile Personal Message (Offline)

Ignore
1493502465
Reply with quote  #2

1493502465
Report to moderator
1493502465
Hero Member
*
Offline Offline

Posts: 1493502465

View Profile Personal Message (Offline)

Ignore
1493502465
Reply with quote  #2

1493502465
Report to moderator
jeroenn13
Hero Member
*****
Offline Offline

Activity: 602


★777Coin.com★ Fun BTC Casino!


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

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

Dabs
Staff
Legendary
*
Offline Offline

Activity: 1666



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

How is this different from PiperWallet?

Escrow Service (Services) - GPG ID: 32AD7565, OTC ID: Dabs
All messages concerning escrow or with bitcoin addresses are GPG signed. Please verify.
CompTIA A+, Microsoft Certified Professional, MCSA: Windows 10; Windows Server 2012, MCSE: Cloud Platform and Infrastructure; Productivity; Messaging
makevoid
Jr. Member
*
Offline Offline

Activity: 43


View Profile WWW
August 10, 2014, 12:04:40 AM
 #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



note the 1PBank.....KA address

makevoid
github.com/makevoid
twitter: @makevoid
imnotzorg
Newbie
*
Offline Offline

Activity: 2


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
Jr. Member
*
Offline Offline

Activity: 43


View Profile WWW
August 10, 2014, 02:21:13 AM
 #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!

makevoid
github.com/makevoid
twitter: @makevoid
bigasic
Hero Member
*****
Offline Offline

Activity: 770



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
Jr. Member
*
Offline Offline

Activity: 43


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!

makevoid
github.com/makevoid
twitter: @makevoid
Dabs
Staff
Legendary
*
Offline Offline

Activity: 1666



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.

Escrow Service (Services) - GPG ID: 32AD7565, OTC ID: Dabs
All messages concerning escrow or with bitcoin addresses are GPG signed. Please verify.
CompTIA A+, Microsoft Certified Professional, MCSA: Windows 10; Windows Server 2012, MCSE: Cloud Platform and Infrastructure; Productivity; Messaging
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1722

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
Jr. Member
*
Offline Offline

Activity: 43


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
github.com/makevoid
twitter: @makevoid
makevoid
Jr. Member
*
Offline Offline

Activity: 43


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

makevoid
github.com/makevoid
twitter: @makevoid
Dabs
Staff
Legendary
*
Offline Offline

Activity: 1666



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.)

Escrow Service (Services) - GPG ID: 32AD7565, OTC ID: Dabs
All messages concerning escrow or with bitcoin addresses are GPG signed. Please verify.
CompTIA A+, Microsoft Certified Professional, MCSA: Windows 10; Windows Server 2012, MCSE: Cloud Platform and Infrastructure; Productivity; Messaging
makevoid
Jr. Member
*
Offline Offline

Activity: 43


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!

makevoid
github.com/makevoid
twitter: @makevoid
Svetla998XZ
Newbie
*
Offline Offline

Activity: 4


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
Jr. Member
*
Offline Offline

Activity: 43


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

makevoid
github.com/makevoid
twitter: @makevoid
keithers
Legendary
*
Offline Offline

Activity: 1204


You're not a wolf & this is the land of wolves now


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: 1190

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
Jr. Member
*
Offline Offline

Activity: 43


View Profile WWW
August 15, 2014, 02:20:48 AM
 #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
github.com/makevoid
twitter: @makevoid
makevoid
Jr. Member
*
Offline Offline

Activity: 43


View Profile WWW
August 23, 2014, 02:37:15 AM
 #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!

makevoid
github.com/makevoid
twitter: @makevoid
yslyung
Legendary
*
Online Online

Activity: 1190


Mine Mine Mine


View Profile
August 24, 2014, 05:05:46 AM
 #21

Great project.  I have a spare rpiv2 laying around. Will navi around site n see what i can do with it.
+1 thumbs up to op for sharing his work towards the community. We need more guys like him.
glitch003
Full Member
***
Offline Offline

Activity: 216


View Profile
August 25, 2014, 12:25:56 AM
 #22

Hi, I'm the creator of Piper Wallet, now part of Cryptographi, Inc (http://cryptographi.com).  I'm glad to see other people working in this space!

I just want to point out that Piper Wallet is and has always been open source (GPLv3), and we've encouraged users to build their own units from day 1 in July 2013. 

We provide the source on our github: https://github.com/piperwallet/Piper
And we also provide full SD card images, so if you already have an SD card and an RPi you don't need to buy anything: http://piperwallet.com/sdimages/

I also want to point out that the OP is being a bit disingenuous when he claims that you can build a "PaperBank" for $60, because he's leaving out critical components that are required to even turn the RPi on.

  • Raspberry Pi Model B - $35
  • USB thermal printer from aliexpress (linked by OP): $37
  • High quality SD card that isn't prone to corruption - $12
  • 2a USB Power supply (linked by user 'imnotzorg' above) - $6
  • Thermal paper for your printer (cheapest I could find on amazon, 10 rolls) - $10

Those items are required just to get the Raspberry Pi running and printing.  Not to mention that all those items come from separate online stores and all have associated shipping costs.  Assume it costs $10 total to ship all the items listed above and you're already at $110

I'm excited to see other people working on paper wallets, but it's a bit disappointing that OP didn't do a bit more searching when starting the project.  Piper supports all the features OP is working on (and a lot more!) so it would have been great to put that development effort into something that hasn't already been done. 
Vortex20000
Hero Member
*****
Offline Offline

Activity: 504

sucker got hacked and screwed --Toad


View Profile WWW
August 25, 2014, 01:26:07 AM
 #23

What's the reason this is on Rasp Pi? Is it more secure?


Dabs
Staff
Legendary
*
Offline Offline

Activity: 1666



View Profile
August 25, 2014, 01:52:42 AM
 #24

I'm guessing they are on RPis because:

1. They are small little computers.
2. They are relatively cheaper than your average desktop or laptop.
3. You're supposed to keep it offline.

Escrow Service (Services) - GPG ID: 32AD7565, OTC ID: Dabs
All messages concerning escrow or with bitcoin addresses are GPG signed. Please verify.
CompTIA A+, Microsoft Certified Professional, MCSA: Windows 10; Windows Server 2012, MCSE: Cloud Platform and Infrastructure; Productivity; Messaging
makevoid
Jr. Member
*
Offline Offline

Activity: 43


View Profile WWW
August 25, 2014, 12:01:54 PM
 #25

I just want to point out that Piper Wallet is and has always been open source (GPLv3), and we've encouraged users to build their own units from day 1 in July 2013.  

You are totally right, also with the price (I edited the main post) and my non-research Smiley !

I didn't research too much, I was driven by impulse when I started the project, I found this blogpost http://reed-printer.blogspot.it/2013/12/review-generic-5890-thermal-receipt.html, then the cheap model on aliexpress, ordered it in a rage-buy moment Smiley , forgot about it, printer arrived after a month or so, when it arrived I furiously throw some ruby code into a github project, tested it and used it to create my paper wallets, when I was finished then I made the draft video, created the website, then wrote this post.

I think it's good to have multiple implementations of the same project in different languages, using different libraries and different ways to generate keypairs.

I looked at your code at https://github.com/piperwallet/Piper.git and it's cool, I'm going to try it now!

I found that running the python code on Piper github (I'm no python expert!) I have the current issues/notes to make:
 you should put a link/instruction to install the required libaries like:

- https://github.com/adafruit/Python-Thermal-Printer - installed manually
- installed secretsharing from pip (pip install secretsharing), looks it changed so i had to change the import statement (
from secretsharing import SecretSharer ) and the lines calling it (find "Secret." replace line with --> secret = SecretSharer.from_printable_ascii(ttp) ) - repo (just for reference): https://github.com/rxl/secret-sharing/tree/master
- serializeBTC from here - https://github.com/zimage/python-bitcoinlib/blob/e9506aba6d53ad5bf760d67815d711a1c55b2557/bitcoin/serialize.py (same as above)
- get bip38 from https://github.com/nomorecoin/python-bip38-testing/blob/master/bip38.py ( " )
- pip install scrypt
- pip install bitcoin
- pip install pybitcointools

then I stopped because I noticed that I can't make Adafruit Thermal library work with my usb thermal printer by default, I should make a fork and work to support the generic usb thermal printer I have using python Serial library or by shelling out commands

I aso opened the update-v109.zip ( https://piperwallet.com/updates/ ) and there is a lot of functionality/manuals/documentation there! it should work almost everything out of the box (but needs) if you have this thermal printer.  such a work! much features! much impressed!  Shocked


ps I have a RPI model A that is slower but only 25 bucks - also really cheap sd card, but I don't save paper wallet backups there

makevoid
github.com/makevoid
twitter: @makevoid
Dabs
Staff
Legendary
*
Offline Offline

Activity: 1666



View Profile
August 25, 2014, 03:07:03 PM
 #26

I see this as some sort of competition, and in the end, this kind of activity benefits the users and adopters, and bitcoin as a whole (community, coin, protocol, etc.)

I think the OP is ... like those things that happen in science, developed independently, or discovered separately, the same or similar thing.

I remember creating my first design for a steam engine, then when I showed it to my older brother, he asked me if I just copied that from the encyclopedia. The design was original, but it was similar to an existing design invented 50 years ago. I was just a kid then, and there was no internet yet.

I've stopped creating new stuff, but I've gotten pretty good at searches. If there's something new out there, or something I don't know yet, I'm quite sure it can be found.

Escrow Service (Services) - GPG ID: 32AD7565, OTC ID: Dabs
All messages concerning escrow or with bitcoin addresses are GPG signed. Please verify.
CompTIA A+, Microsoft Certified Professional, MCSA: Windows 10; Windows Server 2012, MCSE: Cloud Platform and Infrastructure; Productivity; Messaging
glitch003
Full Member
***
Offline Offline

Activity: 216


View Profile
August 26, 2014, 07:52:46 PM
 #27


I think it's good to have multiple implementations of the same project in different languages, using different libraries and different ways to generate keypairs.


I definitely agree, and I think you have a great attitude about this.



I looked at your code at https://github.com/piperwallet/Piper.git and it's cool, I'm going to try it now!

I found that running the python code on Piper github (I'm no python expert!) I have the current issues/notes to make:

...


So there are a lot of random mods that I've done to Raspbian to get Piper to perform as best as possible.  I always figured people would just start from the SD image instead of starting from scratch.  I'll try and document the process to get everything running from a fresh raspbian install.


ps I have a RPI model A that is slower but only 25 bucks - also really cheap sd card, but I don't save paper wallet backups there

Did you pick it up recently?  I haven't been able to find Model A's for $25 for a few months now, it's been sold out at all the official RPi distributors. Sad I think they were going to do a new production run of them soon so maybe that happened?



I see this as some sort of competition, and in the end, this kind of activity benefits the users and adopters, and bitcoin as a whole (community, coin, protocol, etc.)


I definitely agree with this :-D

Pages: 1 2 [All]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!