paradigmxyz / reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
https://reth.rs/
Apache License 2.0
3.5k stars 899 forks source link

In Memory Engine Tree state #8745

Open mattsse opened 2 weeks ago

mattsse commented 2 weeks ago

for the engine rewrite we need to decouple disk writes from state updates

Ideal we keep a larger range of blocks in memory and flush on demand.

This means to process engine and rpc requests, we need to able to access state at any block height.

This is likely similar to the current blockchaintree internals but must be more efficient wrt state root.

emhane commented 1 week ago

Ref https://github.com/sigp/lighthouse/blob/f1d88ba4b1256e084d3a2a547e0ce574b896246c/beacon_node/store/src/hot_cold_store.rs#L45-L83