Context
001-ethp2p.md places Discovery v5 in the peering layer; discovery/root.zig implements discv5 + ENR + peering helpers.
Gap
In src/discovery/discv5/node.zig, handleWhoareyou uses a placeholder node id (0x00…) and an inline comment: "In a full implementation, find the pending request to map this back." Ephemeral keys are generated but the handshake reply path is not completed end-to-end.
Goal
Correlate WHOAREYOU to the outstanding PING/FINDNODE (or other) request, complete the handshake packet exchange, and use real session keys so the node can interoperate with reference discv5 stacks.
Acceptance hints
- Unit/integration tests against golden packets or a known-good discv5 implementation where feasible.
Context
001-ethp2p.md places Discovery v5 in the peering layer;
discovery/root.zigimplements discv5 + ENR + peering helpers.Gap
In
src/discovery/discv5/node.zig,handleWhoareyouuses a placeholder node id (0x00…) and an inline comment: "In a full implementation, find the pending request to map this back." Ephemeral keys are generated but the handshake reply path is not completed end-to-end.Goal
Correlate WHOAREYOU to the outstanding PING/FINDNODE (or other) request, complete the handshake packet exchange, and use real session keys so the node can interoperate with reference discv5 stacks.
Acceptance hints