Coder Social home page Coder Social logo

ephemery-resources's Introduction

Ephemeral Testnet

⚠️ Ephemery testnet is forking to Deneb starting from iteration 111 on January 18 2024. Make sure your clients are updated to latest releases supporting it.

The objective of this effort is to create the first automatically reset ephemeral Ethereum testnet which would serve as a cross-client testing network without issues stemming from a long-term running history.

Proposal

An ephemeral testnet is a single network that rolls back to the genesis after a set period of time. This kind of network is focused on short term and heavy testing usecases. The purpose of this is also to avoid problems like insufficient testnet funds, inactive validators, state bloat, and similar issues faced by long-running testnets.

More resources:

Meta, network info

Current value
Network ID ChainId
Iteration number Iteration
Rollback period 7 days
Next rollback Dynamic JSON Badge

Landing page

https://ephemery.dev/ (add RPC with single click)

RPC providers

Faucets

Block explorers

Beacon explorers

Checkpoint sync endpoints

Validators

Run a node

At this moment, official client releases don't include predefined Ephemery testnet. To connect the client to Ephemery network, it has to be done manualy.

Download latest Ephemery parameters from its release and point your client to it like with any custom network.

wget https://github.com/ephemery-testnet/ephemery-genesis/releases/download/ephemery-111/testnet-all.tar.gz
mkdir ephemery && tar -xzf testnet-all.tar.gz -C ephemery

Example setup for geth and lighthouse. First initialize geth genesis and then run clients with configuration pointing to downloaded testnet files and variables:

geth --datadir geth-ephemery init ephemery/genesis.json 
source ephemery/nodevars_env.txt
geth --datadir geth-ephemery --authrpc.jwtsecret=/tmp/jwt --bootnodes $BOOTNODE_ENODE 
lighthouse bn -t ephemery --execution-endpoint http://localhost:8551 --execution-jwt=/tmp/jwt --boot-nodes=$BOOTNODE_ENR_LIST

Lodestar supports Ephemery natively without extra arguments. Docker setups, services and more deployment options can be found in Ephemery scripts repo.

Resources and contributing

The network is currently in its early stages, it runs as a small network with a manual reset mechanism. Each reset changes network parameters and requires a new genesis. Setup and reset mechanism is coordinated via this repository. Each release contains values for the new release.

To run a node and participate in the network, use setup from this repository. There are various deployment options, you can either use a Docker setup, cloud-init script or manually modify the retention.sh script to suit your system and run it as a cron job. There are also instructions for manually setting up a node.

Checkout current version of specs for client implementation and feel free to provide feedback.

Contribute

Contribute by participating in the network and identifying issues caused by the ephemeral setup. You can help a lot by testing features and infrastracture which might break during the reset. Here are few ideas for general testing:

  • Run a node, especially client which is not tested yet
  • Add validators, monitor attestations, proposed blocks, slashing issues
  • Use your wallet, find out how it behaves after the reset, how it handles different network ID from same RPC
  • Deploy dapps, try your favorite developer tooling
  • Run infrastracture, explorers, etc
  • Reach out with your own ideas for testing

Feel free to open issue in this repository with your findings and ideas. And feel free to join the discussion in Matrix room.

Roadmap

Ephemeral testnet needs a lot of research and development to be stable and widely usable. Here is a simple roadmap overview, for details on current tasks, check the tracking issue.

  • Proposal and initial discussion
  • Private network with manual reset mechanism
    • Using external script to reset the network
    • A small private chain was created to identify feasibility issues and to stabilize the devops setup.
  • Public network with manual reset mechanism
    • Stable network open to the public and wider debugging, simplifing node/validator setup
  • Creating general specifications for automatically reset ephemeral testnet
    • Discussion about implementation details and specifications based on data gathered from the network with manual resets
    • Specs draft
    • EIP in review
    • Validating specs in EIP
  • Automatic onchain infrastracture
    • Refuding validators
    • Deploying primitives for dapps
  • Preliminary client implementation work
    • Single client pair, testing on private/public chain
    • Improving and finishing specs
  • Cross client implementation
    • Testing all client combos
    • ACD discussion between client teams

ephemery-resources's People

Contributors

taxmeifyoucan avatar pk910 avatar chrishobcroft avatar remyroy avatar ctrl-alt-lulz avatar ladidan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.