6

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?

5
  • 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
    Commented Nov 17, 2017 at 19:50
  • 1
    My CPU usage is about 15-20% while running the application so I was thinking more about the download speeds.
    – Regmi
    Commented Nov 17, 2017 at 19:52
  • 4
    @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. Commented Nov 18, 2017 at 0:29
  • Increasing the cache size helped quite a lot, thanks!
    – Regmi
    Commented Nov 18, 2017 at 6:10
  • @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
    Commented Nov 19, 2017 at 20:54

2 Answers 2

6

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

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).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.