Post
Topic
Board Development & Technical Discussion
Re: Pywallet 2.2: manage your wallet [Update required]
by
jackjack
on 06/02/2021, 02:36:20 UTC
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

Code:
$ 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

Code:
$ 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": []
}