Unified interface to programmatically open and extract data from cryptocurrency wallet backup files
$ docker pull jimzhou/walletlib:latest
$ docker run -v /path/to/your/wallet/folder:/app jimzhou/walletlib:latest wallet.dat -o wallet_output.txt --keys -p password
Output file will be in the directory with the wallet. --keys and -p are optional
This module requires Python 3.7+
Note: prior to installation, make sure that BerkeleyDB 4.8+ is installed.
With Homebrew:
$ brew install berkeley-db@4
On Ubuntu
$ sudo apt-get install libdb++-dev python3-bsddb3
$ pip install walletlib
A convenient cli script is available after installation.
$ python -m dumpwallet wallet.dat -o output.txt
or
$ dumpwallet wallet.dat -o output.txt
$ dumpwallet wallet-protobuf -o output.txt --keys
- Automatic reading of version byte and WIF prefix from default keys
- Dumping just keys or all data
- Read only access of wallet files
The simplest way to install walletlib is using pip.
$ pip install walletlib
You can also clone this repo and then run
$ python setup.py install
import walletlib
wallet = walletlib.Walletdat.load("path/to/wallet.dat")
wallet.parse(passphrase="password")
wallet.dump_all(filepath="output.txt")
wallet.dump_keys(filepath="output_keys.txt")
Bitcoinj wallets:
import walletlib
wallet = walletlib.ProtobufWallet.load("path/to/wallet-protobuf")
wallet.parse()
wallet.dump_all(filepath="output.txt")
wallet.dump_keys(filepath="output_keys.txt")
- wallet.dat
- Encrypted keys
- Auto-identify prefix
- Decrypt encrypted keys
- p2pkh Wallets
- Bech32 wallets
- Bitcoinj/Dogecoinj/Altcoinj wallets
- Open unencrypted wallet-protobuf/multibit .wallet/.key files
- Decrypt encrypted wallets
- Coinomi protobuf wallets
- Blockchain.com wallet.aes.json
- Documentation