[Docs] Add PoS downloader diagram (#4084)

* Extra comment for HeadersPOS

* Add PoS downloader diagram
This commit is contained in:
Andrew Ashikhmin 2022-05-06 09:55:31 +02:00 committed by GitHub
parent f480865a26
commit f900dbadee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 1 deletions

View File

@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-05-05T14:54:57.332Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36" etag="F0bu5vUQjcQ5rGePYll9" version="18.0.0" type="device"><diagram id="SWHnDe6nQBYVYo2iqZuK" name="Page-1">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</diagram></mxfile>

BIN
docs/pos_downloader.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

View File

@ -58,6 +58,11 @@ So, when we are generating indexes or hashed state, we do a multi-step process.
This optimization sometimes leads to dramatic (orders of magnitude) write speed improvements.
## What happens after the Merge?
In the Proof-of-Stake world staged sync becomes somewhat more complicated, as the following diagram shows.
![](/docs/pos_downloader.png)
## Stages (for the up to date list see [`stagedsync.go`](/eth/stagedsync/stagedsync.go) and [`stagebuilder.go`](/eth/stagedsync/stagebuilder.go)):
Each stage consists of 2 functions `ExecFunc` that progesses the stage forward and `UnwindFunc` that unwinds the stage backwards.

View File

@ -141,7 +141,8 @@ func SpawnStageHeaders(
}
}
// HeadersPOS processes Proof-of-Stake requests (newPayload, forkchoiceUpdated)
// HeadersPOS processes Proof-of-Stake requests (newPayload, forkchoiceUpdated).
// It also saves PoS headers downloaded by (*HeaderDownload)StartPoSDownloader into the DB.
func HeadersPOS(
s *StageState,
u Unwinder,