Is it possible to transfer blockchain data from one machine to another?

2

I want to run a bitcoin full node at home but the initial sync-up is taking days because of my slow internet connection. Can I download the blockchain data from a machine with faster connection and transfer over to my home machine? Is this possible and if yes, how?

Regmi

Posted 2017-11-17T19:37:44.987

Reputation: 133

You may want to ask yourself whether the bottleneck is really your connection, or you CPU. While the blockchain is large, for most people, the bottleneck is the verification of the blocks/transactions rather than network speed.Jestin 2017-11-17T19:50:39.660

1My CPU usage is about 15-20% while running the application so I was thinking more about the download speeds.Regmi 2017-11-17T19:52:48.690

3@Regmi It's like I/O bound, rather than network bound. Block validation needs very large amounts of database operations, which often translates on the CPU waiting for disk. You can often improve this by increasing the -dbcache setting.Pieter Wuille 2017-11-18T00:29:18.480

Increasing the cache size helped quite a lot, thanks!Regmi 2017-11-18T06:10:54.823

@PieterWuille The processing of the last blocks, Oct-Nov, took the longest and yes, those depended very much on my hd throughputs. I should have used an SSD but the node is up and running now, thanks.Regmi 2017-11-19T20:54:51.300

Answers

3

You can simply copy the entire data directory from an existing bitcoin-core installation on another machine over to your machine, then start the bitcoind daemon.

Be aware you'll want to create a backup of the wallet.dat file from the destination machine so you don't inadvertently overwrite it. You may also want to confirm the bitcoin.conf settings work for the destination machine. Specifically, you may want to modify the rpcpassword, memory configuration, etc.

On Windows, the data folder is installed by default into %AppData%\Bitcoin

Max Vernon

Posted 2017-11-17T19:37:44.987

Reputation: 1 376

0

If you trust that machine, no problem to do it. All blocks in chains (which means "mined ones" (which means confirmed ones) ) are same in all nodes. But if somebody changed some parts of the chain you fetched from "somewhere", they can spoof received/sent transactions which can be observed as "correct" only in your node. To make sure, you can just compare hashes of the blocks (which contains your in / out transactions) in your node with ones in another node (maybe in blockchain.info).

uykusuzessek

Posted 2017-11-17T19:37:44.987

Reputation: 11