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