Author

Topic: Using .dat wallet without downloading the blockchain? (Read 348 times)

member
Activity: 119
Merit: 36
Quote
I understand keeping everything public -- I have done this for years so 100% sold on that. Are there any open source (read: trusted) utilities that will just let me import this wallet.dat file, read what's in it, and give me a private key for all the addresses with funds or let me move them out?

I have my own software for reading wallet.dat  files which I choose not to make public. If it helps, if you create another empty wallet in exactly the same way and send it to me I will see if my software can read it (It will be a good test for me if nothing else.) 

Should it work, I will publish a sample of the results here for you to verify and we can decide what to do from there. I don't need/want any passwords!
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
-snip-
I understand keeping everything public -- I have done this for years so 100% sold on that. Are there any open source (read: trusted) utilities that will just let me import this wallet.dat file, read what's in it, and give me a private key for all the addresses with funds or let me move them out?
You can use iancoleman's BIP39 tool; but do not trust, validate it; it's open-source so you can ask someone in your company to audit its code.
Link to the source code: https://github.com/iancoleman/bip39

In Bitcoin Core:
Use the console command that I've suggested with "true" flag.
Open the menu: "Window->Console", select the correct wallet in the console's wallet selection drop-down menu
Then use the command: listdescriptors true

Take note of the results, you need to find the correct parent descriptor among the results that can derive the funded address' private key.
If your address starts with "bc1q" (default), get the descriptor that shows: "desc": "wpkh... and "internal": false,.
The latter tells that the descriptor is for your receiving addresses and the former shows that the script type is for bc1q addresses.
If the address starts with '1', then get "desc": "pkh...; if '3', then "desc": "sh(wpkh... (should be internal false for both).

In BIP39 Tool:
Open it in your "Air-Gap" machine's browser.
Paste the descriptor's master private key in the "BIP39 Root key" text box ("xprv..." do not include the following ' / ' and the rest),
scroll down a little and open "BIP84" tab (for 'bc1q'  address) / "BIP44" tab (for '1'  address) / "BIP49" tab (for '3' address)
The default derivation paths of those tabs should match to the descriptor's path so the addresses and keys should be listed below the page.
You can click "show ___ More rows" below the addresses to generate more addresses if it's not included there.

-snip- Start create standard wallet, then next select use master key then type your key from bitcoin core. Your address should show in view tab im not sure if it support bip32 but well see.
Electrum will derive the child key of the provided master private key with the derivation path of m/0 (receiving) and m/1 (change) which is different than the descriptor's derivation path.
And with that restore option, the user can't select the path Electrum should use.
newbie
Activity: 28
Merit: 0
  Hi, maybe we can try this. Go in bitcoincore and use list descriptors true command. This will output the descriptor and master priv key. Then once you have that key, go download electrum wallet from www.electrum.org. Start create standard wallet, then next select use master key then type your key from bitcoin core. Your address should show in view tab im not sure if it support bip32 but well see. Maybe you can find your address you had the money in. If it doesnt work we can try something else. How much was the loss?
newbie
Activity: 2
Merit: 0
error code: -4
error message:
This type of wallet does not support this command
Descriptor wallets do not support dumpwallet command.

Use listdescriptors false instead,
you can change the arg to "true" to show the "master private key" instead of the "extended public key" in case you need to derive the address' private key.
But that wont output the addresses directly, you need to derive them using tools or restore it to other wallets.
What are you trying to do exactly? Newly created wallet with large balance... sounds "interesting".

Also, I suggest you to create your own topic to answer that question above, since there seem to be more of it than using that command.
Another note, do not entertain any PMs that you'll receive, keep the non-private conversation public as much as possible.

Hi mpscan have you tried dump with the .txt file
It will work with or without the .txt file extension.
The only difference will be the compatibility of the output with certain txt editor applications.

Thanks for this help.  I run a crypto company and we were migrating our bitcoin core node and created a new wallet. We should have not used this type of wallet, descriptors should have been false when wallet was setup. We moved funds into two addresses on the newly created wallet now we can't get them out.  It is beyond my tech ability mostly and I messed up.  That's the root problem.

I understand keeping everything public -- I have done this for years so 100% sold on that. Are there any open source (read: trusted) utilities that will just let me import this wallet.dat file, read what's in it, and give me a private key for all the addresses with funds or let me move them out?
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
error code: -4
error message:
This type of wallet does not support this command
Descriptor wallets do not support dumpwallet command.

Use listdescriptors false instead,
you can change the arg to "true" to show the "master private key" instead of the "extended public key" in case you need to derive the address' private key.
But that wont output the addresses directly, you need to derive them using tools or restore it to other wallets.
What are you trying to do exactly? Newly created wallet with large balance... sounds "interesting".

Also, I suggest you to create your own topic to answer that question above, since there seem to be more of it than using that command.
Another note, do not entertain any PMs that you'll receive, keep the non-private conversation public as much as possible.

Hi mpscan have you tried dump with the .txt file
It will work with or without the .txt file extension.
The only difference will be the compatibility of the output with certain txt editor applications.
newbie
Activity: 2
Merit: 0
I'm trying to do exactly this, but I get an error:

C:\Users\xxx\AppData\Roaming\Bitcoin>"C:\Program Files\Bitcoin\daemon\bitcoin-cli" dumpwallet mpscan
error code: -4
error message:
This type of wallet does not support this command

It was a brand new wallet created with Bitcoin Core yesterday, I think I used the wrong parameters and made a "descriptor" wallet? I don't know.  All I know is that there is a public address in this .dat that has a ton of bitcoin and I can't get it out and don't have the server it came from anymore. Long ass story. lol
newbie
Activity: 6
Merit: 5
I got everything guys, thank you so much!

After days of trying to figure this out, Im so happy now, again, thank you!
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
Code:
dumpwallet X
Replace X with your desired directory. For example if you want the private keys to be saved in a text file in drive C with the name of "walletdump', replace X with C:/walletdump.txt


This command will lead you to this error below if you use dumpwallet with that path

Code:
Cannot open wallet dump file "(code -8)"

If you change the path to D: or E: drive it will work but on C: drive you will receive that error unless you run the Bitcoin core as an administrator.
legendary
Activity: 2380
Merit: 5213
The wallet has had around 5-10 transactions, but buy using the commands that BitMaxz mentioned I'll only find one private key? How to I differanciate between the keys that I want?
Yes, the dumpprivkey command is used for exporting the private key of a single address.
Use that command, if you know the address(es) containing bitcoin.

If you want to dump all your private keys, use the following command. It will create a text file including all your private keys.

Code:
dumpwallet X
Replace X with your desired directory. For example if you want the private keys to be saved in a text file in drive C with the name of "walletdump', replace X with C:/walletdump.txt


How to I differanciate between the keys that I want?
You should add your address to the command.
For example, dumpprivkey X gives you the private key associated with address X.


Also.. lets say that I have all the adresses. Do I then create one wallet in electrum and import every private key into that wallet. First when this is done I'll be able to transfer the remaining coins to another wallet in one single transaction?
Yes and Yes.
newbie
Activity: 6
Merit: 5
Thank you so much, once again I have to ask another question:

The wallet has had around 5-10 transactions, but buy using the commands that BitMaxz mentioned I'll only find one private key? How to I differanciate between the keys that I want?

Also.. lets say that I have all the adresses. Do I then create one wallet in electrum and import every private key into that wallet. First when this is done I'll be able to transfer the remaining coins to another wallet in one single transaction?

Hope to hear from you again
newbie
Activity: 6
Merit: 5
Does this mean that I cant just simply copy the private key from this .dat wallet and import it to electrum? ... and after that just start transfering bitcoin as I usually would using the bitcoin core app?

legendary
Activity: 2380
Merit: 5213
To get the private key from your wallet.dat without fully sync you need Bitcoin core installed on your PC and make sure the prune mode is disabled you can check it on the bitcoin core settings to disable it and close it and open it again.
I don't understand why you should need to disable prune mode for exporting your private keys.
Whether punning is enabled or not, it has nothing to do with the keys stored in the wallet and you should be able to export the private keys.
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
Also... do you know a safe way to find my master public key only using my wallet.dat and my password?

I understand that this is a sensitive subject, but I did not save my master public key when I was first trying this out years ago...

The master public key is only used for the watch-only wallet you don't have full control of your wallet you need to extract the private key from wallet.dat and then sweep/import it to Electrum but it would be much safe if you sweep it to your new Electrum wallet.

To get the private key from your wallet.dat without fully sync you need Bitcoin core installed on your PC and make sure the prune mode is disabled you can check it on the bitcoin core settings to disable it and close it and open it again. Go to help and look for debug window and then go to console tab or you can go to window then console then type this command below

Code:
walletpassphrase "your walletpassphrase here" 600
Make sure you still know the exact password of your wallet.dat

And then send this command to get the private key

Code:
dumpprivkey (Bitcoin address you want to export private key)

It will show you the private key and then open your Electrum wallet and import/sweep it there.
newbie
Activity: 6
Merit: 5
Also... do you know a safe way to find my master public key only using my wallet.dat and my password?

I understand that this is a sensitive subject, but I did not save my master public key when I was first trying this out years ago...
newbie
Activity: 6
Merit: 5
Thank you so much, I'll try doing this tomorrow!
legendary
Activity: 2380
Merit: 5213
I have research the web for solutions, one of witch is finding my private key and importing it to a wallet such as electrum. I dont know how to do this, and I find it a little scary to trust some of the sources that explains it.
This will solve your problem.
Electrum is SPV wallet and you don't have to download the blockchain.

Electrum is one of the best open-source wallets and is secure.
Make sure that you have downloaded it from its official website and do not forget to verify your download.
If you want to be completely secure, you should create your electrum wallet on an air-gapped device and sign your transaction there.
Click here, for the guide on how to create and broadcast a transaction offline.
newbie
Activity: 6
Merit: 5
Hello,

Around seven-eight years ago I downloaded bitcoin core and had some transactions just to try it out. I saved the wallet.dat file and forgot about it. I recently found the file and is trying to download the blockchain once again but it goes so slow and I dont have the ability to let my computer be on 24/7 for weeks. Also it obviously slows down the computer so I cant work as fast as I am used to. In adition to this, some of the possible solutions to this is rooted in using the command line in the bitcoin core app, witch seeme to be very problematic since I have to wait everywhere from 5 minuts to an hour before the app responds to my actions. 

I have research the web for solutions, one of witch is finding my private key and importing it to a wallet such as electrum. I dont know how to do this, and I find it a little scary to trust some of the sources that explains it. The other solutions I have found seeme to revolve around the same principle, but on the other hand it also seeme a little scary for my that is not an bitcoin expert at all.

Do you guys have any experience with this? Any solutions (easy or hazzle) that could solve this problem? I would even love some tips on how to download the blockchain faster.


Info:
Bitcoin Client Software and Version Number: Bitcoin Core 22.0
Operating System: Windows 10 64-bit
System Hardware Specs: Intel Core i3 5005U @ 2.00GHz, connected to external harddrive with 1TB free space.

Jump to: