Eventstream API light client events spec compatibility #6197
Labels
meta-bug
Issues that identify a bug and require a fix.
scope-interop
Issues that fix interop issues between Lodestar and CL, EL or tooling.
scope-light-clients
All issues regarding light client development.
Describe the bug
Currently Lodestar does not return light client events as defined in spec examples beacon-APIs/#/Events/eventstream.
The spec example has an additional version field and wrapps the actual light client updates into data layer (similar to REST API)
This incompatibility causes issues as Lodestar and Nimbus beacon node return different data formats.
This was brought up by @rdvorkin at the Light Client Summit at Devconnect in Building a trustless light-client assistant in your browser around 11:30
Other issues that @jeluard brought up about the light client event examples
phase0
whereas light client was introduced inaltair
(fails our spec tests)sync_committee_bits
too shortWe should clarify if the current format as outlined in the spec should be the standard or we want to omit version and data layer. Other events do not use a data layer in the serialized json which makes the light client events a bit of an outlier.
Additional context
We currently just calculate the fork version based on slot in attested header
lodestar/packages/api/src/beacon/routes/events.ts
Line 213 in c044d4c
Related
Testing Lodestar events API against the spec examples causes issues as well and we have to ignore those topics during testing
Beacon-API spec PR (there was no discussion around events format)
The text was updated successfully, but these errors were encountered: