Pages:
Author

Topic: Help needed recovering old wallet from bitcoin qt (around 2016) (Read 376 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
So I tried back and forth with pywallet and the recover option.
I think the origin of my trouble was a faulty python installation.
So after reinstalling it finally worked.

Great to see you solved the problem.

Anyway, now everything works fine. I can acces the priv key of the wallet and all looks actually good Wink

Don't forget to backup your wallet file and write down steps what you did to recover your wallet, it might provided useful in future.
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
I'm not using prune, my forever takes just a few hours ;-) ;-)

You could speed up the rescan process if you close/stop application which perform lots of read/write operation on disk drive (which used to store Bitcoin Core files).

Post the BTC address.

I guess we all know what you are hunting for  Tongue

OP, don't do this since you could hurt your privacy and so far sharing your BTC address isn't needed to recover your old wallet. If you want to check whether your BTC address contain Bitcoin, just use block explorer such as https://mempool.space/.
newbie
Activity: 9
Merit: 6
Hi folks,

I think I finally solved my issue but I am not exactly sure what did the trick in the end.
The salvage command somehow did not work. Idk why but I can't find it in the core installation as an option or anywhere else... but that's me not looking at the right places I guess.

So I tried back and forth with pywallet and the recover option.
I think the origin of my trouble was a faulty python installation.
So after reinstalling it finally worked.

I did a reinstall of the bitcoin core too, since that crashed from time to time.

Anyway, now everything works fine. I can acces the priv key of the wallet and all looks actually good Wink

So thank you all again a lot for helping me.
I actually did learn a lot Smiley

Best regards

cc

newbie
Activity: 10
Merit: 0
I coincidentally found my old bitcoin wallet.dat from around 2016 on one of my backup discs.

Post the BTC address.

I guess we all know what you are hunting for  Tongue
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
Ok, I tried salvage, but I can't find that option in bitcoin core 22.0.0
It was removed in Bitcoin-qt/bitcoin-cli a few months ago, it's now accessible using "bitcoin-wallet" tool in the 'daemon' folder.
I have a post above with a guide on how to use the command:

-snip-
"bitcoin-wallet" is in the "daemon" folder inside Bitcoin Core's installation directory (where bitcoind and bitcoin-cli are located).

To use it, open Terminal, cd to the directory where bitcoin-wallet is.
Then use the command (provide the full path to the wallet.dat file):
Code:
bitcoin-wallet --wallet="E:\Folder\wallet.dat" salvage

It wont return with any response (unless it failed) but you will see a backup file (wallet.dat.xxxxx.bak) where the wallet.dat is located.
The new wallet.dat is the "salvaged" wallet.
newbie
Activity: 9
Merit: 6
I'm not using prune, my forever takes just a few hours ;-) ;-)

Ok, I tried salvage, but I can't find that option in bitcoin core 22.0.0

Am I doing something wrong?

legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
-snip-
I'll try salvage option and give you feedback.
QT always needs like forever to rescan everything.
Note: After using the command, the original wallet.dat will be renamed into the backup file and the "new" wallet.dat is the salvaged wallet.


Rescan shouldn't take "forever" (days?) to complete with the average hardware unless the wallet has too many keys/transactions in it, should only be hours at most.
My guess is your Bitcoin Core have the "prune block storage" settings enabled which will require it to re-download and verify everything from start every time you load a new wallet.dat.
Check the settings if it's enabled (Disable: Settings->Options...->Prune block storage to).
After disabling it, Bitcoin Core will use more disk space (about 400GB).

But if you mean, "a few hours", it's normal.
newbie
Activity: 9
Merit: 6
I tried again with the guide above and figured I didn't format the usb drive to fat32.
After ding so the behaviour is different:
-snip-
Based from pywallet's results, --recover worked regardless of the segfault errors.
Check your --recov_outputdir= direcory for the results specially the recovered wallet.dat file that can be loaded to Bitcoin Core which has a similar name to "recovered_wallet_xxxx.dat".



I did, sadly there is only a json file
Code:
pywallet_partial_recovery_1641972376.json

I'll try salvage option and give you feedback.
QT always needs like forever to rescan everything.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
I tried again with the guide above and figured I didn't format the usb drive to fat32.
After ding so the behaviour is different:
-snip-
Based from pywallet's results, --recover worked regardless of the segfault errors.
Check your --recov_outputdir= direcory for the results specially the recovered wallet.dat file that can be loaded to Bitcoin Core which has a similar name to "recovered_wallet_xxxx.dat".


How about --salvage? It's a native recovery tool for corrupted Bitcoin Core wallets.
I have a reply above about it, just change the wallet path to your wallet.dat's directory.
newbie
Activity: 9
Merit: 6
Ok, maybe it is realted with the Python installation idk.
My version is 2.7.18

I tried again with the guide above and figured I didn't format the usb drive to fat32.
After ding so the behaviour is different:

Code:
Enter the passphrase for the wallet that will contain all the recovered keys: 

Enter the possible passphrases used in your deleted wallets.
Don't forget that more passphrases = more time to test the possibilities.
Write one passphrase per line and end with an empty line.
Possible passphrase:
Possible passphrase:

Starting recovery.

Read 0.0 Go in 0.0 minutes

Found 1 possible wallets
Found 282 possible encrypted keys
Found 0 possible unencrypted keys

Possible wallet #1
    with passphrase #1  Segmentation fault: 11

And additionally phython crashes with the following error message:

Code:
------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Python [37846]
Path:                  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Identifier:            org.python.python
Version:               2.7.18 (2.7.18)
Code Type:             X86-64 (Native)
Parent Process:        bash [37836]
Responsible:           Terminal [37833]
User ID:               501

Date/Time:             2022-01-13 09:10:04.4770 +0100
OS Version:            macOS 12.1 (21C52)
Report Version:        12
Bridge OS Version:     6.1 (19P647)
Anonymous UUID:        E737A5ED-65F8-A473-CED0-2E35160CE38D

Sleep/Wake UUID:       2B69033A-07F5-4FAF-8B15-DA15C3176F48

Time Awake Since Boot: 70000 seconds
Time Since Wake:       587 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x000000000628d918
Exception Codes:       0x0000000000000001, 0x000000000628d918
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [37846]

VM Region Info: 0x628d918 is not in any region.  Bytes before following region: 4270376680
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
---> 
      __TEXT                      104b1a000-104b1e000    [   16K] r-x/r-x SM=COW  .../MacOS/Python

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libcrypto.3.dylib                     0x1061260cf EVP_CIPHER_get_key_length + 4
1   libcrypto.3.dylib                     0x106124a1b EVP_BytesToKey + 73
2   libffi.8.dylib                       0x1057f8ee2 ffi_call_unix64 + 82

But I am not sure what to read into that message.
Bad address und segmentation fault: 11.Hmm

Anybody has a clue?

Thx again.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
and the db.log says corrupted db
-snip-
But no idea how to fix the db issues...
Try Bitcoin Core's bitcoin-wallet tool's "salvage".
"bitcoin-wallet" is in the "bin" folder inside Bitcoin Core's installation directory (where bitcoind and bitcoin-cli are located).

To use it, open Terminal, cd to the directory where bitcoin-wallet is.
Then use the command (provide the full path to the wallet.dat file):
Code:
bitcoin-wallet --wallet="E:\Folder\wallet.dat" salvage

It wont return with any response (unless it failed) but you will see a backup file (wallet.dat.xxxxx.bak) where the wallet.dat is located.
The new wallet.dat is the "salvaged" wallet.

-edit-
Updated the directory to match the latest version's
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
~snip~


I'm not so familiar with MacBooks but according to research Mac has pre-installed Python. Can you check what is the python version of your Mac?

According to pywallet GitHub page here https://github.com/jackjack-jj/pywallet
You will need to install Macports and install python again through "sudo port install" and better read the guide from that link before you use the command that I suggested above.
member
Activity: 69
Merit: 53
@ cold_chardonnay
If wallet is not encrypted it's not easy to check data in hxd or hexedit ?
old time private key is just base58 should be 44 chars without checksum and 0x80 marker.
You can use any offline method and decode each base58 private key and make address both uncompressed and compressed to check if its having balance or not.
newbie
Activity: 9
Merit: 6
Hi BitMaxz,

thank you for your input.
I'm not sure if I am using pywallet right and if my pywallet installation has some errors... or if it's because of the wallet.

But I tried what you suggested, just on a mac. This is what happened:

Input:

Code:
python pywallet.py --recover --recov_device=/Volumes/Untitled/ --recov_size=4GB --recov_outputdir=/Users/xxx/Downloads/

Output:

Code:
Starting recovery.
Traceback (most recent call last):
  File "pywallet.py", line 4034, in
    recoveredKeys=recov(device, passes, size, 10240, options.recov_outputdir)
  File "pywallet.py", line 1712, in recov
    r=search_patterns_on_disk(device, size, inc, nameToDBName.values())
  File "pywallet.py", line 1579, in search_patterns_on_disk
    if lendataloaded%512>0:
TypeError: unsupported operand type(s) for %: 'NoneType' and 'int'


And on the USB Stick I can find some db files after the procedure:

https://i.imgur.com/4gBLiyC.jpg
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
Sometimes the wallet.dat is corrupted if you copy the wallet.dat while the Bitcoin core is running on the background and maybe you made a backup copy while the Bitcoin core is open.
I have experienced having a corrupted wallet.dat the size of the file that I copy is different from the original. I'm lucky that I didn't remove or delete the wallet file under bitcoin core data folder.

So your problem is you have a corrupted wallet.dat file


I'd like to suggest you to try dumping the private key from your backup through pywallet.py check this guide below

If that doesn't work, you'll be down to the very last resort... which is the process that this guy used: https://bitcointalksearch.org/topic/m.14257235

It involves getting a small USB stick (preferably 1GB)... wipe it clean (delete everything off it, format it etc) and putting just your "corrupted" wallet.dat on it. Then you have to manually run the pywallet command from the commandline to get it to scan your corrupted wallet.dat and try and recover private keys.

Assuming you had a 1GB USB stick and it was showing on windows as D: and you "extracted" PyWallet to "C:\PyWallet" (when running the PWI_0.0.3.exe):
Step 1. you would put (a copy) of your corrupted wallet.dat on the USB stick
Step 2. Start -> Run, Type cmd and press enter
Step 3. cd \PyWallet
Step 4. pywallet.py --recover --recov_device=D: --recov_size=1Gio --recov_outputdir=C:\PyWallet


If your USB stick is larger, change 1Gio to what Gigabytes it is... 8GB = 8Gio, 16GB = 16Gio... if you use a stick larger than 1GB, be prepared to wait a LONG time while pywallet scans it.

After that finishes, it should have created a "recovered_wallet_DATESTAMP.dat" that you can attempt to load in Bitcoin Core... or use PyWallet to dump the keys Wink
newbie
Activity: 9
Merit: 6

I've never ran into this issue, but I think you'll have to let bitcoin core finish synchronizing before you can upgrade the wallet.  Try reinstalling bitcoin, load your wallet, and then let it finish synchronizing.  It could take a couple of days or more depending on your system and internet connection. 


The blockchain is completely in sync... that all worked totally fine...
newbie
Activity: 9
Merit: 6


Code:
walletpassphrase yourwalletpassword 600

And then after that use this command below to dump the private key

Code:
dumpprivkey yourBTCaddress


I tried this before without success.
BT core throws this error
Code:
15:44:53
BerkeleyDatabase: Error -30974, can't open database wallet.dat (code -1)

and the db.log says corrupted db

Code:
B_ENV->log_flush: LSN of 1/116917 past current end-of-log of 1/38105
Database environment corrupt; the wrong log files may have been removed or incompatible database files imported from another environment
PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
wallet.dat: unable to flush page: 24
PANIC: fatal region error detected; run recovery
PANIC: fatal region error detected; run recovery
PANIC: fatal region error detected; run recovery
...


I am working always with a copy of my backed up wallet, so I can't break anything.

But no idea how to fix the db issues...

If I need to extract the keys manually, is there a step by step guide somewhere?


Best regards and thanks for the help.

cc

legendary
Activity: 2730
Merit: 7065
Is that the only backup of your Bitcoin Core wallet.dat that you have?
I would strongly suggest that you make additional backups of it before proceeding and store them separately. You don't want to mess it up and maybe corrupt it only to discover that it's the only copy that you have.
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
So the error only occurs when you exit the Bitcoin core?

If you want to use the BTC right away exporting it from Bitcoin core and import it to Electrum would be the best option.

Can you try to dump the private key through the console?
You can find it under window>console I don't know what UI looks like on Mac but you can use the image below as a reference



Then use this command

Code:
walletpassphrase yourwalletpassword 600

And then after that use this command below to dump the private key

Code:
dumpprivkey yourBTCaddress

Copy the private key and now download Electrum from https://electrum.org/#download

and import the private key there you can follow the guide from this link below

- https://bitcoinelectrum.com/importing-your-private-keys-into-electrum/
copper member
Activity: 2338
Merit: 4543
Join the world-leading crypto sportsbook NOW!
Hi folks

I'm new to the forum. So hi ;-)
I coincidentally found my old bitcoin wallet.dat from around 2016 on one of my backup discs.
By the time I just played around with bitcoin and was not really into anything^^
Anyway, now I try to access that wallet, but I am running in several issues.
I am working an a mac wit bitcoin core 22.0.0 and this is what happens:

I start bitcoin core and the wallet is actually loading, so I can see the balance (not much btw).
If I quit BT Core the software throws this message:
Code:
A fatal error occurred. Bitcoin no longer continue safely and will quit

If I try to decrypt it to use upgradewallet, I get a berkley db error... Idk it seems like it is related to the version jump I made.

Is there anybody out there who may be able to help?

Thanks in advance and best regards

cc

Welcome aboard.

I've never ran into this issue, but I think you'll have to let bitcoin core finish synchronizing before you can upgrade the wallet.  Try reinstalling bitcoin, load your wallet, and then let it finish synchronizing.  It could take a couple of days or more depending on your system and internet connection. 

You can still use a pruned install, you shouldn't have to install the whole blockchain (over 430GB currently.)  If your wallet is loaded even the pruned install will include the transactions pertinent to your wallet.
Pages:
Jump to: