Try   HackMD

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: