People who code: we want your input. Take the Survey
17

It has magic bytes plus a version number at byte 12 in the file: 00000000 [00 00 00 00 01 00 00 00] [00 00 00 00] [62 31 05 00] ^ lsn ^ page num ^ magic 00000010 [09 00 00 00] [00 20 00 00] 00 [09] 00 00 00 00 00 00 ^ version ^ page size ^ db type Searching for 62 31 05 00 09 00 00 00 should get you ...


14

I recently recovered an old wallet.dat file using pywalley.py and Electrum, which allowed me to read the wallet and sweep the coins to a new Electrum wallet. Steps: Get the jackjack pywallet https://github.com/jackjack-jj/pywallet Put the wallet.dat in that directory ./pywallet.py --dumpwallet --datadir=. --passphrase=PASSPHRASE Passphrase is optional, ...


13

Bitcoin Core will create a new wallet if it cannot find the wallet.dat in the Bitcoin Core folder. Close Bitcoin Core. If the wallet still has a balance, or addresses from the wallet were given out, back the old wallet.dat up: Move it to a different directory or rename it. If you are sure that it was never used, you may delete it instead. Restart Bitcoin ...


11

The wallet.dat was created with Bitcoin Core (in 2011 it was called "Bitcoin"). You should install the newest version of Bitcoin-Core (0.14.2 by the time of writing). The wallet.dat from 2011 should still run. Use the GUI. If you want to export the private key, you don't need to sync (takes a couple of hours / days) Can also be done on a different ...


9

The introduction of descriptor wallets presents an opportunity to introduce a new database backend as descriptor wallets are backwards incompatible. The following is taken from Andrew Chow's blog post on what's coming to the Bitcoin Core wallet in 0.21. (There was also discussion on this GitHub Issue.) Why move from Berkeley DB? Not designed to be used as ...


8

Basically what Murch said. You have to use the private key to sign the transaction. There is a point I want to add, however. It is possible to send coins without importing the private key into a computer which is connected to the Internet. In fact, this is how a properly run exchange or online wallet service ought to maintain its cold storage. Normally, ...


8

If you still have the wallet.dat file and your password you can access your bitcoins. You do not have to use Bitcoin-Qt 7 and it does not matter if your wallet ever synced before. If the sender sent the bitcoins to an address you control and the transaction was confirmed, the bitcoin are yours. https://blockchain.info/wallet/import-wallet If you want to ...


7

Knowing your private and public keys is enough to be a backup of that address. If you only have one address all you would have to do is create a new wallet and import that private key. Why backup the entire wallet.dat then? Because restoring the wallet.dat saves you the step of importing the keys from the command line. Most people find it easier to backup ...


6

The Bitcoin-Qt/bitcoind client's keypool has by default 100 Bitcoin addresses. Each spend transaction that has change chews up one of those addresses. Additionally each click on New Address will consume an address from the keypool as well. So you should be able to get by without a new backup until after 100 spend transactions plus any requests for a New ...


6

Besides storing your current private keys, bitcoin wallet file also contains some pool of unused private keys. When encrypting wallet, this pool is flushed. If you make some transaction using new (encrypted) wallet then change is sent to one of addresses from the pool, which is not present in old (unencrypted) wallet. For example, you had 1BTC incoming ...


6

Yes. Yes. No. Note that that the software's encryption encrypts only the private keys, not transaction and address book information, so to protect your privacy you may want to add encrypting the file itself.


5

This is an old question but just to say that the dumpwallet command has been added to bitcoin core. This will give you all the private keys in a text format.


5

Go in the console and type : dumpprivkey litecoinaddress Use the help if nessassary. The console is in : Help\Debug Windows


5

Since wallet.dat is mostly a collection of private keys, you will simply lose all private keys that you have not duplicated or copied. It also by default stores the next 100 Bitcoin addresses it will give you when you generate a new address as a safety measure. Bottom line You will lose the copy of the private keys to addresses you've created or added but ...


5

Latest versions of the reference Bitcoin implementation have the 'dumpwallet' RPC command, which dumps a human-readable list of all of your private keys. The format is simple: just comment-lines (starting with #) or lines that are the private key (plus metadata about the key). So to combine keys from several wallets you would: Re-run bitcoind/Bitcoin-Qt, ...


5

You can't spend bitcoins without having the transactions in which you received the bitcoins. Bitcoin Core also needs to actually know about your transactions to display them with RPC commands like listtransactions. Reconstructing this data from the block chain is extremely slow. Try running Bitcoin with the -rescan switch, which searches the entire block ...


5

Using wallet /import If you load the wallet file in a modern Bitcoin Core version, you can use the dumpwallet command (to create an unencrypted dump of the keys), and the importwallet command in a fresh instance with a new empty wallet.dat of the dump. You will need to rescan afterwards, though, which may take a while. Make sure to wipe the dump file ...


5

Ethereum addresses are the trailing 20 bytes of keccak256(public_key). In other words, ethereum addresses are any collection of 20 bytes. 0014{20 byte payload} in Bitcoin is the redeem script for a p2sh-p2wpkh address. If you strip the 0014, you're left with 20 bytes. Due to the size of the ethereum address space, the vast majority of 20 byte combinations ...


4

You can do that via the default bitcoind API. I suppose you are used to use Bitcoin-Qt? Then most probably the bitcoind daemon is also installed on your computer. You can move an address from one wallet to another using the setaccount command. It works as follows. setaccount <bitcoinaddress> <account> So, when you have an address, let's say ...


4

Archive all the priv keys that you want to save. Close bitcoin-qt. Delete wallet.dat. Open bitcoin-qt.exe again. Import keys that you have dumped before.


4

Here's one way I found. Get pywallet (https://github.com/jackjack-jj/pywallet) and run python pywallet.py --dumpwallet --wallet=/foo/bar/wallet.dat Look in the output for a field called names. This will contain a list of addresses in the coin's own format, and by looking at the first character you can try to identify the coin by its version byte. See ...


4

Found out that pywallet has recovery feature, and it worked: Created 1GB FAT32 partition on flash drive(/dev/sdb1 in my case), copied corrupted wallet.dat on it and run: nyaa@ubuntu:~/github/pywallet$ sudo ./pywallet.py --recover --recov_device /dev/sdb1 --recov_size 1Gio --recov_outputdir /home/nyaa/ ... All the found encrypted private keys have been ...


4

Restoring a wallet on a fresh machine: Start Bitcoin-Core (daemon or Qt), shut it down after it has started up (you only do that to create the necessary data directory) Replace wallet.dat with your backed-up wallet.dat (see https://en.bitcoin.it/wiki/Data_directory if you can't find the data dir) Startup Bitcoin-Core, wait until your node is in sync (can ...


4

This method is used by Bitcoin Core (and few others) and comprises of backing up a wallet.dat file. It's a file that holds keys to spend outputs, addresses, transaction information, and other metadata such as contacts. It has a different location based on an operating system. Windows: %APPDATA%\Bitcoin Linux: ~/.bitcoin/ Mac OS X: ~/Library/...


4

Does it create a public key based of private? Yes, a cryptographic routine exists that computes the public key from the private key. maybe on the wallet.dat file? All modern wallet software generates keys derministically from some sort of master key, or seed phrase. That master key is stored in the wallet, and all other private keys are derived from it, ...


3

From my experience, your solution is the MultiBit Wallet software - it should satisfy all your requirements: https://multibit.org/index.html I use it on a regular basis and found it satisfying, and also have the possibility of storing more than one wallet, you should give it a try. Cheers.


3

You're right, storing your private keys on a server is a bad idea - it means you're liable to lose all of your funds in the case of a hack. But as you aren't storing them, do you need to install the bitcoin daemon on your server? You could use an API from one of the online blockchains to monitor transactions from your server, and maintain your encrypted ...


3

"As I thought, it doesn't work that way. It wants a full directory with the databases, an alone wallet.dat is not enough. – Lohoris yesterday" Not at all... Wallet.dat is the only file that pywallet reads If you notice a bug, it's rather nice to report it to the dev instead of bashing him Same thing for new flags you might want: ask for them instead of ...


3

Open Bitcoin-Qt with old wallet (Menu: Help / Debug window / Console): walletpassphrase "OLDWALLETPASSPHRASE" 600 dumpprivkey "BITCOINADDRESS" walletlock ...write down private key and close program. Next open Bitcoin-Qt with new wallet and import private key: walletpassphrase "NEWWALLETPASSPHRASE" 600 importprivkey "BITCOINPRIVKEYFROMOLDWALLET" "SOMELABEL"...


3

Bitcoin-Qt is a full p2p network client, so to work, it needs to sync with the network. Basically, it will download every transaction that was done with the currency (~15 GB in total at the moment). Might take one or two days, then you'll be good to go.


Only top voted, non community-wiki answers of a minimum length are eligible