Bitcoin Forum

Bitcoin => Project Development => Topic started by: salfter on January 08, 2013, 10:51:24 PM



Title: A lightweight BTC/LTC deterministic wallet manager, suitable for offline use
Post by: salfter on January 08, 2013, 10:51:24 PM
The idea here (https://bitcointalk.org/index.php?topic=36445.0) of using a file to seed a deterministic wallet is clever, but the dependency on pywallet.py to convert hexkeys to something usable leaves something to be desired: it's rather slow at what it does, and it depends on Python libraries that you may or may not have on your computer.

This thread (https://bitcointalk.org/index.php?topic=23241.0) has some useful code for doing the conversions we need.

Mash the two together and you get this:

https://github.com/salfter/fillet/

In the current iteration, it includes a shell script that calls fillet.py and hex2wifaddr.py to retrieve an address or private key, given a seed file and an index.  If qrencode and ImageMagick are installed, you can have it throw a QR code up on your screen.  fillet.py is unchanged, but I'm thinking it wouldn't be much of a change to get it to call hex2wifaddr.py instead of pywallet.py.  I use a shell script (getkey.sh, included) to get a private hexkey from fillet.py and pass it off to hex2wifaddr.py with the appropriate options.

The use case I'm envisioning for this is to crank out an indexed list of addresses in a textfile; pull from this list as needed.  When you need the corresponding private key, you can call it up on a secure system (possibly an offline system).


Title: Re: A lightweight deterministic wallet manager, suitable for offline use
Post by: salfter on January 08, 2013, 11:03:53 PM
fillet.py is unchanged, but I'm thinking it wouldn't be much of a change to get it to call hex2wifaddr.py instead of pywallet.py.

...and it wasn't.  8)

https://github.com/salfter/fillet/commit/b7d8ad7d62b11fcc8bd698f3ec9618fd8a4ed3e8


Title: Re: A lightweight BTC/LTC deterministic wallet manager, suitable for offline use
Post by: salfter on May 01, 2013, 05:15:55 PM
Litecoin support has been added.  You can use the same seed file to produce a deterministic Bitcoin wallet and a deterministic Litecoin wallet, if you want.

https://github.com/salfter/fillet/commit/dc70fa55740ba3bb6d72981a86672d4ed5ace704


Title: Re: A lightweight BTC/LTC deterministic wallet manager, suitable for offline use
Post by: salfter on May 01, 2013, 07:52:57 PM
hex2wifaddr.py and hex2wifaddr_ltc.py have been consolidated into a single script that can decode hex addresses to either Bitcoin or Litecoin addresses:

https://github.com/salfter/fillet/commit/d92bbeb34d47d4cd58a255b6c110dd753f397a4b


Title: Re: A lightweight BTC/LTC deterministic wallet manager, suitable for offline use
Post by: salfter on May 14, 2013, 08:41:51 PM
Compressed address support has been implemented...now maybe I won't lose as much of my P2Pool earnings to transaction fees:

https://github.com/salfter/fillet/commit/10961b2a543c637a5d858ce6f7f327caf93c0076


Title: Re: A lightweight BTC/LTC deterministic wallet manager, suitable for offline use
Post by: salfter on May 14, 2013, 10:05:07 PM
A bulk-wallet generator script has been added:

https://github.com/salfter/fillet/commit/8229c706e7d55124f9dd49ee20171133519939c8

Dependencies on the original fillet.py script have been removed from the two shell scripts, as well.