Ethereum Archive Node | ethereum.org (2024)

Last edit: , October 24, 2023

An archive node is an instance of an Ethereum client configured to build an archive of all historical states. It is a useful tool for certain use cases but might be more tricky to run than a full node.

Prerequisites

You should understand the concept of an Ethereum node, its architecture, sync strategies, practices of running and using them.

What is an archive node

To grasp the importance of an archive node, let's clarify the concept of "state." Ethereum can be referred to as transaction-based state machine. It consists of accounts and applications executing transactions which are changing their state. The global data with information about each account and contract is stored in a trie database called state. This is handled by the execution layer (EL) client and includes:

  • Account balances and nonces
  • Contract code and storage
  • Consensus-related data, e.g. Staking Deposit Contract

To interact with the network, verify and produce new blocks, Ethereum clients have to keep up with the most recent changes (the tip of the chain) and therefore the current state. An execution layer client configured as a full node verifies and follows the latest state of the network but only caches the past few states, e.g. the state associated with the last 128 blocks, so it can handle chain reorgs and provide fast access to recent data. The recent state is what all clients need to verify incoming transactions and use the network.

You can imagine the state as a momentary network snapshot at a given block and the archive as a history replay.

Historical states can be safely pruned because they are not necessary for the network to operate and it would be uselessly redundant for client to keep all out-of-date data. States that existed before some recent block (e.g. 128 blocks before the head) are effectively thrown away. Full nodes only keep historical blockchain data (blocks and transactions) and occasional historical snapshots they can use to regenerate older states on request. They do this by re-executing past transactions in the EVM, which can be computationally demanding when the desired state is far from the nearest snapshot.

However, this means that accessing a historical state on a full node consumes a lot of computation. The client might need to execute all past transactions and compute one historical state from genesis. Archive nodes solve this by storing not only the most recent states but every historical state created after each block. It basically makes a trade-off with bigger disk space requirement.

It's important to note that the network does not depend on archive nodes to keep and provide all historical data. As mentioned above, all historical interim states can be derived on a full node. Transactions are stored by any full node (currently less than 400G) and can be replayed to build the whole archive.

Use cases

Regular usage of Ethereum like sending transactions, deploying contracts, verifying consensus, etc. does not require access to historical states. Users never need an archive node for a standard interaction with the network.

The main benefit of state archive is a quick access to queries about historical states. For example, archive node would promptly return results like:

  • What was ETH balance of account 0x1337... at block 15537393?
  • What is the balance of token 0x in contract 0x at block 1920000?

As explained above, a full node would need to generate this data by EVM execution which uses the CPU and takes time. Archive nodes access them on the disk and serve responses immediately. This is a useful feature for certain parts of infrastructure, for example:

  • Service providers like block explorers
  • Researchers
  • Security analysts
  • Dapp developers
  • Auditing and compliance

There are various free services that also allow access to historical data. As it is more demanding to run an archive node, this access is mostly limited and works only for occasional access. If your project requires constant access to historical data, you should consider running one yourself.

Implementations and usage

Archive node in this context means data served by user facing execution layer clients as they handle the state database and provide JSON-RPC endpoints. Configuration options, sync time and database size may vary by client. For details, please refer to the documentation provided by your client.

Before starting your own archive node, learn about the differences between the clients and especially the various hardware requirements. Most clients are not optimized for this feature and their archives require more than 12TB of space. In contrast, implementations like Erigon can store the same data in under 3TB which makes them the most effective way of running an archive node.

Recommended practices

Apart from general recommendations for running a node, an archive node may be more demanding on hardware and maintenance. Considering Erigons key features(opens in a new tab), the most practical approach is using the Erigon client implementation.

Hardware

Always make sure to verify hardware requirements for a given mode in a client's documentation.The biggest requirement for archive nodes is the disk space. Depending on client, it varies from 3TB to 12TB. Even if HDD might be considered a better solution for large amounts of data, syncing it and constantly updating the head of the chain will require SSD drives. SATA(opens in a new tab) drives are good enough but it should be a reliable quality, at least TLC(opens in a new tab). Disks can be fitted into a desktop computer or a server with enough slots. Such dedicated devices are ideal for running high uptime node. It's totally possible to run it on a laptop but the portability will come at an additional cost.

All of the data needs to fit in one volume, therefore disks have to be joined, e.g. with RAID0(opens in a new tab) or LVM(opens in a new tab). It might be also worth considering using ZFS(opens in a new tab) as it supports "Copy-on-write" which ensures data is correctly written to the disk without any low level errors.

For more stability and security in preventing accidental database corruption, especially in a professional setup, consider using ECC memory(opens in a new tab) if your system supports it. The size of RAM is generally advised to be the same as for a full node but more RAM can help speed up the synchronization.

During initial sync, clients in archive mode will execute every transaction since genesis. Execution speed is mostly limited by the CPU, so a faster CPU can help with the initial sync time. On an average consumer computer, the initial sync can take up to a month.

Further reading

  • Nodes and clients
  • Running a node
back-to-top ↑

Was this article helpful?

Ethereum Archive Node | ethereum.org (2024)

FAQs

How much does an Ethereum archive node cost? ›

Pricing table
BlockchainRetentionPrice
EthereumFull$0.69 per hour
EthereumArchive$2.74 per hour

What is the difference between full node and archive node? ›

An archive node is a full node that additionally maintains storage of historical blockchain states. While a full node can calculate a historical state, an archive node readily has the information in local storage and has better performance for these types of requests.

How much does archive node cost? ›

Ethereum archive nodes starting at just 49$

Get access to Ethereum archive nodes to query the entire history of the Mainnet—starting at just $49 per month. And with Chainstack's Bolt fast sync technology, you can deploy your own dedicated archive node in minutes instead of months.

How much does it cost to run an Ethereum full node? ›

Ethereum Full Node with Proof-of-Stake (PoS) by Techlatest.net
EC2 Instance typeSoftware/hrTotal/hr
m4.large$0.15$0.25
m4.xlarge$0.15$0.35
m4.2xlarge$0.15$0.55
m4.4xlarge$0.15$0.95
75 more rows

How much money can you make running an Ethereum node? ›

Your Estimated Rewards:
DurationETH StakeETH Reward
Day32.0035 ETH ($94 511.03)0.0035 ETH ($10.23)
Week32.0242 ETH ($94 572.39)0.0242 ETH ($71.59)
Month32.1074 ETH ($94 817.86)0.1074 ETH ($317.06)
Year33.2641 ETH ($98 233.94)1.2641 ETH ($3 733.14)

Is running an ETH node profitable? ›

Running an Ethereum node can be very profitable if you are willing to invest the time and money into setting up and maintaining the node. Node operators not only benefit from the potential revenue generated from mining tokens, but also contribute to the security and development of the Ethereum network.

How many ETH to run a node? ›

Users need to stake 32 ETH to the smart contract to set up and run a node. Furthermore, node operators need vast technical expertise to run their nodes optimally. As a result, many investors choose to delegate ETH through liquid staking services, which offer far more freedom and flexibility.

How big is an Ethereum archive node? ›

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.

Is a full node a miner? ›

A Bitcoin miner or Bitcoin mining node is a type or subset of a full node. However, not all full nodes are mining nodes. A full node maintains a complete and updated copy of the blockchain and validates transactions and blocks. Mining nodes include these capabilities but also participate in the mining process.

Is it expensive to run a node? ›

A Full Bitcoin Node will consume potentially a significant amount of bandwidth, on the order of 100GB/day. At a rate of $0.09/GB, that comes to approximately $10 per day, but will vary between $5 and $15 per day.

Is running node profitable? ›

The profitability of running a node depends on several factors, including the type of node, the specific blockchain network, the cost of hardware and electricity, and the current rewards structure of the network.

How much does it cost to run a node Bitcoin? ›

One of the most popular devices for Bitcoin nodes is the Raspberry Pi, a small computer, about the size of a human hand. A Raspberry Pi has enough processing power to operate a Bitcoin node and only costs about $50. Storage. You will need an external drive to have enough memory to store the entire blockchain.

Should I run my own Ethereum node? ›

Privacy: Running your own node allows you to interact with the Ethereum network privately. This means that your IP address and transaction history will not be exposed to third-party services. Performance: Running your own node can improve the performance of your Ethereum applications.

Do you need 32 ETH to run a node? ›

Staking solo will always require a minimum stake of 32 ETH, the amount required to run a validator node on the Ethereum network.

How much RAM does Ethereum node need? ›

To maximize the efficiency of your validator, a minimum of 16 GB RAM is recommended, but 32 GB is better, with a CPU benchmark score of 6667+ on cpubenchmark.net(opens in a new tab) . It is also recommended that stakers have access to unlimited high-speed internet bandwidth, though this is not an absolute requirement.

How much storage is needed for Ethereum archive node? ›

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 (as of March 2023, archive mode on Geth takes ~13.5 TB, and Erigon takes up ~2 TB (3 TB is recommended)).
  • 25 MBit/s bandwidth.
Dec 11, 2023

How much does it cost to deploy ERC 20 token? ›

On average, the cost to create ERC20 token lies between $5000 to $10,000, depending on the type of token developed and business requirements.

How much ETH is needed for a node? ›

Users need to stake 32 ETH to the smart contract to set up and run a node. Furthermore, node operators need vast technical expertise to run their nodes optimally. As a result, many investors choose to delegate ETH through liquid staking services, which offer far more freedom and flexibility.

How much does ETH validator cost? ›

Ethereum Validator Node Prysmatic (For Solo Staking & Native Restaking)
Unit typeCost/unit/hourCost/unit over a 365-day contract
ECS Task$0.03$240.00

Top Articles
Latest Posts
Article information

Author: Edwin Metz

Last Updated:

Views: 5594

Rating: 4.8 / 5 (78 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Edwin Metz

Birthday: 1997-04-16

Address: 51593 Leanne Light, Kuphalmouth, DE 50012-5183

Phone: +639107620957

Job: Corporate Banking Technician

Hobby: Reading, scrapbook, role-playing games, Fishing, Fishing, Scuba diving, Beekeeping

Introduction: My name is Edwin Metz, I am a fair, energetic, helpful, brave, outstanding, nice, helpful person who loves writing and wants to share my knowledge and understanding with you.