Skip to content

Conversation

@tcoratger
Copy link
Collaborator

🗒️ Description

This is a first version of the implementation based on https://eips.ethereum.org/EIPS/eip-778 and ream code.

We can iterate on this later if we need to remove, add or modify things.

🔗 Related Issues or PRs

Followup on top of #252

✅ Checklist

  • Ran tox checks to avoid unnecessary CI fails:
    uvx tox
  • Considered adding appropriate tests for the changes.
  • Considered updating the online docs in the ./docs/ directory.

@unnawut
Copy link
Collaborator

unnawut commented Jan 5, 2026

Only one small question, should we make a stronger distinction between the specs vs. supporting implementation? Maybe moving enr into support dir e.g. src/lean_spec/subspecs/networking/support/enr or even src/support/networking/enr?

E.g. ./reqresp (that contains BlocksByRootRequest and BlocksByRootResponse) is part of lean spec that clients need to align on. But ./enr (that contains ENR, Eth2Data, etc.) is not the spec that clients need to follow.

Another example is subspecs/containers vs. subspecs/ssz, but it's quite clear that containers are the specs, and ssz is the supporting impl.

It'll also help with spec diffing in the future. But we can also worry about all this later

@tcoratger
Copy link
Collaborator Author

Only one small question, should we make a stronger distinction between the specs vs. supporting implementation? Maybe moving enr into support dir e.g. src/lean_spec/subspecs/networking/support/enr or even src/support/networking/enr?

E.g. ./reqresp (that contains BlocksByRootRequest and BlocksByRootResponse) is part of lean spec that clients need to align on. But ./enr (that contains ENR, Eth2Data, etc.) is not the spec that clients need to follow.

Another example is subspecs/containers vs. subspecs/ssz, but it's quite clear that containers are the specs, and ssz is the supporting impl.

It'll also help with spec diffing in the future. But we can also worry about all this later

Yes, okay, that's a nice idea. I just moved the implementation to a support/ folder. I imagine that will allow us to distinguish the specification from the minimal Python client implementation in the future.

@tcoratger tcoratger merged commit 566e1ad into leanEthereum:main Jan 5, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants