Bitcoin Forum
May 05, 2024, 07:53:32 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: cwallet - Lightweight wallet reader to extract address & private key pairs  (Read 2839 times)
onelineproof (OP)
Member
**
Offline Offline

Activity: 100
Merit: 14


View Profile WWW
December 28, 2011, 11:48:18 PM
Last edit: January 24, 2012, 08:52:51 PM by onelineproof
 #1

Video demo: http://youtu.be/zZ63A-asD20?hd=1
Github: https://github.com/piratelinux/cwallet
Download: https://github.com/piratelinux/cwallet/tarball/master

<p xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
  <a rel="license"
     href="http://creativecommons.org/publicdomain/zero/1.0/">
    <img src="http://i.creativecommons.org/p/zero/1.0/80x15.png" style="border-style: none;" alt="CC0" />
  </a>
  <br />
  To the extent possible under law,
  <a rel="dct:publisher"
     href="https://github.com/piratelinux/cwallet">
    <span property="dct:title">Andrew K</span></a>
  has waived all copyright and related or neighboring rights to
  <span property="dct:title">Cwallet</span>.
This work is published from:
<span property="vcard:Country" datatype="dct:ISO3166"
      content="CA" about="https://github.com/piratelinux/cwallet">
  Canada</span>.
</p>

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.

The uncorrupted Bitmark protocol: https://github.com/bitmark-protocol/bitmark
Email <my username>@gmail.com 0xB6AC822C451D63046A2849E97DB7011CD53B564
1714938812
Hero Member
*
Offline Offline

Posts: 1714938812

View Profile Personal Message (Offline)

Ignore
1714938812
Reply with quote  #2

1714938812
Report to moderator
1714938812
Hero Member
*
Offline Offline

Posts: 1714938812

View Profile Personal Message (Offline)

Ignore
1714938812
Reply with quote  #2

1714938812
Report to moderator
1714938812
Hero Member
*
Offline Offline

Posts: 1714938812

View Profile Personal Message (Offline)

Ignore
1714938812
Reply with quote  #2

1714938812
Report to moderator
TalkImg was created especially for hosting images on bitcointalk.org: try it next time you want to post an image
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714938812
Hero Member
*
Offline Offline

Posts: 1714938812

View Profile Personal Message (Offline)

Ignore
1714938812
Reply with quote  #2

1714938812
Report to moderator
1714938812
Hero Member
*
Offline Offline

Posts: 1714938812

View Profile Personal Message (Offline)

Ignore
1714938812
Reply with quote  #2

1714938812
Report to moderator
1714938812
Hero Member
*
Offline Offline

Posts: 1714938812

View Profile Personal Message (Offline)

Ignore
1714938812
Reply with quote  #2

1714938812
Report to moderator
onelineproof (OP)
Member
**
Offline Offline

Activity: 100
Merit: 14


View Profile WWW
January 04, 2012, 01:55:56 AM
 #2

UPDATE: New features including a graphical interface. See top post.

The uncorrupted Bitmark protocol: https://github.com/bitmark-protocol/bitmark
Email <my username>@gmail.com 0xB6AC822C451D63046A2849E97DB7011CD53B564
deepceleron
Legendary
*
Offline Offline

Activity: 1512
Merit: 1028



View Profile WWW
January 24, 2012, 01:30:22 PM
 #3

You should license under MIT or Berkeley license, there's no such thing as simply saying something is public domain and then it is.
onelineproof (OP)
Member
**
Offline Offline

Activity: 100
Merit: 14


View Profile WWW
January 24, 2012, 08:53:55 PM
 #4

I did CC0

Better?

The uncorrupted Bitmark protocol: https://github.com/bitmark-protocol/bitmark
Email <my username>@gmail.com 0xB6AC822C451D63046A2849E97DB7011CD53B564
arronlee
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
January 24, 2016, 04:55:35 AM
 #5

Hi, onelineproof.
I was a little confused by your words. Did you want to look for suggestion about
pdf extraction or QR decoder?
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!