---
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)