# Type of Node

There are two kind of node that it is possible to run, according to the user needs: [Archive Node](#archive-node) or [Full Node](#full-node-or-pruned-node).

## Archive Node

An archive node is designed to store and maintain a **complete record of every transaction, contract, and block** that has ever existed on the network. Unlike other types of nodes, archive nodes are designed to store a lot of data.&#x20;

Overall, an Ethereum archive node is an important tool for anyone who wants to access historical information about the Ethereum blockchain network. This makes it especially useful for researchers, developers, and anyone who needs to access historical information about the network. If you're interested in working with the Ethereum blockchain, an archive node is definitely worth considering. In combination with [Otterscan](https://docs.erigon.tech/erigon/v2/basic-usage/otterscan), a Erigon full archive node can be a powerful tool for **research, analysis, development**, and more.

An archive node requires **a lot of storage space and processing power**, which is why archive nodes are typically run by larger organizations or individuals with specific requirements.

**Erigon is by default a Full Archive node**, which means that if you run it without specific flags it will download the whole history of the network you decide to run.

## Full Node (or Pruned Node)

The function of full nodes is to receive, verify, store, and distribute data on blockchain transactions, following the network consensus rules to maintain the blockchain's integrity. Whenever a node encounters a transaction or block that does not fit the Ethereum guidelines, it is dealt with automatically. Moreover, full nodes are capable of executing all of the instructions listed in smart contracts whenever a transaction includes one. These contracts can also be uploaded to a full node directly.

Also known as *pruned node*, a full node maintains the blockchain's current state and data on the network, excluding trace data for transactions that are beyond the most recent 128 blocks. To be more efficient, full nodes may trim their data collection to **save disk space** and facilitate **faster synchronization**. Nevertheless, the data they maintain is enough for most usage scenarios.

You can run a **Erigon full node** using the **`--prune`** command. In this example you can run a Ethereum full node storing only the latest 90'000 blocks:

```
./build/bin/erigon --internalcl --prune=hrtc
```

See [options ](https://docs.erigon.tech/erigon/v2/advanced-usage/options)for more  `--prune` customizations.

{% hint style="warning" %}
**Warning**: Once Erigon has been started as a full archive node, it is not possible to switch to a pruned node, and vice versa. To do this, you must first delete the `/chaindata` folder in the choosen `--datadir` directory
{% endhint %}

### Full Archive Node vs Full Node

<table><thead><tr><th width="304"> </th><th width="176.33333333333331">Archive Full Node</th><th>Full Node</th></tr></thead><tbody><tr><td>Disk space required (Ethereum)</td><td>~ 3.5TB</td><td>~ 2TB</td></tr><tr><td>HW requirements</td><td>High</td><td>Medium</td></tr><tr><td>State enquires</td><td>Yes</td><td>Only recent blocks</td></tr><tr><td>Sending transaction</td><td>Yes</td><td>Yes</td></tr></tbody></table>

**See also more information here**

{% embed url="<https://ethereum.org/en/developers/docs/nodes-and-clients/archive-nodes/>" %}
