Author

Topic: RPi Zero Physical Wallet (personal project) (Read 244 times)

legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
November 29, 2019, 09:00:19 AM
#7
Have you made any progress with this?
I have been stuck on my RPi project getting some things to work and decided to take a week or so away from it to stop driving myself nuts.

Everything seems so simple till you actually start doing it.
Then...less simple.

-Dave
legendary
Activity: 1134
Merit: 1118
October 23, 2019, 09:48:48 AM
#6
Small update - after a silly amount of configuration required to get my RPi Zero able to receive an internet connection over micro-USB, and an even sillier amount of configuration required to get all my packages running, I've got the Python bit package running successfully. Pretty tight for storage right now - all in all I'm using 1.8GB of my 2GB microSD card that's being used as secondary storage for it!

(obviously when this wallet is 'ready' for use, the RPi will be wiped completely and only the completed software will be placed on it, and it won't be connected to the internet anymore)

All I've done so far after that is confirmed that private key generation works and that you can get an address from it:



But I'm ready to make actual progress on this project now so stay tuned Smiley
legendary
Activity: 1134
Merit: 1118
October 18, 2019, 03:35:31 PM
#5
It's a little dusty but I found my old soldered RPi Zero + bonnet and so I quickly whipped up a menu as a kind of concept for what I plan for it to look like.

https://streamable.com/8xbkk

Planning for the following behaviour:

- When started the software will check to see if there's already an address saved. If there isn't one it will generate it and give the user its appropriate seed phrase. It will also prompt the user to enter a passphrase which will be used to encrypt the file on the device containing the wallet's private key.
- To begin with this wallet will only be designed to use one address at a time. Mainly trying to avoid having to display multiple addresses on a tiny 128x64 screen.
- There will be only four options:
1. Receive - shows the Bitcoin address currently loaded onto the cold wallet
2. Sign (called Send in the video) - planning to have this option scan for a file in the device's home directory which will contain details of an unsigned transaction, and sign it appropriately. I'll need to decide how the user creates this unsigned transaction file, which they'll then need to load onto the microSD card used by the RPi. Will require the user to type in their passphrase to sign, of course.
3. Passphrase - will allow the user to change their passphrase
4. Generate New - after entering the user's passphrase, will allow the user to generate a new address, which will overwrite the old one (obviously there will be warnings about this).

This is more of a personal project and so I'm not planning on putting a lot of features into this, it's more supposed to be a cool gadget than something I expect to use to store a lot of Bitcoin on. If you guys see any issues with those options let me know, I'm a bit rusty as I've been out of the community for quite a while.
legendary
Activity: 1134
Merit: 1118
October 17, 2019, 02:35:01 PM
#4
Interesting project, do you plan to add battery pack since you use word "Physical Wallet" ?

pywallet hasn't been updated in a year, so you might want to try other library such as https://github.com/ofek/bit.
It's easy to use (even though i never try cold storage feature) and claim to be fastest Bitcoin library.
You can easily hook up an RPi Zero to a battery pack. I probably won't fuss around with creating one to be attached to the physical wallet, because you can plug it into a portable charger at any time and get the same effect.

Thanks for the suggestion on the improved library, it looks really good so I will try that instead!
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
October 17, 2019, 02:03:59 PM
#3
Interesting project, do you plan to add battery pack since you use word "Physical Wallet" ?

pywallet hasn't been updated in a year, so you might want to try other library such as https://github.com/ofek/bit.
It's easy to use (even though i never try cold storage feature) and claim to be fastest Bitcoin library.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
October 17, 2019, 08:48:29 AM
#2
Kind of goes nicely with what I am working on.

https://bitcointalksearch.org/topic/piper-wallet-v2-and-possible-remake-of-v1-5191398

Once you get it up I might mod the case to include a display once I work out everything else.

-Dave
legendary
Activity: 1134
Merit: 1118
October 17, 2019, 06:24:24 AM
#1
Hey everyone,

I've had a Raspberry Pi Zero and a 128x64 OLED display for it hanging around for a little while so I'm thinking of making an implementation of a Bitcoin wallet for it!

For those who don't know, the Adafruit 128x64 OLED display looks like this (stock image)



I've already soldered it onto my RPi Zero as I was tinkering with it previously, but as I'm at university right now and my RPi Zero is at home, I won't be able to take a picture of my actual version until this weekend.

The RPi Zero I have right now is using a microSD card with Raspbian installed on it. Adafruit's display libraries use Python, so I'm planning to modify a light-weight Bitcoin wallet such as pywallet, to use as a form of cold storage that can be navigated using the joystick and buttons.

Obviously when I'm done with this project I'll upload the Bitcoin wallet onto github or something similar.

Feel free to watch this thread if you want updates, low-effort spammy stuff will be deleted - i.e. if I feel you're just farming posts rather than offering ideas or feedback Smiley
Jump to: