I synchnorized Ethereum blockchain in my AWS Ubuntu 16.04 server with 110GB Hard Disk.

The command I used is geth --syncmode=fast --cache=1024

According to bitinfocharts, the total size of Ethereum Blockchain is 103.10 GB total as of today (2017.11.26).

After synchronization is completed, I typed dh -h to find out how much disk space it consumed.

It is ONLY USED 38GB, which is 1/3 of the blockchain size!

Does anyone know why?


From this link, 5chdn answered that the Geth only offers database pruning on initial sync.

Is that the reason? what If i want to synchronized full blockchain node?

What command should I use to sync the full node?

3 Answers 3


You do have the whole blockchain, you are not missing any information. It's true initial sync is done in "fast" mode and contains pruned information that you don't need.

So everything is all good and well.

This also means that it's not a bad idea to delete the blockchain data and restart if you are low on disk storage and has been running a node for >6 months. The database will be much smaller (but again they both are full nodes).

  • Thank you for your comment. But, i still don't understand why the blockchain size is a lot different from the bitinfocharts website (bitinfocharts.com, right now the blockchain size is 121.79GB). If I have the whole blockchain, then i thought it should be closer to 121.79GB.
    – JayB Kim
    Commented Dec 3, 2017 at 4:26
  • There are many details that I can go into to answer the question you have, but you will find better answers if you search for what the difference between a pruned and archived blockchain is for Ethereum. One analogy is compression. You can have a 10 MB file compressed to 1 MB, you still have all the needed information with the 1MB file (even if pruning is not the same as compression).
    – xgabrielx
    Commented Dec 3, 2017 at 10:30
  • thank you! I will search more. Basically, since i used --fastmode I synced the pruned blockchain data.
    – JayB Kim
    Commented Dec 4, 2017 at 2:04

The fast sinc mode is another sync algorithm.

Fast Sync: Gets the block headers, the block bodies, it processes no transactions until current block - 1024. Then >it gets a snapshot state and goes like a full synchronization.

(What is Geth's "light" sync, and why is it so fast?)

More details here: https://github.com/ethereum/go-ethereum/pull/1889


You can now use chainstats, a page made by Chainstack, a blockchain infrastructure provider (full disclosure, I'm a dev advocate at Chainstack and worked on this page).

This app displays the current size of all the public network Chainstack supports based on the Protocol, node type (full or archive), and blockchain client.

It is automatically updated when the size changes in the resources required by the servers.

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.