diff --git a/shared/services/config/lodestar-config.go b/shared/services/config/lodestar-config.go index 42f8803b8..3f66e1b82 100644 --- a/shared/services/config/lodestar-config.go +++ b/shared/services/config/lodestar-config.go @@ -5,8 +5,8 @@ import ( ) const ( - lodestarTagTest string = "chainsafe/lodestar:v1.40.0" - lodestarTagProd string = "chainsafe/lodestar:v1.40.0" + lodestarTagTest string = "chainsafe/lodestar:v1.41.0" + lodestarTagProd string = "chainsafe/lodestar:v1.41.0" defaultLodestarMaxPeers uint16 = 200 ) @@ -23,6 +23,9 @@ type LodestarConfig struct { // The Docker Hub tag for Lighthouse ContainerTag config.Parameter `yaml:"containerTag,omitempty"` + // The port to use for gossip traffic using the QUIC protocol + P2pQuicPort config.Parameter `yaml:"p2pQuicPort,omitempty"` + // Custom command line flags for the BN AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"` @@ -49,6 +52,17 @@ func NewLodestarConfig(cfg *RocketPoolConfig) *LodestarConfig { OverwriteOnUpgrade: false, }, + P2pQuicPort: config.Parameter{ + ID: P2pQuicPortID, + Name: "P2P QUIC Port", + Description: "The port to use for P2P (blockchain) traffic using the QUIC protocol.", + Type: config.ParameterType_Uint16, + Default: map[config.Network]interface{}{config.Network_All: defaultP2pQuicPort}, + AffectsContainers: []config.ContainerID{config.ContainerID_Eth2}, + CanBeBlank: false, + OverwriteOnUpgrade: false, + }, + ContainerTag: config.Parameter{ ID: "containerTag", Name: "Container Tag", @@ -92,6 +106,7 @@ func NewLodestarConfig(cfg *RocketPoolConfig) *LodestarConfig { func (cfg *LodestarConfig) GetParameters() []*config.Parameter { return []*config.Parameter{ &cfg.MaxPeers, + &cfg.P2pQuicPort, &cfg.ContainerTag, &cfg.AdditionalBnFlags, &cfg.AdditionalVcFlags, diff --git a/shared/services/config/rocket-pool-config.go b/shared/services/config/rocket-pool-config.go index af8bcfd89..b1ae9f741 100644 --- a/shared/services/config/rocket-pool-config.go +++ b/shared/services/config/rocket-pool-config.go @@ -1681,6 +1681,7 @@ func (cfg *RocketPoolConfig) Validate() []string { portMap, errors = addAndCheckForDuplicate(portMap, cfg.Prometheus.Port, errors) portMap, errors = addAndCheckForDuplicate(portMap, cfg.Alertmanager.Port, errors) _, errors = addAndCheckForDuplicate(portMap, cfg.Lighthouse.P2pQuicPort, errors) + _, errors = addAndCheckForDuplicate(portMap, cfg.Lodestar.P2pQuicPort, errors) return errors } diff --git a/shared/services/rocketpool/assets/install/scripts/start-bn.sh b/shared/services/rocketpool/assets/install/scripts/start-bn.sh index 1a21888bd..9e23c3678 100755 --- a/shared/services/rocketpool/assets/install/scripts/start-bn.sh +++ b/shared/services/rocketpool/assets/install/scripts/start-bn.sh @@ -111,6 +111,8 @@ if [ "$CC_CLIENT" = "lodestar" ]; then --dataDir /ethclient/lodestar \ --serveHistoricalState \ --port $BN_P2P_PORT \ + --quic \ + --quicPort ${BN_P2P_QUIC_PORT:-8001} \ --execution.urls $EC_ENGINE_ENDPOINT \ --rest \ --rest.address 0.0.0.0 \ diff --git a/shared/services/rocketpool/assets/install/templates/eth2.tmpl b/shared/services/rocketpool/assets/install/templates/eth2.tmpl index 78cf7edbf..edfda8b14 100644 --- a/shared/services/rocketpool/assets/install/templates/eth2.tmpl +++ b/shared/services/rocketpool/assets/install/templates/eth2.tmpl @@ -35,6 +35,8 @@ services: - "{{.Lighthouse.P2pQuicPort}}:{{.Lighthouse.P2pQuicPort}}/udp" {{- else if eq .ConsensusClient.String "prysm"}} - "{{.Prysm.P2pQuicPort}}:{{.Prysm.P2pQuicPort}}/udp" + {{- else if eq .ConsensusClient.String "lodestar"}} + - "{{.Lodestar.P2pQuicPort}}:{{.Lodestar.P2pQuicPort}}/udp" {{- end}} {{- range $entry := .GetBnOpenPorts}} - "{{$entry}}" @@ -87,6 +89,8 @@ services: - NIMBUS_PRUNING_MODE={{.Nimbus.PruningMode}} {{- else if eq .ConsensusClient.String "lighthouse"}} - BN_P2P_QUIC_PORT={{.Lighthouse.P2pQuicPort}} + {{- else if eq .ConsensusClient.String "lodestar"}} + - BN_P2P_QUIC_PORT={{.Lodestar.P2pQuicPort}} {{- end}} command: "/setup/start-bn.sh" cap_drop: