![]() 128 blocks before the head) are effectively thrown away. States that existed before some recent block (e.g. 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. You can imagine the state as a momentary network snapshot at a given block and the archive as a history replay. The recent state is what all clients need to verify incoming transactions and use the network. the state associated with the last 128 blocks, so it can handle chain reorgs and provide fast access to recent data. 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. 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. ![]() This is handled by the execution layer (EL) client and includes: The global data with information about each account and contract is stored in a trie database called state. ![]() It consists of accounts and applications executing transactions which are changing their state. 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. You should understand the concept of an Ethereum node, its architecture, sync strategies, practices of running and using them. It is a useful tool for certain use cases but might be more tricky to run than a full node. An archive node is an instance of an Ethereum client configured to build an archive of all historical states.
0 Comments
Leave a Reply. |