Skip to content

Compose Protocol Spec with Dagger #7326

Open
@jflo

Description

Per this comment

The ProtocolSpec collects all necessary objects needed to adhere to an Ethereum protocol for a specified segment of the blockchain. That segment is best thought of as the chain of blocks between hardfork points, and each is defined by a ProtocolSchedule. Any time protocol logic may vary depending on block height (i.e. when features have been released or not), the ProtocolSchedule is consulted to get the current ProtocolSpec, which then provides the necessary implementations.

The ProtocolSpec is usually a collection of instances which all behave in a fixed way, which is known at compile time. This makes it a good candidate for providing via Dagger, and any client classes using what is provided, will no longer care about what those depend on.

Metadata

Assignees

Labels

techdebtmaintenance, cleanup, refactoring, documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions