Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BlockV3 API does not return Eth-Consensus-Version #6202

Closed
michaelsproul opened this issue Dec 19, 2023 · 4 comments · Fixed by #6228
Closed

BlockV3 API does not return Eth-Consensus-Version #6202

michaelsproul opened this issue Dec 19, 2023 · 4 comments · Fixed by #6228
Labels
meta-bug Issues that identify a bug and require a fix.

Comments

@michaelsproul
Copy link

Describe the bug

Lodestar doesn't return the mandatory Eth-Consensus-Version header for /eth/v3/validator/blocks/{slot}. I'm using the SSZ version of the endpoint.

Expected behavior

Lodestar should include all mandatory headers.

Steps to reproduce

I'm running blockdreamer against Lodestar with v3 = true.

Additional context

No response

Operating system

Linux

Lodestar version or commit hash

v1.13.0-rc.0

@michaelsproul michaelsproul added the meta-bug Issues that identify a bug and require a fix. label Dec 19, 2023
@michaelsproul
Copy link
Author

Ok so I think I worked out that Lodestar doesn't support the SSZ endpoints. But even the JSON v3 endpoint does not return this header.

@ensi321
Copy link
Contributor

ensi321 commented Dec 19, 2023

Ok so I think I worked out that Lodestar doesn't support the SSZ endpoints. But even the JSON v3 endpoint does not return this header.

Thanks for pointing this out. As far as I know, produceBlockV3 doesn't return any of the 4 headers in the spec.

Just curious why you specifically mention Eth-Consensus-Version. Is it because blockdreamer doesn't read the other 3 headers, or is it simply because Eth-Consensus-Version is the first header it looks for?

@michaelsproul
Copy link
Author

michaelsproul commented Dec 19, 2023

Yeah, I'm reworking the blockV3 HTTP client in LH (and consequently blockdreamer) and getting it to read the consensus header to work out how to to parse the response. I'm now re-reworking it to get it to read the JSON values instead/as well. This will hopefully enable blockdreamer to start working with Lodestar immediately, which may detect other issues. I also found a Lighthouse bug in the process (we weren't returning the metadata fields in the JSON response, just the headers).

@nflaig
Copy link
Member

nflaig commented Dec 19, 2023

yeah, we are not setting proper headers right now and ssz responses are also not supported for all required apis. We are working on a refactoring that will address both those issues #6080.

Recently added a fix to add consensus version header to get state and block apis (#6152, it's not pretty), could add a quick hotfix to do the same for produceBlockV3 if it that helps out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta-bug Issues that identify a bug and require a fix.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants