News: August 2014
My boring professional life made me stay away from bitcoin for far too long but I'm now back in business
Pywallet won't be fixed anymore except for critical bugs
Instead I'll finish its successor (that still has no name)
News: September 2013
I'm rebuilding pywallet from scratch:
I need a new name for this project, propose one if you want
See the progress here:
https://bitcointalk.org/index.php?topic=294439This thread
First of all, I'd like to thank Joric for the first version of pywallet he made, this thread is about my fork.
Pywallet is a python script that deals with wallet.dat. It allows you to do plenty of things inside it.
You can post here whatever you want about pywallet: critics, asking for improvements/changes, telling me it helped you, pointing out errors/bugs, etc.
Pywallet 2: 22nd March 2013
Pywallet has been discontinued for around a year but is now actively developed again.
Look at the end of the 7th page for updates: encrypted wallet support, exporting/importing to/from files, merging wallets, etc.
Instructions (see also here)
Currently you can:
Dump your wallet, see your pubkeys, privkeys, their labels, etc
Under "Dump your wallet:"
Fill version with 0 for bitcoin, 52 for namecoin, 111 for testnets
Dump your transactions to a json file
Under "Dump your transactions to a file:"
Fill Output file with the full path to the file where you want the transactions to be written, this file must not exist
Import a key/address into your wallet, with a label, or as a reserve key
Under "Import a key into your wallet:"
Key is the private key to import, in base58 or in hexadecimal chars
Label is the name you want to see in the Address Book of the client
Check Reserve if you want your address NOT to show in the Address Book
Version = 0 for bitcoin, 52 for namecoin, 111 for testnets
Format of the private key: Hexadecimal if you see only digits, a, b, c, d, e and f, otherwise chose Regular
Import a transaction into your wallet
Under "Import a transaction into your wallet:"
Txk is the tx_k value you see in the wallet dump
Txv is the tx_v value you see in the wallet dump
Import transactions from a json file
Under "Import a transaction into your wallet:"
Txk = "file" (without quotes)
Txv = full path to the transactions dump file
Delete addresses from your wallet
Under "Delete a key from your wallet:"
Key is a Bitcoin address, not a priv key
Type: Bitcoin Address
Delete transactions from your wallet
Under "Delete a key from your wallet:"
Key is the hash of the transaction you want to delete (type "all" to delete them all)
Type: Transaction
Get info about a privkey, i.e. see address, base58 privkey, hexprivkey, pubkey and hash160, using the network you want
Under "Get some info about one key[and sign/verify messages]:"
Key is a private key
Leave Msg, Sig and Pubkey empty
Version = 0 for bitcoin, 52 for namecoin, 111 for testnets
Format of the private key: Hexadecimal if you see only digits, a, b, c, d, e and f, otherwise chose Regular
Sign and verify string, files, and binary string
Under "Get some info about one key and sign/verify messages:"
Key is the private key you want to sign the message/file with (only for signing)
Message is the message you want to sign/verify
If it is a string, just type it
If it is a binary string, type "Hex:" just before its hexadecimal representation
If it is a file, type "File:" just before its full path
Signature is the signature of your message (only for verifying)
Pubkey is the pubkey used to sign the message (only for verifying)
Read a device to find deleted keys (CLI only)
Assuming that:
The device you want to read is /dev/sda3
The size of /dev/sda3 is 30.1Gio
You want pywallet to write the new wallet containing the found keys in /home/jackjack/recovered_wallets
Run "sudo ./pywallet.py --recover --recov_device /dev/sda3 --recov_size 30.1Gio --recov_outputdir /home/jackjack/recovered_wallets"
Then replace your wallet (back it up before) with the recovered wallet and run "bitcoin -rescan"
Print the balance of a bitcoin address, read from blockexplorer
Installation:
Linux/OSX: See README file
Windows:
Download
https://github.com/downloads/jackjack-jj/pywallet/PWI_0.0.3.exe (SHA256: 645a4d092733ad6685de730a38b210c6594e44a15690a87a231859477deca316)
Run it
Click about a thousand times on Yes/Next/I Agree/OK
Go to the directory where you extracted it and run pywallet.bat
http://localhost:8989How to run it:
Download it there:
https://github.com/jackjack-jj/pywallet Run './pywallet.py --web' then open '
http://localhost:8989' in your brower
Requirements:
Python 2.5-2.7, with bsddb package
 twisted package is necessary if you want to use the web interface
 ecdsa package is necessary if you want to sign and verify messages
Confirmed to work on:
Ubuntu 32bit(me)
Windows 32bit(me), 64bit(ctoon6)
OSX(defxor)
Pywallet can be used to:
Import Vanitygen keys
Delete 0/unconfirmed transactions
Recover Namecoins (and testnetcoins) sent to Bitcoin addresses
Create a deterministic wallet (using a passphrase)
Create a deterministic wallet (using a file)
Broadcast offline transactions
Create a Bitcoin/*coin address from scratch
Recover a wallet/deleted keys