<blockquote>
<p>As far as I know, for running a full node, we should have enough storage to store the whole block chain which is currently around 390 GB.</p>
</blockquote>
<p>That's not correct. Bitcoin Core can run in pruned mode, where it downloads, processes, and verifies all blocks, but then discards them, only keeping the UTXO set and the last few hundred blocks.</p>
<p>A few features are unavailable in pruned mode. Obviously a pruned node cannot serve the full blockchain data to other nodes that are synchronizing, making them &quot;leeches&quot; in a way. Though so far, there seems to be no lack of full nodes that <em>do</em> serve the full chain.</p>
<p>Another unavailable feature is rescanning. This is only needed if you're importing an old backup of a wallet. In non-pruned mode, the wallet code can just go over all blockchain transactions to find any that may have paid it (or spent coins from it), and find its latest state. In pruning mode this is not possible, and you'd need to download all block data again.</p>
<blockquote>
<p>But here at the official bitcoin.org the minimum hard-disk is mentioned as 7 GB for running a full node. How is it possible?</p>
</blockquote>
<p>Running in pruned mode needs a few GB for the UTXO set, and this value may of course grow over time, but the growth much slower than the blockchain ifself.</p>
<blockquote>
<p>A side question: I have a virtual server with 100 GB capacity, and I wanted to run a full node. Can I run a full node with 100 GB storage?</p>
</blockquote>
<p>Running in pruned mode should be perfectly feasible.</p>

CC BY-SA 4.0
2022-06-02T13:08:35.500Z
Thanks for your answer. A question is that is there any practical difference between pruned on 50 GB or 20 GB while they both are incapable of serving blockchain to others? (the numbers 50 and 20 or just example, I mean in pruned mode does the size matter?)
Amir reza Riahi
CC BY-SA 4.0
2022-06-02T13:12:09.573Z
If you set it to 50 GB, you can use the last 50 GB of blocks, and you can import wallet backups that are not older than 50 GB worth of blocks, for example.
Pieter Wuille
CC BY-SA 4.0
2022-06-02T13:15:33.153Z
What about block hashes? Are they stored separately? Because I'm running in the pruned mode with 60GB, but with `bitcoin-cli getblockhash 1` I could access the hash of the first block. Though I'm sure my node has passed the 60 GB threshold and the early blocks must be removed.
Amir reza Riahi
CC BY-SA 4.0
2022-06-02T13:16:10.057Z
Yeah, all block *headers* are kept. Just not the "body" (meaning the transaction data) of blocks.
Pieter Wuille
CC BY-SA 4.0
2022-06-02T12:46:48.063Z
2024-06-01T12:02:28.870Z
2024-06-01T12:02:28.870Z
Pieter Wuille
<p>As far as I know, for running a full node, we should have enough storage to store the whole block chain which is currently around 390 GB. But <a href="https://bitcoin.org/en/full-node#minimum-requirements" rel="nofollow noreferrer">here</a> at the official bitcoin.org the minimum hard-disk is mentioned as 7 GB for running a full node. How is it possible?</p>
<p>A side question:
I have a virtual server with 100 GB capacity, and I wanted to run a full node. Can I run a full node with 100 GB storage?</p>

<full-node><storage>
Minimum disk space required for running a full node
Amir reza Riahi
# Minimum disk space required for running a full node

(Asked by: username_0 on 2022-06-02)

As far as I know, for running a full node, we should have enough storage to store the whole block chain which is currently around 390 GB. But [here](https://bitcoin.org/en/full-node#minimum-requirements) at the official bitcoin.org the minimum hard-disk is mentioned as 7 GB for running a full node. How is it possible?

A side question:
I have a virtual server with 100 GB capacity, and I wanted to run a full node. Can I run a full node with 100 GB storage?

**Tags:** full-node, storage


---

## 1 answers

### Answer by username_1 on 2022-06-02. Score: 4 | Accepted answer

> As far as I know, for running a full node, we should have enough storage to store the whole block chain which is currently around 390 GB.

That's not correct. Bitcoin Core can run in pruned mode, where it downloads, processes, and verifies all blocks, but then discards them, only keeping the UTXO set and the last few hundred blocks.

A few features are unavailable in pruned mode. Obviously a pruned node cannot serve the full blockchain data to other nodes that are synchronizing, making them "leeches" in a way. Though so far, there seems to be no lack of full nodes that *do* serve the full chain.

Another unavailable feature is rescanning. This is only needed if you're importing an old backup of a wallet. In non-pruned mode, the wallet code can just go over all blockchain transactions to find any that may have paid it (or spent coins from it), and find its latest state. In pruning mode this is not possible, and you'd need to download all block data again.

> But here at the official bitcoin.org the minimum hard-disk is mentioned as 7 GB for running a full node. How is it possible?

Running in pruned mode needs a few GB for the UTXO set, and this value may of course grow over time, but the growth much slower than the blockchain ifself.

> A side question: I have a virtual server with 100 GB capacity, and I wanted to run a full node. Can I run a full node with 100 GB storage?

Running in pruned mode should be perfectly feasible.

> **Comments:**
> **username_0**: Thanks for your answer. A question is that is there any practical difference between pruned on 50 GB or 20 GB while they both are incapable of serving blockchain to others? (the numbers 50 and 20 or just example, I mean in pruned mode does the size matter?)  
> **username_1**: If you set it to 50 GB, you can use the last 50 GB of blocks, and you can import wallet backups that are not older than 50 GB worth of blocks, for example.  
> **username_0**: What about block hashes? Are they stored separately? Because I'm running in the pruned mode with 60GB, but with `bitcoin-cli getblockhash 1` I could access the hash of the first block. Though I'm sure my node has passed the 60 GB threshold and the early blocks must be removed.  
> **username_1**: Yeah, all block *headers* are kept. Just not the "body" (meaning the transaction data) of blocks.  

---

