A new 'last resort' feature: the --minimal_encrypted_copy option create a copy of a wallet but containing only the encrypting parameters and one unused key pair
This tiny wallet could then be shared for people to bruteforce it in case of a lost password situation
Obviously not a perfect solution but better than losing the coins
$ python pywallet.py --wallet ~/.bitcoin/wallets/test/wallet.dat --minimal_encrypted_copy
Before creating a safe partial wallet you need to check the balance of the following addresses.
You may check the balance on your wallet or using an online block explorer.
Just hit Enter if the address is empty and write 'no' if not empty.
1LKjAaLke66hMdwYgw11nZ2QSaraCjEuRk:
3C7XannaU2cKfQA1hs3a56q63qXng7k8uz: no
1MgjXTP7RMYLD81fNQCyrwHKYgtX3cjjGC: no
1Ed5Bqsfd4mWw3pwv2C8UywGzHWEAMDPJP: no
1947WYGqYYwWWVkBDDppxfQX8Dw2PzqPVb: no
13AdH1Za325jfaYe6vrx5FvUerYn7BpwRX:
3BGxmNSyji5QRzqd9jNnBHPcthvCcoa6Ah:
bc1qzlpyde9m57ur6y58gzqhm37vqmmawp9xcvcvfu:
Are you REALLY sure the 3 addresses above have an empty balance? (type 'YES') YES
Minimal wallet written at wallet.dat.minimal_for_decrypting.dat
$ python pywallet.py --dumpwallet --wallet wallet.dat.minimal_for_decrypting.dat --passphrase 0000
The wallet is encrypted and the passphrase is incorrect
{
"ckey": [],
"keys": [
{
"addr": "13AdH1Za325jfaYe6vrx5FvUerYn7BpwRX",
"compressed": true,
"encrypted_privkey": "ec8125d0304b9f1b40325f005b33b7e2f228b63b22017b64e330cf19b6d089b0e4052174e798a5a30f0229b2338fa368",
"pubkey": "03ffa92cd030c601ec86a959641826292bc5d0bab7ec44d6d6a8935e7ab59fe505",
"reserve": 1
}
],
"mkey": {
"encrypted_key": "cbd9dd630c0ae5b3907294a2a1a6096f00c241850cdce57d49a999c38a96669b72861b9ec9098e19859fa250c9c8f951",
"nDerivationIterations": 136845,
"nDerivationMethod": 0,
"nID": 1,
"otherParams": "",
"salt": "c5f4f5235fa925c6"
},
"names": {},
"pool": [],
"tx": []
}