---
# System prepended metadata

title: Merge Testnet Showcase
tags: [merge]

---

---
tags: merge
---

# Merge Testnet Showcase

*Last Updated: Mar 30, 2021*

[TOC]

## Background

TODO

## Goals

- To build a "semi-public" devnet of Prysm running alongside catalyst to simulate the eth1 to eth2 merge
- To go beyond a proof of concept and allow users to find value in understanding how the eth1 to eth2 merge will work
- To allow users to interact with a dapp on this testnet by requesting faucet funds and using metamask
- To allow users to visualize details about how this devnet is performing
- To get value out of this experience and not just have prototype code we will throw away later

## Components

- ETH2 nodes with a baked in genesis state with N validators
- Bootnode for this chain, perhaps a new testnet flag that lives in a feature branch
- Each beacon node paired with a geth catalyst node
- Geth catalyst nodes with a genesis state baked in with several accounts pre-funded, including a faucet
- An exposed eth1 endpoint for metamask or other tools to connect to
- A web app containing the following
    - Faucet that is users can request from with captcha
    - Simple, toy NFTX vault that allows minting and trading NFTs
    - Ability to visualize the next eth2 beacon block
    - Ability to see the size of the mempool
    - Ability to see when the next application block (eth1 block) being produced
    - FAQ about the merge, why this matters
    - TODO: Anything else?
- README explaining how to join the network (with a bootnode, anyone can run a beacon node). We will likely need to provide some small wrapper script that spins up a beacon node + catalyst combination with the right data

## Work Estimates

- Genesis state for eth2 and genesis premine for catalyst configuration needs to be created
- Cluster manifests to run the whole stack in its own namespace
- Deployment of private devnet that exposes an eth1 endpoint only our team knows about
- Creation of a small webapp that can first expose the faucet for us to check if it works
- Display info about the mempool in the webapp
- Display info from the beacon API, perhaps incoming blocks, in the webapp
- Display info about the produced application blocks (requires changes in catalyst)
