good morning!!!!

Skip to content
Snippets Groups Projects
Unverified Commit c46540f5 authored by The-Coomer's avatar The-Coomer Committed by GitHub
Browse files

Update README to list all current 18 stages (#2486)

parent 44f43312
No related branches found
No related tags found
No related merge requests found
......@@ -78,13 +78,25 @@ This stage promotes local HEAD pointer.
Creates an index of blockHash -> blockNumber extracted from the headers for faster lookups and making the sync friendlier for HDDs.
### Stage 3: [Download Block Bodies Stage](/eth/stagedsync/stage_bodies.go)
### Stage 3: [Create headers snapshot](/eth/stagedsync/stage_headers_snapshot.go)
Not enabled by default.
Enable by --snapshot.layout
### Stage 4: [Download Block Bodies Stage](/eth/stagedsync/stage_bodies.go)
At that stage, we download bodies for block headers that we already downloaded.
That is the most intensive stage for the network connection, the vast majority of data is downloaded here.
### Stage 4: [Recover Senders Stage](/eth/stagedsync/stage_senders.go)
### Stage 5: [Create bodies snapshot](/eth/stagedsync/stage_bodies_snapshot.go)
Not enabled by default.
Enable by --snapshot.layout
### Stage 6: [Recover Senders Stage](/eth/stagedsync/stage_senders.go)
This stage recovers and stores senders for each transaction in each downloaded block.
......@@ -92,7 +104,7 @@ This is also a CPU intensive stage and also benefits from multi-core CPUs.
This stage doesn't use any network connection.
### Stage 5: [Execute Blocks Stage](/eth/stagedsync/stage_execute.go)
### Stage 7: [Execute Blocks Stage](/eth/stagedsync/stage_execute.go)
During this stage, we execute block-by-block everything that we downloaded before.
......@@ -106,7 +118,17 @@ This stage is disk intensive.
This stage can spawn unwinds if the block execution fails.
### Stage 6: [Generate Hashed State Stage](/eth/stagedsync/stage_hashstate.go)
### Stage 8: [Transpile marked VM contracts to TEVM](/eth/stagedsync/stage_tevm.go)
[TODO]
### Stage 9: [Create state snapshot](/eth/stagedsync/stage_state_snapshot.go)
Not enabled by default.
Enable by --snapshot.layout
### Stage 10: [Generate Hashed State Stage](/eth/stagedsync/stage_hashstate.go)
Erigon during execution uses Plain state storage.
......@@ -118,7 +140,7 @@ If the hashed state is not empty, then we are looking at the History ChangeSets
This stage doesn't use a network connection.
### Stage 7: [Compute State Root Stage](/eth/stagedsync/stage_interhashes.go)
### Stage 11: [Compute State Root Stage](/eth/stagedsync/stage_interhashes.go)
This stage build the Merkle trie and checks the root hash for the current state.
......@@ -132,7 +154,11 @@ If the root hash doesn't match, it initiates an unwind one block backwards.
This stage doesn't use a network connection.
### Stages 8, 9, 10, 11: Generate Indexes Stages [8, 9](/eth/stagedsync/stage_indexes.go), [10](/eth/stagedsync/stage_log_index.go), and [11](/eth/stagedsync/stage_txlookup.go)
### Stage 12: [Generate call traces index](/eth/stagedsync/stage_call_traces.go)
[TODO]
### Stages 13, 14, 15, 16: Generate Indexes Stages [8, 9](/eth/stagedsync/stage_indexes.go), [10](/eth/stagedsync/stage_log_index.go), and [11](/eth/stagedsync/stage_txlookup.go)
There are 4 indexes that are generated during sync.
......@@ -156,7 +182,7 @@ This index sets up a link from the [TODO] to [TODO].
This index sets up a link from the transaction hash to the block number.
### Stage 12: [Transaction Pool Stage](/eth/stagedsync/stage_txpool.go)
### Stage 17: [Transaction Pool Stage](/eth/stagedsync/stage_txpool.go)
During this stage we start the transaction pool or update its state. For instance, we remove the transactions from the blocks we have downloaded from the pool.
......@@ -164,6 +190,6 @@ On unwinds, we add the transactions from the blocks we unwind, back to the pool.
This stage doesn't use a network connection.
### Stage 13: Finish
### Stage 18: Finish
This stage sets the current block number that is then used by [RPC calls](../../cmd/rpcdaemon/Readme.md), such as [`eth_blockNumber`](../../README.md).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment