Repository navigation
fix(cl): give QUIC its own port for caplin, teku, lodestar and nimbus - #1490
Merged
Merged
Conversation
erigon#24117 (2026-09-22) added a QUIC transport to Caplin whose port defaults to 4001, the discovery port this package passes, and Caplin now refuses to start: "discovery and QUIC ports must differ: 4001". Assign it a separate port the way the lighthouse launcher does. Claude-Session: https://claude.ai/code/session_01LMoaDSkP7fGBZGm25FZc5x
There was a problem hiding this comment.
The PR gives Caplin's QUIC transport its own port (4002, or public port slot [3] when publishing is on) and declares it as quic-discovery, fixing the startup error where Caplin's QUIC default collided with the discovery port. The change follows the lighthouse launcher's existing pattern line-for-line, index [3] is guaranteed by MAX_PORTS_PER_CL_NODE = 7, and the UDP port-spec mapping is correct. No issues found.
Reviewed 1 changed file(s) @ 05a171e4 — no blocking issues found.
"A user interface is like a joke. If you have to explain it, it's not that good."
qu0b
enabled auto-merge (squash)
September 26, 2026 15:29
barnabasbusa
approved these changes
Sep 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
erigontech/erigon#24117 (merged 2026-09-22) added a QUIC transport to Caplin. Its port (
--sentinel.quic.port) defaults to 4001, the same port this package passes as--discovery.port. Caplin now exits at startup with:Every run with a
caplinparticipant fails, e.g.mix-with-tools.yamlon #1489, which doesn't touch Caplin at all.Changes
All CLs now follow the lighthouse/grandine pattern: a dedicated QUIC port (9001 by default, or a published slot when port publishing is on), passed explicitly and declared as
quic-discovery.[3]--sentinel.quic.port[4](already declared, flag was missing)--p2p-quic-port[3]--quicPort,--enr.quic[4]--quic-portTeku, Lodestar and Nimbus all enable QUIC by default and bind UDP 9001 (Lodestar:
--port+ 1). Without port publishing this worked by coincidence. With port publishing, their ENRs advertised a QUIC port that was never published, so external peers' QUIC dials failed and fell back to TCP.Testing
ethpandaops/caplin:main(built 2026-09-26): with the old flags it exits with the error above; with--sentinel.quic.port=4002the QUIC listener starts.port_publisher.cl.enabled: true(teku, lodestar, nimbus, lighthouse on geth)./eth/v1/node/identityshows each advertising its published QUIC port (tekuudp/33004, lodestarudp/33010, nimbusudp/33018), and all nodes peered.kurtosis lintis clean.