How do you "transport" a bitcoin environment from computer to computer
so as not to have to reload again all blocks from the internet?
You didn't specify, so I'm assuming you are asking about the Bitcoin-Qt wallet. Copy and paste the entire contents of the "Bitcoin" directory from one computer to the other.
If you are asking about Electrum, MultiBit, or Armory, then the process might be different.
Is it OK to simply copy and paste the "Bitcoin" directory from one computer to the other?
Yes. Keep in mind that you should then stop using the wallet on the old computer. Attempting to use the same Bitcoin-Qt wallet on multiple computers is a recipe for disaster and carries a high risk of permanent loss of bitcoins.
The only file to copy (I don't know where it is on Windows though) is wallet.dat
This is
not true if you don't want to "have to reload again all blocks from the internet". To avoid reloading all the blocks, you also have to copy the entire blockchain.
If you want to move computers, and not use the original one again,
copy everything from %appdata%\Bitcoin\ to the same location on the new computer. Then load the client up on the new computer and check it's working. If it is, delete folder on other pc. Simple.
Correct. That is the Windows directory you would need to copy.
If you just want to copy the blockchain across, go into %appdata%\Bitcoin\ and copy the 2 largest files into the same folder on the other computer.
Depending on the version of Bitcoin-Qt that you are copying, you may need to copy more than just 2 files.
So I was thinking on the client should be able to manage multiple wallets and have a procedure to import a wallet from something like a flash drive.
This can be done with the Armory wallet. Bitcoin-Qt is not designed to be used in this way.
When you say you can lose your bitcoins if used from two different computers, does that mean just running the client or actually sending the same bitcoin?
Sending any bitcoins from both wallets, it doesn't have to be the "same" bitcoin. There are a variety of potential issues since Bitcoin-Qt doesn't let you choose which bitcoins you are sending. The Bitcoin-Qt wallet is not designed to stay synchronized with a second copy of the same wallet. One of the biggest issues you are likely to run into is caused by the way the Bitcoin-Qt wallet handles the "change" from transactions. After you send enough transactions, you'll start to see
extra bitcoins vanish out of the copy of the wallet that didn't send the transaction. If you send transactions from both copies of the wallet, you'll eventually see the two wallets showing completely different balances. Trying to get them re-synchronized without permanently losing some of those bitcoins will be a complicated process that will carry a risk of permanent loss if you make a mistake.
What happens if someone steals your computer with your wallet and you have a backup?
When you go to send all your backed up bitcoins to a new address before the thief can, what will happen?
If you simply create a new address in the wallet that the thief has a copy of, he'll still be able to steal them. You need to create a new address in a completely new wallet. Then send the entire balance from the old wallet to the new wallet. If you can accomplish this before the thief has transferred the bitcoins to his own wallet, then they will be secure. Of course, this all assumes that you have some way of knowing that a thief has a copy of your wallet before he transfers the bitcoins.
oh thats useful, i thought you needed both the public and private keys to keep the bitcoins
You do.
No. The only thing you need is the private keys. The public keys (and addresses) can be calculated from the private keys. It is important to be absolutely certain that you have the correct private keys though. Bitcoin-Qt stores many of your bitcoins in addresses that it doesn't tell you about. If you only have the private keys of the addresses that are in the "Receive Coins" section of your wallet GUI, then you probably don't have everything you need. The easiest way to be certain that you have all the necessary private keys is to create a backup of the wallet.dat file on a regular basis (perhaps every 25 transactions or so) and store multiple backups (perhaps the 3 most recent backups).
You can copy the wallet.dat back and forth, but NEVER attempt to use it on two different computers AT THE SAME TIME, or you risk losing bitcoins forever.
i'm going to try this out and see if they disappear has this bug been squashed? NYC;)
It isn't so much a "bug" as it is using the wallet in a way that it was not intended to be used. It was not designed to remain synchronized with multiple copies of the same wallet.dat file. You are welcome to try it out if you like. It will most likely appear to be working just fine for a while. After you send 100 transactions or so, you'll see the risk of bitcoin loss jump significantly.
Here's a scenario where you can potentially run into double-spend issues:
- Create two copies of a brand new wallet.dat file running one on each of two computers (copy_A and copy_B)
- Send a single transaction of 2 BTC to a single address that exists in both copies of the wallet
- Wait for the transaction to get 6 confirmations
- Put copy_A into an offline state (disconnect the network cable, turn off the computer, or simply shut down the Bitcoin-Qt software)
- Keep copy_B online
- Wait a few days so that the blockchain in copy_A falls behind on synchronization
- Send a 0.5 BTC transaction from copy_B to some other address that is not part of these two wallets
- See that the balance on copy_B has dropped to 1.5 BTC
- Bring copy_A online
- See that the balance on copy_A is still 2 BTC
- Send a transaction from copy_A to some other address that is not part of these two wallets before copy_A catches up in synchronization
This process will result in a double-spend problem in copy_A. It will reduce the balance in copy_A, and will show the transaction in the transaction list, but it will never confirm.
You can copy the wallet.dat back and forth, but NEVER attempt to use it on two different computers AT THE SAME TIME, or you risk losing bitcoins forever.
Lol stop the FUD
FUD? You are aware that Bitcoin-Qt is not designed for this and that there is a significant risk of permanent loss of bitcoins if you do so, right?
are we allowed to write some new code? what if we all do it at once maybe it's possible to double our btc coinage; basically a forward split to reward all current bitcoin enthusiasts NYC;)