I don't see the header Eth-Consensus-Version in the spec here, not sure if it's used in relays in practice (the other option I can imagine is that relays use fallback decoding). With SSZ, the type you're trying to decode is has to be known, and this header lets you figure out which fork you're in to decode types that change across forks.
I don't see the header
Eth-Consensus-Version
in the spec here, not sure if it's used in relays in practice (the other option I can imagine is that relays use fallback decoding). With SSZ, the type you're trying to decode is has to be known, and this header lets you figure out which fork you're in to decode types that change across forks.This is the header used in the beacon APIs for block submission: https://github.com/ethereum/beacon-APIs/blob/672e03e25ace85a3bacaea553fbf374f4f844435/apis/beacon/blocks/blocks.yaml#L21 https://ethereum.github.io/beacon-APIs/#/Beacon/publishBlock