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?

  • 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
    Nov 17 '17 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
    Nov 17 '17 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. Nov 18 '17 at 0:29
  • Increasing the cache size helped quite a lot, thanks!
    – Regmi
    Nov 18 '17 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
    Nov 19 '17 at 20:54

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


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, privacy policy and cookie policy

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