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  00 00 00 00 00 00
^ version ^ page size ^ db type
Searching for 62 31 05 00 09 00 00 00 should get you ...
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 ...
I don't think it's possible to delete addresses from just the UI.
You can delete addresses completely using Pywallet. However, unless you back up the key first, this means that you will not have access to any coins sent to these addresses (either future coins or existing coins which have not moved elsewhere).
The many addresses will be more manageable if ...
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 ...
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, ...
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.
If you want to ...
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.
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, ...
Any unspent bitcoins against addresses in your old wallet should be retrievable.
The client won't show transactions that haven't been downloaded to your copy of the blockchain yet. There should be an icon in the lower right corner of the Bitcoin-QT client that indicates progress on downloading the blockchain. It can take a few hours (there's around 2.5GB to ...
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 ...
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 ...
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 ...
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.
For MultiBit you could use the command line utility called WalletTool that Mike Hearn wrote. You can use it to create bitcoinj wallets (which is what MultiBit uses).
There is a description of it here:
You could wrap calls to it in your favourite scripting tool fairly easily I imagine.
The latest wallet.dat version is 0.6.0; wallet.dat didn't change with the 0.7 releases.
Wallet.dat version 0.4.0 introduced the wallet encryption feature.
Wallet.dat version 0.6.0 introduced 'compressed public keys', which make transactions you send smaller. Right now, that is the only reason you might want to run -upgradewallet, although even if you ...
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.
You will lose the copy of the private keys to addresses you've created or added but ...
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, ...
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 ...
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 ...
There is no limit to taking the wallet offline. The blockchain, which is shared by all users, contains all the information on who owns the bitcoins. Your private key identifies the ownership.
Now the reason why you may see a balance of 0 is because the official windows client doesn't seem to store the wallet inside the application folder, but in your OS ...
Assuming you had a chance to send those transaction out, they will still be processed. So long as the transactions didn't create any new change addresses, your wallet will still have all the information needed to spend any Bitcoins you have left.
Your wallet.dat hold the keys. If the client is intermittently seeing errors you will not want to continue using it.
You essentially want to create a new, empty wallet and then import the keys into the new wallet.
One approach is to use Blockchain.info/wallet which can import the wallet.dat, and then you can export the keys from their web interface.
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 ...
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 ...
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 ...
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 ...
Open Bitcoin-Qt with old wallet (Menu: Help / Debug window / Console):
walletpassphrase "OLDWALLETPASSPHRASE" 600
...write down private key and close program. Next open Bitcoin-Qt with new wallet and import private key:
walletpassphrase "NEWWALLETPASSPHRASE" 600
importprivkey "BITCOINPRIVKEYFROMOLDWALLET" "SOMELABEL"...
"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 ...