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.

Built With

Share this project: