Try   HackMD

Dev Update Week 12

This week:

  • Completed and merged in PR defining the SSZ serialization of GetLightClientUpdatesByRange in teku
    • This endpoint has a custom octet encoding defined in beacon-apis that requires a different handling than that of the default SSZ library in teku. The JSON and SSZ output types differ, requiring us to define a custom SSZ type
    • This was the last piece remaining to define the interface to LightClientUpdates, meaning we can begin the internal implementation
  • Implemented a set of API changes from etan wrapping light client data in a LightClientHeader object
    • Wrapping in a parent object makes the API more extensible to adding light client data in the future, e.g. the ExecutionPayloadHeader in Capella
    • Change was made to the Altair defintions, so we implemented it now to preserve compatibility
  • Synced up with teku mentor Paul Harris about the remainder of the light client work
    • Tracking in issue
    • The big remaining piece to tackle before we have an e2e flow is the internals of GetLightClientUpdatesByRange
    • After that endpoint is implemented, we should be able to test an e2e light client sync using a tool like helios synced against a teku node

Next week we will mainly take on the implementation of GetLightClientUpdatesByRange. Time permitting, we can begin implementing the gossip topic of GetLightClientBootstrap.