Instead of using normal sync, we should be able to use for example Geth, sync with Hoodi, and export all blocks from genesis to head to some rlp file, like hoodi-blocks.rlp. I think Geth has this capability.
Then, on an empty database, we should be able to import them to ethrex via ethrex import hoodi-blocks.rlp.
This should be much faster and should have several benefits:
- Easier performance benchmarks, charts, etc..
- Easier debugging of levm
This was inspired on https://github.com/jsvisa/goleveldb-bench/blob/pebble/pebble-2.md#geths-workflow
Acceptance criteria:
- Do not import blocks in batch, we want to verify the root on each block
- Support very large
.rlp files. Do we want/nned to stream the file?
- If a block is invalid, we probably want to output an error message and exit.
Here is the link to all hoodi blocks: https://drive.google.com/file/d/1f_N1MEiETY6K4UkzvO3XJjYwjXgepV5H/view?usp=drive_link
Instead of using normal sync, we should be able to use for example Geth, sync with Hoodi, and export all blocks from genesis to head to some rlp file, like
hoodi-blocks.rlp. I think Geth has this capability.Then, on an empty database, we should be able to import them to ethrex via
ethrex import hoodi-blocks.rlp.This should be much faster and should have several benefits:
This was inspired on https://github.com/jsvisa/goleveldb-bench/blob/pebble/pebble-2.md#geths-workflow
Acceptance criteria:
.rlpfiles. Do we want/nned to stream the file?Here is the link to all hoodi blocks: https://drive.google.com/file/d/1f_N1MEiETY6K4UkzvO3XJjYwjXgepV5H/view?usp=drive_link