reth
reth copied to clipboard
Discussion: how to refactor storage libraries
The structure of storage related libraries are now:
cratescodecsdblibmdbx-rsinterfaces(Database stuff becomes bigger and bigger, it probably deserves a standalone lib and moving them to the interface was not the greatest idea I though only the abstraction part is going to be here but this does not make a lot of sense now)- abstraction traits.
tablesprovidercodecsimpl
it can be refactored to:
crates:storage:libmdbx-rsdb(This would contains db traits from interfaces, and have a feature flagmdbx)- abstraction traits
tablesproviderscodecsimpl
codecs
Additionally, I would move the StageDb from reth-stages to providers to have all database-related operations in the same place.
Supportive - we've talked about this before.
interfaces (Database stuff becomes bigger and bigger, it probably deserves a standalone lib and moving them to the interface was not the greatest idea I though only the abstraction part is going to be here but this does not make a lot of sense now
Yep that was my bad.
@brockelmore tried to use the db and had some thoughts too but the proposed structure sgtm.
Was this closed in #371?