Wallet
A Bitcoin wallet is a piece of software used to manage private keys and to make transactions on the Bitcoin network. Wallets may offer additional features such as address labels, contacts, signing messages, etc.
Bitcoin Qt
The original Bitcoin client stores private key information in a file named wallet.dat acording to the so called [1]:
- keypairs for each of your addresses
- transactions done from/to your addresses
- user preferences
- default key
- reserve keys
- accounts
- a version number
- Key pool
- Since 0.3.21: information about the current best chain, to be able to rescan automatically when restoring from a backup.
The data file for the wallet is wallet.dat and is located in the Bitcoin data directory.
It is intended that a wallet be used on only one installation of Bitcoin at a time. Attempting to clone a wallet for use on multiple computers will result in "weird behavior"[2].
The format of this file is Berkeley DB. Tools that can manipulate wallet files include pywallet.
Armory
The Armory client uses a custom binary wallet format and runs on top of Bitcoin-Core[3].
Blockchain.info
Blockchain.info use a plain text JSON wallet format documented here. Private keys Keys are stored in base58.
Cubits
Cubits.com has both cold and hot wallet, with all user's funds stored securely in the cold wallet.
Multibit
Multibit uses the bitcoinj protobuf wallet file.