Skip to content

Latest commit

 

History

History
57 lines (50 loc) · 4.45 KB

update-1.md

File metadata and controls

57 lines (50 loc) · 4.45 KB

Development Update 1

September-October 2021

Intro/Background

I'm working on this part-time and would be very open to collaborating with others on Beacon chain light client development. I am especially interested in this because light-clients are fundamental to Ethereum being widely decentralised and minimizing reliance on centralised operators such as Infura. On a personal level this feels like a gap where I might be able to make some tangible contributions and a good way to develop a really deep understanding of PoS consensus in advance of the merge. Strategically, this seems like a potentally good foothold into core development on post-merge Ethereum. I am arriving with diverse software development experience including dapps and pretty good conceptual knowledge of Ethereum, PoS, Beacon etc, but no hands-on experience with the p2p networking layer.

Progress Updates

[September 2021]

  • Deep dive into PoS, merge and rollup-centric roadmap
  • Deep dive into Altair incl reading EIP and specs, listening to core dev calls, reading EF blog posts
  • Examination of geth and lodestar source code
  • Reading existing literature on client development (most useful linked below)
  • Spin up Geth node and interact using json RPC on testnet
  • Spin up Lighthouse node and validator on testnet

[October 2021]

  • PR on ethereum.org contributing PoS explainer page (ethereum/ethereum-org-website#3873)
  • Deep dive into libp2p and build basic p2p project in Rust
  • Start light client study group
  • Organize across light client study group to divide energy across clients (Prysm, Teku, Lighthouse)
  • Use Rust to parse some responses from beacon API endpoints as json - get a feel for the contents of the various objects
  • Contact Alex Stokes and form breakout Rust light client group with Dan B.
  • Deep dive and discussion with light client group regarding light client networking. I wil focus on server/client model.
  • Organize Rust light client development plan: I will initially focus on the light server briding beacon node to light client.

Next Steps

  • Deep dive into SSZ serialization and Lighhouse's Merkle tree implementation
  • Skeleton lgiht server. Initially just make relevant http requests to BN and parse around as json.
  • Update light server to use spec types.

Useful Links