Author

Topic: cwallet - Lightweight wallet reader to extract address & private key pairs (Read 2862 times)

newbie
Activity: 12
Merit: 0
Hi, onelineproof.
I was a little confused by your words. Did you want to look for suggestion about
pdf extraction or QR decoder?
member
Activity: 100
Merit: 16
legendary
Activity: 1512
Merit: 1036
You should license under MIT or Berkeley license, there's no such thing as simply saying something is public domain and then it is.
member
Activity: 100
Merit: 16
UPDATE: New features including a graphical interface. See top post.
member
Activity: 100
Merit: 16
Video demo: http://youtu.be/zZ63A-asD20?hd=1
Github: https://github.com/piratelinux/cwallet
Download: https://github.com/piratelinux/cwallet/tarball/master

http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
       href="http://creativecommons.org/publicdomain/zero/1.0/">
    http://i.creativecommons.org/p/zero/1.0/80x15.png" style="border-style: none;" alt="CC0" />
 
 

  To the extent possible under law,
       href="https://github.com/piratelinux/cwallet">
    Andrew K
  has waived all copyright and related or neighboring rights to
  Cwallet.
This work is published from:
      content="CA" about="https://github.com/piratelinux/cwallet">
  Canada
.



Version: 0.1

Dependencies:

- libgtk2.0-dev
- libdb4.8-dev (May need to manually change this if your wallet is created with a different version)
- libssl-dev
- qrencode
- convert (ImageMagick)

To compile cwallet (command line version):

cd src
(set the INCLUDES and LIBS variables to be used in the makefile)
export INCLUDES
export LIBS
make -f makefile.static

To compile cwallet-gui (graphical version):

./configure
make

To run cwallet:

cd src
./cwallet

To run cwaller-gui:

(make sure both cwallet and cwallet-gui are compiled)
cd src
./cwallet-gui

Options for command line version:

-w WALLET_FILE (defaults to ~/.bitcoin/wallet.dat)

-d WORKING_DIRECTORY (defaults to directory the program is called from)

-a ADDRESS (if not specified, all addresses are listed)

-q (produce pdf file of private key QR coded)

-o OUTPUT_FILE (file to save the pdf with QR encoding, defaults to WORKING_DIRECTORY/ADDRESS.pdf)

Example:

./cwallet -qa 1PkQCQmcyHR3gEPoBVLEchkVRYr5928Ko5

Note:

The program will output each address and private key in Bitcoin's base58 format. It will also check to make sure that the private key correctly corresponds to the address by performing a multiplication in Elliptic Curve space.


The program is written in C and has minimal dependencies. I did it mainly so that I can create a backup of my wallet in paper form. As a bonus it checks if my keys are corrupted. Also, I will soon include it in another project I'm working on (Pirate Linux). I cross checked with pywallet and it gives the same results. I did however notice that sometimes private keys are 31 bytes instead of 32. My program prints out "INVALID-KEY" if this is the case, but I can easily change that. Pywallet treats the 31 byte keys as if they were 32 bytes, but then the private key it produces isn't really a private key and there may be issues with importing those back into a wallet. Suggestions are welcome.
Jump to: