Geemo Update #3
Hey everyone! This week I've continued to progress the LightClientUpdatesByRange implementation as well as started implementing the beacon api's which coincide with the light client endpoints.
There is a bit of a sticking point with adding testing for the light client rpcs, since the beacon node does not support OutboundRequests for the light client rpcs. All existing rpc tests use a function called build_node_pair
so adding support for the OutboundRequests exclusively for testing has proven a bit difficult for me.
This week I hope to complete the beacon apis for light_client/optimistic_update, light_client/finality_update, and light_client/bootstrap with accompanying tests. Also I'll be working towards completing the Light client updates by range rpc.
This is a running list of PRs submitted to Lighthouse during the EPF program with their merge status listed.
Light Server related PRs:
- [Draft] Support Light client updates by range rpc and add LightClientHeader. https://github.com/sigp/lighthouse/pull/3886
- Support LightClientFinalityUpdate and LightClientOptimisticUpdate rpcs as according to the spec. https://github.com/sigp/lighthouse/pull/3849
- [Merged] Adds light client optimistic update gossip reprocessing. We found that the gossip topics raced with receiving blocks. Add the parent_root to ReprocessQueueMessage::BlockImported so we can remove blocks from queue when a block arrives that has the same parent root. We use the parent root as opposed to the block_root because the LightClientOptimisticUpdate does not contain the block_root. https://github.com/sigp/lighthouse/pull/3799
- [Merged] Support light client gossip topics. Implements the light client gossip topics from the spec: light_client_finality_update and light_client_optimistic_update. https://github.com/sigp/lighthouse/pull/3693
Miscellaneous PRs: