Skip to content

An internal research client #4749

@jtraglia

Description

@jtraglia

I've been chatting with researchers about an "internal CL client for researchers" this week. After thinking about this a bit, I believe the correct approach to this would be to (1) start publishing the eth2spec package again, (2) make the networking specifications executable, (3) then somewhere in this repository or in another repository, glue everything together.

Everything that is critical to consensus MUST be defined in consensus-specs. It's important that there are no competing "specifications" for the same thing. I am against creating an internal client that does not use the consensus-specs repository. Some developers would refer to the internal researcher client when implementing their clients. If the research client and the consensus specifications were to differ, this would be confusing and potentially lead to bugs in the production clients.

Such a client would be very slow; too slow to use on mainnet. This is a good thing though as we would not want anyone to run this on a real network. To effectively run on a local devnet, it may be necessary to increase the slot duration time.

A research-only client could be used in the following ways:

  • In the specification phase, identify issues in EIPs.
  • Interop with production clients to ensure compliance.
  • ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions