I'm looking to run bitcoind on a virtual machine.

However the main nets Blockchain size is over 21GB, and growing.

Is there a way to compress this down or lower the amount of disk-space needed for the full Blockchain?

  • in 2017 May the recommended minimum space is 125GB. – mixdev May 26 '17 at 21:05

No, there isn't any straightforward way to reduce the disk space requirement. The block chain is the size that it is.

There are various ways proposed for bitcoind to use less disk space (see ), but as far as I know, none of them have yet been added to the standard distribution.


What you can in your very specific case do is include a symlink to a folder that resides outside of your virtual machine (i.e., a shared folder with the host machine). Then the blockchain can fit in there with plenty of space.

Note, however, that people have sent virus signatures to the blockchain, so if your host is running windows, you'll have to deal with that and not quarentine specific folders.

  • moven the data out of the vm would not reduce required space, also two bitcoin instances cant access the same folder at the same time. Also no anti virus tool is blocking blockchain its already kown and ignored – Dennis Kriechel Jul 19 '14 at 23:27
  • huh? It would reduce disk space inside the VM. Isn't that his use case? – linhares Jul 21 '14 at 0:57
  • You do lower the space needed by the vm, but the physical disc space is still needed even its not attached directly to the vm, so you dont save any space. A vm disc can always be resized so this should not be the problem – Dennis Kriechel Jul 21 '14 at 4:49
  • So what you're saying is that OP's mentioning a VM in the question is absolutely irrelevant; that it's as relevant as OP talking about his/her hairstyle. Is that correct? At least that's how I'm reading your comment. – linhares Jul 22 '14 at 0:58
  • Thats right, not the vm is relevant but the general disc space. You see the accepted answer has nothing to do with vm. – Dennis Kriechel Jul 22 '14 at 4:03

There's currently no solution built into Bitcoin Core. I think that it would be possible to write a script that periodically moves the blkxxxx.dat files into a compressed filesystem and replaces the original files with symlinks. These files are large and reasonably compressible, so you might save a few GBs this way. The other database files are not very compressible, though.

The large blkxxxx.dat files are actually unused by Bitcoin Core except to transmit old blocks to peers, rescan the block chain for wallet transactions, handle reorgs, and fetch arbitrary blocks/transactions via JSON-RPC. Changing Bitcoin Core to discard this data would be fairly easy, but if everyone did this then the network would collapse, so it's not supported currently. In the future, nodes will probably only store a random subset of this data (maybe a few GBs) and discard the rest.

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.