<p>The blocks, chains, and all that excessive data can be tossed. All you need is your wallet.dat which contains your private key.</p>

<p>I like to think of it this way... The bitcoin network is like a massive bank full of billions, trillions, and so on of vaults. You can put coins into any vault without needing a key to that vault. You can only take coins out of a vault IF you have a key to that vault (your wallet). Your coins are never stored on your actually computer. Only the KEY to the vault is stored on your computer. That key is used to access your coins. Downloading the blockchain is simply a way of letting your bitcoin client know how many coins you have, who you sent coins to, and who sent coins to you. Its like a virtual copy of those billions of vaults, which mostly all you don't have access to. Only that vault whose key you possess. Good luck!</p>

CC BY-SA 3.0
2013-12-07T11:08:29.280Z
2013-12-07T11:08:29.280Z
mosca1337
<p>If your goal is to avoid re-downloading the entire blockchain from the public internet, and you need a full node running/synced on a separate machine, then:</p>

<p>For the sake of example, <strong>machine1</strong> is up-to-date and fully synced.</p>

<p><strong>machine2</strong> is not up-to-date, but you want to get it to a fully synced state ASAP over your network.</p>

<p>Ensure that TCP port 8333 is open on <strong>machine1</strong>'s local firewall to, at the very least, the IP address of <strong>machine2</strong>.</p>

<p>The Bitcoin client should be running on <strong>machine1</strong>.</p>

<p>On <strong>machine2</strong>, start the Bitcoin client (e.g. <code>bitcoin-qt</code>) with the <code>-connect</code> parameter.  That parameter will cause the client to connect only to the IP address specified.  For example:</p>

<pre><code>bitcoin-qt -connect=aaa.bbb.ccc.ddd
</code></pre>

<p>Where <code>aaa.bbb.ccc.ddd</code> is the IP address of <strong>machine1</strong>.  (Of course, specify any additional parameters that your configuration may require.)</p>

<p>Thus <strong>machine2</strong> will catch up to <strong>machine1</strong>'s state at LAN speeds (assuming you're connecting via a LAN;  It'll work equally well over any sort of connection that allows TCP port 8333, of course).</p>

<p>This seems to be best practice from what I gather, and obviates problems with mis-matched versions of Bitcoin clients, corrupt/partial copies, incorrect permissions, a lengthy chainstate index rebuild time, etc.</p>

<p>At any rate, I'm doing this right now and the "estimated time left until synced" from scratch is now 3 hours over the LAN instead of 11 days over the internet.</p>

<p>Edit:  To avoid losing any Bitcoins, backup <code>wallet.dat</code> on both machines.  That file is the key to your Bitcoins, as it were.  Without that file (or a copy), your BTCs are gone.  </p>

<p>If your concern is merely to be able to use your Bitcoins on another machine, you can move <code>wallet.dat</code> between machines, and/or swap wallet files on the same machine.</p>

<p>Just ensure that if you have two wallets with currency in them you don't overwrite one with the other.  </p>

<p>Before doing anything at all, <strong>backup both wallets to a couple of USB sticks and keep them somewhere very, very safe.</strong></p>

CC BY-SA 3.0
2017-10-17T03:11:47.547Z
2017-10-17T03:17:13.853Z
2017-10-17T03:17:13.853Z
s.co.tt
<p>Is it possible to move the Blockchain data from Windows to Mac? The wallet on windows is synced, the one on mac is not. The wallet on Mac has had some bitcoins sent to one of its addresses. Would it be safe to copy the blocks and chainstate folder to the mac from windows without losing the bitcoins?</p>

<bitcoin-core><mac><windows>
Move bitcoin data from Windows to Mac
None
# Move bitcoin data from Windows to Mac

(Asked by: username_0 on 2013-11-28)

Is it possible to move the Blockchain data from Windows to Mac? The wallet on windows is synced, the one on mac is not. The wallet on Mac has had some bitcoins sent to one of its addresses. Would it be safe to copy the blocks and chainstate folder to the mac from windows without losing the bitcoins?

**Tags:** bitcoin-core, mac, windows


---

## 2 answers

### Answer by username_1 on 2013-12-07. Score: 2

The blocks, chains, and all that excessive data can be tossed. All you need is your wallet.dat which contains your private key.

I like to think of it this way... The bitcoin network is like a massive bank full of billions, trillions, and so on of vaults. You can put coins into any vault without needing a key to that vault. You can only take coins out of a vault IF you have a key to that vault (your wallet). Your coins are never stored on your actually computer. Only the KEY to the vault is stored on your computer. That key is used to access your coins. Downloading the blockchain is simply a way of letting your bitcoin client know how many coins you have, who you sent coins to, and who sent coins to you. Its like a virtual copy of those billions of vaults, which mostly all you don't have access to. Only that vault whose key you possess. Good luck!


---

### Answer by username_2 on 2017-10-17. Score: 0

If your goal is to avoid re-downloading the entire blockchain from the public internet, and you need a full node running/synced on a separate machine, then:

For the sake of example, **machine1** is up-to-date and fully synced.

**machine2** is not up-to-date, but you want to get it to a fully synced state ASAP over your network.

Ensure that TCP port 8333 is open on **machine1**'s local firewall to, at the very least, the IP address of **machine2**.

The Bitcoin client should be running on **machine1**.

On **machine2**, start the Bitcoin client (e.g. `bitcoin-qt`) with the `-connect` parameter. That parameter will cause the client to connect only to the IP address specified. For example:

```
bitcoin-qt -connect=aaa.bbb.ccc.ddd

```

Where `aaa.bbb.ccc.ddd` is the IP address of **machine1**. (Of course, specify any additional parameters that your configuration may require.)

Thus **machine2** will catch up to **machine1**'s state at LAN speeds (assuming you're connecting via a LAN; It'll work equally well over any sort of connection that allows TCP port 8333, of course).

This seems to be best practice from what I gather, and obviates problems with mis-matched versions of Bitcoin clients, corrupt/partial copies, incorrect permissions, a lengthy chainstate index rebuild time, etc.

At any rate, I'm doing this right now and the "estimated time left until synced" from scratch is now 3 hours over the LAN instead of 11 days over the internet.

Edit: To avoid losing any Bitcoins, backup `wallet.dat` on both machines. That file is the key to your Bitcoins, as it were. Without that file (or a copy), your BTCs are gone.

If your concern is merely to be able to use your Bitcoins on another machine, you can move `wallet.dat` between machines, and/or swap wallet files on the same machine.

Just ensure that if you have two wallets with currency in them you don't overwrite one with the other.

Before doing anything at all, **backup both wallets to a couple of USB sticks and keep them somewhere very, very safe.**


---

