Marketplace has launched, further enabling blockchain developers! Learn more

Ethereum Full Node vs Archive Node

September 20, 2022

Overview

Ethereum runs on a network of computers (also known as nodes) that verify transactions based on a consensus protocol and ledger, which make up the blockchain. In this guide, you will learn more about nodes, the types of nodes, and then explore the requirements needed to run them.

What You Will Need

  • Basic understanding of Ethereum

What You Will Do

  • Learn about Nodes on Ethereum
  • Learn about Full Nodes
  • Learn about Archive Nodes
  • Explore the different Ethereum clients
  • Learn about recommended hardware requirements

What is a Node in Ethereum?

A node is a computer that runs the Ethereum client software and is connected to other nodes on the network. These nodes work together to verify transactions and verify the common blockchain database known as a ledger. There are different types of nodes and client software programs with different features and purposes, which we will dive into shortly. 

Note that Ethereum's consensus protocol will change after The Merge (eta 09/16/22) from PoW to PoS. This change will affect users running nodes as they will now need to run two different types of Ethereum clients (the execution and consensus client) to be able to support the network. Therefore, the context of this guide will be around the new PoS infrastructure.

Here are the key takeaways for Full and Archive nodes on Ethereum:

  • Full Node: Stores and maintains the full blockchain data on disk. It serves blockchain data upon request and helps support the network by participating in block validation and by verifying all blocks and states. All states can be derived from a Full node.
  • Archive Node: Inherits the same capabilities as Full nodes and also builds an archive of historical states. This type of node is useful when querying historical blockchain data that is not accessible on Full nodes. Archive nodes aren’t required to participate in block validation and can be built from scratch using a Full node.

What is an Ethereum Full Node?

A Full node on Ethereum's PoW consensus mechanism consisted of only one client software. In the new state of Ethereum (aka ETH2 with Proof-of-Stake) a Full node will consist of two different client software, one for the consensus layer and the other for the execution layer. Together these clients work to verify Ethereum's state and relay information to incoming JSON RPC requests and consensus layer validators.

Recommended hardware requirements to run a Full node:

  • A fast CPU with 4+ cores
  • 16 GB+ of RAM
  • A fast SSD drive with at least 1 TB of space (storage capacity will grow over time)
  • 25 MBit/s bandwidth

Luckily, it doesn't take much computing power to run a Full node. However, it is recommended that you use SSD for your storage and be aware that the blockchain size will grow over time.

What is an Ethereum Archive Node?

An Archive node inherits the same capabilities as a Full node and builds an archive of historical states. This type of node is useful when querying historical blockchain data that is not accessible on Full nodes. For example, if you need block data before the last 128 blocks, you'll want to access an Archive node. Also, note that Archive nodes aren't required to participate in block validation and can theoretically be built from scratch by simply replaying the blocks from genesis.

The storage capacity required for running an Archive node is higher since you store an archive of historical states. Currently, the storage needed for running an Archive node is around ~12 TB on Geth and ~2 TB on Erigon (which will grow over time). Also, keep in mind that the database size and synchronization speed will vary for each client and its configuration.

Recommended hardware requirements to run a Full Archive node:

  • A fast CPU with 4+ cores
  • 16 GB+ of RAM
  • Storage will vary depending on the client software (ss of September 2022, archive mode on Geth takes ~12 TB and Erigon takes up ~2 TB).
  • 25 MBit/s bandwidth

Benefits of Running a Node

Running a node (i.e., Full node) helps keep the network more diverse and decentralized. It also lets you directly interact with Ethereum without relying on other nodes.

Alternatively, if you don't want to manage the hardware and software requirements of running a node, you can easily get optimized access to an Ethereum endpoint with QuickNode for free! QuickNode offers access to over 15 blockchains and counting! QuickNode also has a subset of enhanced APIs that allow for easy querying of aggregated blockchain data (e.g., ERC-721, ERC-20 data). Just create an account for free, then click the Create Endpoint button and select the Ethereum mainnet chain. Once your endpoint is ready, copy the HTTP Provider URL for read and write access to the Ethereum blockchain.

Note that Archive requests on QuickNode are included in all plans and use up API Credits. However, an add-on is required if you created your QuickNode account before July 25, 2022.

Ethereum Software Clients

In addition to the Ethereum blockchain being open-source, you can choose from multiple open-source clients. You can run these clients on the most common operating systems. Just be sure to keep your software up-to-date to prevent any security vulnerabilities. As stated previously, Ethereum is shifting to a PoS consensus mechanism which will require two different Ethereum clients to be running to participate as a node. Let's dive a bit into each.

Execution Clients

For every execution client software, you should expect differences as each tries to capture a different user audience and provides different features. Check out each client softeware's github repository for more info. Note that these exeuction clients can operate in both Full and Archive mode.

The most popular execution client libraries for mainnet and goerli network is:

  • Geth: Written in Go;supports most operating systems and networks
  • Nethermind: Written in C#, .NET; supports most operating systems and networks
  • Erigon: Written in Go; supports most operating systems and networks
  • Besu: Written in Java, and supports most operating systems and networks

Consensus Clients

Consensus clients are introduced with the consensus mechanism (PoS) update. They support the Beacon Chain and provide a consensus layer to the execution clients. Consensus clients can also operate in Full and Archive mode.

The most popular consensus clients are:

  • Prysm: Written in Go; supports most operating systems and networks (e.g., Beacon Chain, Gnosis, Goerli, Pyrmont)
  • Teku: Written in Java; supports most operating systems and networks (e.g., Beacon Chain, Gnosis, Goerli, Sepolia)
  • Lighthouse: Written in Rust; supports most operating systems and networks (e.g., Beacon Chain, Goerli, Pyrmont)

Each type of client has different synchronization settings, but we won't get into those details for this guide (you can find more info about this on each Ethereum clients github).

Recommendations when Choosing Hardware to Run a Node

When it comes to processing transactions inside the Ethereum Virtual Machine (EVM), or making JSON-RPC calls that interact with the EVM, such as syncing new blocks, calling smart contracts, or tracing transaction data the thing you have to remember is that the EVM is not well suited to parallel processing. This means that the "Single Core" performance of your CPU plays a major role in the performance of your node. Modern processors, especially on the server side, often favor high core counts overclock speeds and Instructions Per Clock (IPC) performance. This often leads to lackluster performance after spending a lot of money on a "fast" server. Keep this in mind when choosing hardware whenever possible.

Another thing to consider is RAM - one of the biggest limitations for consumer hardware is often their storage performance. Even modern PCIe Gen 4 NVMe SSDs cannot compare to the performance of DRAM when it comes to latency. This means that the more RAM you have in your system the more data that can be cached by your node. More RAM is almost always better and reduces the wear and tear on your storage. Most Ethereum clients are very good at caching as much data as possible and reducing how often it needs to read or write data to the disk. Obviously, there are diminishing returns after a point, but the blockchain state is currently ever-growing. Don't skimp.

Finally, when considering storage, you generally want to buy the fastest storage you can without breaking the bank. NVMe will generally provide a performance boost over SATA SSDs. Avoid QLC and PLC flash, as these tend to suffer significant performance degradation during periods of "sustained writes" and avoid network attached storage when possible. The extra latency added by network storage is often highly detrimental to node performance.

Final Thoughts


Kudos! You now have a better understanding of Ethereum Full and Archive nodes. Check out some of our other Ethereum guides here.

Got ideas, questions, or want to show off what you have learned? Tell us on Discord or reach out to us via Twitter.

We <3 Feedback!

If you have any feedback or questions on this guide, let us know. We'd love to hear from you!

Related articles 11

How to setup a Chainlink node
Published: Jul 6, 2020
Updated: Sep 21, 2022

Smart-contracts are the heart and soul of all the development happening on the Ethereum blockchain, and as more and more people develop on Ethereum, smart contracts are becoming more...

Continue reading
Introduction to Ethereum Rollups
Published: Dec 28, 2021
Updated: Sep 9, 2022

Ethereum, the most popular blockchain, has seen scaling issues for quite a long time now. With high gas fees due to congestion being the primary pain point. With the increasing cost to use the...

Continue reading
How to run a Hyperledger Besu node
Published: May 18, 2021
Updated: Sep 9, 2022

As the Ethereum network continues to grow, the need for an enterprise-ready Ethereum client arises. Hyperledger Besu is an enterprise-friendly Ethereum client that can implement both public...

Continue reading
How to Run a Binance Smart Chain Node
Published: Jul 2, 2021
Updated: Oct 11, 2022

Binance Smart Chain, BSC for short, is a blockchain that seeks to provide both an alternative and extension to the Ethereum Blockchain. It has done this through several clever implementations...

Continue reading
How to install and run a Geth node
Published: Apr 5, 2020
Updated: Sep 12, 2022

Ethereum nodes are computers participating in Ethereum blockchain network. These nodes are actual computers running software that verifies, stores, and sometimes creates blocks. The actual...

Continue reading
How to run Nethermind node
Published: May 18, 2021
Updated: Nov 18, 2022

To run an Ethereum node without any problems, it is essential to choose a good node client. Nethermind is one of the oldest and most trusted Ethereum node clients. In this guide, let’s see how...

Continue reading
How to Install and Run a Stacks Node
Published: Aug 26, 2022
Updated: Sep 9, 2022

Stacks 2.0 is an open-source layer-1 blockchain that allows developers to build smart contracts and decentralized blockchain applications. This guide will demonstrate how to install the Stacks...

Continue reading
How to Use Laika with QuickNode
Published: Apr 22, 2022
Updated: Sep 9, 2022

Developers spend most of their time writing code, testing, and fixing bugs. A lot of the time spent with these tasks can be simplified by using a tool like Laika. Laika is a Web3 development...

Continue reading