Skip to content

Add Ephemery support #4664

Open
Open
@T-ess

Description

@T-ess

Description

I am creating this issue to track the tasks and the progress in my effort to integrate Ephemery testnet into the Lighhouse client.

Description of Ephemery, its behaviour and the integration plans by @taxmeifyoucan :

Ephemery is a new kind of testnet which is intended for short term testing use cases. It automatically resets back to genesis after every given period which enables reclaiming faucet funds, clearing validator set and keeping small state.

Present Behaviour

Ephemery runs since December 2022 but is mostly run by external tooling. This is effort to implement specs also within clients, not only externally. All resources for using the testnet are here https://github.com/ephemery-testnet/ephemery-resources

Expected Behaviour

For the best user experience, it would be best to have a CLI flag which automatically connects the clients to the latest iteration of Ephemery. Compared to a traditional testnet, adding Ephemery support requires extra feature for generating the current genesis. Current specs for this feature required in clients can be found in its draft EIP. (specs feedback is welcomed!)

Steps to resolve

Add Ephemery to the network options - manual network setup would no longer be needed

  • Add Ephemery to the options.
  • Include required files from the latest genesis release (until the genesis function is implemented).

Implement the genesis function - automatically create new genesis.

  • Include hardcoded genesis 0.
  • Add check for the existence of genesis and its timestamp.
  • Implement value changes in config.yaml.
  • Figure out how to best include all changes into the Lighthouse code.
  • Utilize the existing tools for the genesis state download.
  • Examine how to further ensure successful genesis state download based on new EIP additions.
  • Run tests and fix those which were changed by the config change behaviour.
  • Create new testing scenarios.
  • Discuss changes with Lighthouse team.

Implement the reset function - automatically remove the old data.

  • Research phase.

Metadata

Metadata

Assignees

No one assigned

    Labels

    consensusAn issue/PR that touches consensus code, such as state_processing or block verification.enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions