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
.