There is a lot of tooling that is lacking from the current ETH2.0 ecosystem. A visualizer about deposit contract information would be a nice feature to have in the ETH2.0 community.
What it does
Displays deposits with the votes of ETH2.0
How We built it
- The first night we spent reading (lots) about what and how ETH2.0 works.
- Experimented with interoperability between different beacon nodes validators (Nym, Lodestar, Lighthouse, Prysm).
- We then decided to opt for lighthouse validators and beacon node to query.
- After getting a basic idea of what we needed we started poking at the apis to see what data we could obtain.
- Used ethers js to listen to the DepositEvent of the DepositContract
- Tested a few deposits
- We then started working on a react app that can display a deposit information and it also listens new deposits being made and updates.
Challenges WE ran into
- Different testnets and discrepancies in the Prysym and Lighthouse beacon api endpoint.
- CORS issues, quickly solved with nginx proxy.
- React hooks. First time using them.
- Port issues on public wifi.
- Fragmented documentation.
- Syncing beacon chain with Infura.
Accomplishments that We're proud of
How easy it was to run the lighthouse. Finally having a grasp on how Eth2.0 works :)
What We learned
How the deposit_validator contract works. How beacon chain works. Beacon chain api. State of interoperability.
We are quite happy with we learned. :-)
What's next for eth1->Eth2 validator deposit viewer
- There needs to be a database that has a list of all the blocks with the deposits. This makes easier since it would only need to be queried once and then updated when new deposits are done.
- A UI
- More interesting information from how the blocks get voted on.