Skip to content

feat(teku): enable QUIC transport for Teku beacon nodes#1417

Merged
barnabasbusa merged 5 commits into
ethpandaops:mainfrom
lucassaldanha:teku-quic
Jun 15, 2026
Merged

feat(teku): enable QUIC transport for Teku beacon nodes#1417
barnabasbusa merged 5 commits into
ethpandaops:mainfrom
lucassaldanha:teku-quic

Conversation

@lucassaldanha

@lucassaldanha lucassaldanha commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds QUIC transport support for Teku beacon nodes, bringing Teku in line
with the QUIC handling already present for Lighthouse, Grandine, and Prysm.

NOTE: need to wait for Teku next release or --Xp2p-quic-enabled and --Xp2p-quic-port won't be available.

Changes

  • Define a private QUIC port for Teku (BEACON_QUIC_PORT_NUM = 9001,
    matching Lighthouse/Grandine).
  • Wire QUIC into the beacon command via --Xp2p-quic-enabled=true and
    --Xp2p-quic-port, and register QUIC_DISCOVERY_PORT_ID (UDP) in the
    node's used-port assignments.
  • Publish the QUIC discovery port on public-port index [4] rather than
    [3]. Index [3] is reserved for the validator HTTP port, so the
    original wiring advertised QUIC and the validator REST API on the same
    external port number. Index [4] matches Grandine's layout and removes
    the collision.

Notes

  • QUIC is enabled via Teku's experimental --Xp2p-* flags; do not
    also pass --Xp2p-quic-enabled in cl_extra_params, as the launcher
    injects it automatically (picocli rejects duplicate flags).
  • QUIC negotiation can be verified by checking Teku beacon logs and peer
    multiaddrs for quic-v1 entries.

Testing

Deployed locally via Kurtosis and confirmed Teku starts with QUIC enabled.

… collision

The public QUIC discovery port shared index [3] with the validator HTTP
port, advertising both on the same external port number. Move QUIC to
index [4] to match Grandine and eliminate the overlap.
@barnabasbusa barnabasbusa enabled auto-merge (squash) June 15, 2026 08:13
@barnabasbusa barnabasbusa merged commit 5a6616e into ethpandaops:main Jun 15, 2026
15 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