@freesig and I discussed this in slack a few days ago, the gist is this:
Ideally we keep the essential-base repo focused on the VMs as a set of generalised validation libraries. It would be great if we can keep it agnostic of the current blockchain implementation it happens to be used in.
We've been able to achieve this pretty well for the most part, but some node implementation details have started to leak into the base crate recently - namely the Block type and related items.
We should consider creating a essential-node-types crate here that extends essential-types with node-specific types. So far, these might include:
@freesig and I discussed this in slack a few days ago, the gist is this:
Ideally we keep the
essential-base
repo focused on the VMs as a set of generalised validation libraries. It would be great if we can keep it agnostic of the current blockchain implementation it happens to be used in.We've been able to achieve this pretty well for the most part, but some node implementation details have started to leak into the base crate recently - namely the
Block
type and related items.We should consider creating a
essential-node-types
crate here that extendsessential-types
with node-specific types. So far, these might include:Block
(and itsContentAddress
implementation)BlockHeader
(mentioned briefly in #76)