Bitcoin Forum
May 11, 2024, 01:32:00 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: A lightweight BTC/LTC deterministic wallet manager, suitable for offline use  (Read 2860 times)
salfter (OP)
Hero Member
*****
Offline Offline

Activity: 651
Merit: 501


My PGP Key: 92C7689C


View Profile WWW
January 08, 2013, 10:51:24 PM
Last edit: May 14, 2013, 08:43:29 PM by salfter
 #1

The idea here 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 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).

Tipjars: BTC 1TipsGocnz2N5qgAm9f7JLrsMqkb3oXe2 LTC LTipsVC7XaFy9M6Zaf1aGGe8w8xVUeWFvR | My Bitcoin Note Generator | Pool Auto-Switchers: zpool MiningPoolHub NiceHash
Bitgem Resources: Pool Explorer Paper Wallet
1715391120
Hero Member
*
Offline Offline

Posts: 1715391120

View Profile Personal Message (Offline)

Ignore
1715391120
Reply with quote  #2

1715391120
Report to moderator
"The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715391120
Hero Member
*
Offline Offline

Posts: 1715391120

View Profile Personal Message (Offline)

Ignore
1715391120
Reply with quote  #2

1715391120
Report to moderator
salfter (OP)
Hero Member
*****
Offline Offline

Activity: 651
Merit: 501


My PGP Key: 92C7689C


View Profile WWW
January 08, 2013, 11:03:53 PM
 #2

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

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

Tipjars: BTC 1TipsGocnz2N5qgAm9f7JLrsMqkb3oXe2 LTC LTipsVC7XaFy9M6Zaf1aGGe8w8xVUeWFvR | My Bitcoin Note Generator | Pool Auto-Switchers: zpool MiningPoolHub NiceHash
Bitgem Resources: Pool Explorer Paper Wallet
salfter (OP)
Hero Member
*****
Offline Offline

Activity: 651
Merit: 501


My PGP Key: 92C7689C


View Profile WWW
May 01, 2013, 05:15:55 PM
 #3

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

Tipjars: BTC 1TipsGocnz2N5qgAm9f7JLrsMqkb3oXe2 LTC LTipsVC7XaFy9M6Zaf1aGGe8w8xVUeWFvR | My Bitcoin Note Generator | Pool Auto-Switchers: zpool MiningPoolHub NiceHash
Bitgem Resources: Pool Explorer Paper Wallet
salfter (OP)
Hero Member
*****
Offline Offline

Activity: 651
Merit: 501


My PGP Key: 92C7689C


View Profile WWW
May 01, 2013, 07:52:57 PM
 #4

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

Tipjars: BTC 1TipsGocnz2N5qgAm9f7JLrsMqkb3oXe2 LTC LTipsVC7XaFy9M6Zaf1aGGe8w8xVUeWFvR | My Bitcoin Note Generator | Pool Auto-Switchers: zpool MiningPoolHub NiceHash
Bitgem Resources: Pool Explorer Paper Wallet
salfter (OP)
Hero Member
*****
Offline Offline

Activity: 651
Merit: 501


My PGP Key: 92C7689C


View Profile WWW
May 14, 2013, 08:41:51 PM
 #5

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

Tipjars: BTC 1TipsGocnz2N5qgAm9f7JLrsMqkb3oXe2 LTC LTipsVC7XaFy9M6Zaf1aGGe8w8xVUeWFvR | My Bitcoin Note Generator | Pool Auto-Switchers: zpool MiningPoolHub NiceHash
Bitgem Resources: Pool Explorer Paper Wallet
salfter (OP)
Hero Member
*****
Offline Offline

Activity: 651
Merit: 501


My PGP Key: 92C7689C


View Profile WWW
May 14, 2013, 10:05:07 PM
 #6

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.

Tipjars: BTC 1TipsGocnz2N5qgAm9f7JLrsMqkb3oXe2 LTC LTipsVC7XaFy9M6Zaf1aGGe8w8xVUeWFvR | My Bitcoin Note Generator | Pool Auto-Switchers: zpool MiningPoolHub NiceHash
Bitgem Resources: Pool Explorer Paper Wallet
Pages: [1]
  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!