Reth Design Mondays: March 2021 - gnosis/reth GitHub Wiki
March 27th 2021:
- RFC for an architecture proposal: https://github.com/gnosis/oe4/tree/master/crates/runtime
March 22nd 2021:
In no particular order:
- Overview of this meeting series.
- Problems we are trying to avoid.
- Lessons learned from OE.
- Walkthrough of folder structure.
- Decoupling information from data. Data is raw and unrecoverable, information is deduced from data. Example:
Transaction::to
stored as raw H160 is data, because this information cannot be recovered from anywhere.Transation::CallType(to)
is information, because it interprets theto
address and deduces that its contract creation if 0 or a call address otherwise from the raw data.- I think that we should keep data in the base structs and refactor out all information that can be deduced, so we will have wire-compatible minimal set of data that we can live with. This is important because different parts of the system will need to interpret those base structures in different ways and from different aspects, and its unwise to pollute the
core
create and its base types with those extra information that leads to having thecore
crate dependent on higher-level crates. - Example:
- Do we want to support legacy transitions or start with a new canvas? Examples:
- Open discussion.