config

package
v1.24.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2026 License: GPL-3.0 Imports: 32 Imported by: 7

Documentation

Index

Constants

View Source
const (
	CommitBoostConfigFile     string = "cb_config.toml"
	CommitBoostConfigTemplate string = "commit-boost-config"
)

Constants

View Source
const (
	ImagesMainnetFile = "mainnet.env"
	ImagesTestnetFile = "testnet.env"
	ImagesDevnetFile  = "devnet.env"
	ComposeMainFile   = "compose.yml"

	ImageSmartnode = "RP_IMAGE_SMARTNODE"

	ImageGeth       = "RP_IMAGE_GETH"
	ImageNethermind = "RP_IMAGE_NETHERMIND"
	ImageBesu       = "RP_IMAGE_BESU"
	ImageReth       = "RP_IMAGE_RETH"
	ImageErigon     = "RP_IMAGE_ERIGON"

	ImageLighthouse = "RP_IMAGE_LIGHTHOUSE"
	ImageLodestar   = "RP_IMAGE_LODESTAR"
	ImageNimbusBn   = "RP_IMAGE_NIMBUS_BN"
	ImageNimbusVc   = "RP_IMAGE_NIMBUS_VC"
	ImageTeku       = "RP_IMAGE_TEKU"
	ImagePrysmBn    = "RP_IMAGE_PRYSM_BN"
	ImagePrysmVc    = "RP_IMAGE_PRYSM_VC"

	ImageMevBoost    = "RP_IMAGE_MEV_BOOST"
	ImageCommitBoost = "RP_IMAGE_COMMIT_BOOST"

	ImagePrometheus   = "RP_IMAGE_PROMETHEUS"
	ImageExporter     = "RP_IMAGE_EXPORTER"
	ImageAlertmanager = "RP_IMAGE_ALERTMANAGER"
	ImageGrafana      = "RP_IMAGE_GRAFANA"
	ImageGWW          = "RP_IMAGE_GWW"
	ImageCurl         = "RP_IMAGE_CURL"
	ImageAlpine       = "RP_IMAGE_ALPINE"

	ECImageTagDefault            = "EC_IMAGE_TAG_DEFAULT"
	ECImageTagOverride           = "EC_IMAGE_TAG_OVERRIDE"
	BNImageTagDefault            = "BN_IMAGE_TAG_DEFAULT"
	BNImageTagOverride           = "BN_IMAGE_TAG_OVERRIDE"
	VCImageTagDefault            = "VC_IMAGE_TAG_DEFAULT"
	VCImageTagOverride           = "VC_IMAGE_TAG_OVERRIDE"
	SmartnodeImageTagDefault     = "SMARTNODE_IMAGE_TAG_DEFAULT"
	SmartnodeImageTagOverride    = "SMARTNODE_IMAGE_TAG_OVERRIDE"
	MevBoostImageTagDefault      = "MEV_BOOST_IMAGE_TAG_DEFAULT"
	MevBoostImageTagOverride     = "MEV_BOOST_IMAGE_TAG_OVERRIDE"
	CommitBoostImageTagDefault   = "COMMIT_BOOST_IMAGE_TAG_DEFAULT"
	CommitBoostImageTagOverride  = "COMMIT_BOOST_IMAGE_TAG_OVERRIDE"
	PrometheusImageTagDefault    = "PROMETHEUS_IMAGE_TAG_DEFAULT"
	PrometheusImageTagOverride   = "PROMETHEUS_IMAGE_TAG_OVERRIDE"
	GrafanaImageTagDefault       = "GRAFANA_IMAGE_TAG_DEFAULT"
	GrafanaImageTagOverride      = "GRAFANA_IMAGE_TAG_OVERRIDE"
	ExporterImageTagDefault      = "EXPORTER_IMAGE_TAG_DEFAULT"
	ExporterImageTagOverride     = "EXPORTER_IMAGE_TAG_OVERRIDE"
	AlertmanagerImageTagDefault  = "ALERTMANAGER_IMAGE_TAG_DEFAULT"
	AlertmanagerImageTagOverride = "ALERTMANAGER_IMAGE_TAG_OVERRIDE"
	GWWImageTagDefault           = "GWW_IMAGE_TAG_DEFAULT"
	GWWImageTagOverride          = "GWW_IMAGE_TAG_OVERRIDE"
	CurlImageTagDefault          = "CURL_IMAGE_TAG_DEFAULT"
	CurlImageTagOverride         = "CURL_IMAGE_TAG_OVERRIDE"
)
View Source
const (
	RegulatedRelayDescription   string = "Select this to enable the relays that comply with government regulations (e.g. OFAC sanctions), "
	UnregulatedRelayDescription string = "Select this to enable the relays that do not follow any sanctions lists (do not censor transactions), "
	NoSandwichRelayDescription  string = "and do not allow front-running or sandwich attacks."
	AllMevRelayDescription      string = "and allow for all types of MEV (including sandwich attacks)."
)

Constants

View Source
const (
	Eth1ContainerName         string = "eth1"
	Eth1FallbackContainerName string = "eth1-fallback"
	Eth2ContainerName         string = "eth2"
	ExporterContainerName     string = "exporter"
	GrafanaContainerName      string = "grafana"
	MevBoostContainerName     string = "mev-boost"
	CommitBoostContainerName  string = "commit-boost"
	NodeContainerName         string = "node"
	PrometheusContainerName   string = "prometheus"
	AlertmanagerContainerName string = "alertmanager"
	ValidatorContainerName    string = "validator"
	WatchtowerContainerName   string = "watchtower"
)

Constants

View Source
const (
	NetworkID     string = "network"
	ProjectNameID string = "projectName"
	SnapshotID    string = "rocketpool-dao.eth"

	RewardsTreeIpfsExtension           string = ".zst"
	RewardsTreesFolder                 string = "rewards-trees"
	ChecksumTableFilename              string = "checksums.sha384"
	DaemonDataPath                     string = "/.rocketpool/data"
	WatchtowerFolder                   string = "watchtower"
	WatchtowerStateFile                string = "state.yml"
	RegenerateRewardsTreeRequestSuffix string = ".request"
	RegenerateRewardsTreeRequestFormat string = "%d" + RegenerateRewardsTreeRequestSuffix
	PrimaryRewardsFileUrl              string = "https://%s.ipfs.dweb.link/%s"
	SecondaryRewardsFileUrl            string = "https://ipfs.io/ipfs/%s/%s"
	GithubRewardsFileUrl               string = "https://github.com/rocket-pool/rewards-trees/raw/main/%s/%s"
	GlobalFeeRecipientFilename         string = "rp-fee-recipient.txt"
	NativeFeeRecipientFilename         string = "rp-fee-recipient-env.txt"
	PerKeyFeeRecipientFilename         string = "rp-fee-recipient-per-key"
)

Constants

View Source
const (
	WatchtowerMaxFeeDefault  uint64 = 30
	WatchtowerPrioFeeDefault uint64 = 1
)

Defaults

View Source
const AlertingRulesConfigFile string = "alerting/rules/default.yml"
View Source
const AlertingRulesConfigTemplate string = "alerting/rules/default.tmpl"

Note: Alerting rules are actually loaded by prometheus, but we control the alerting settings here.

View Source
const AlertmanagerConfigFile string = "alerting/alertmanager.yml"
View Source
const AlertmanagerConfigTemplate string = "alerting/alertmanager.tmpl"
View Source
const ApiPortID string = "apiPort"
View Source
const CheckpointSyncUrlID string = "checkpointSyncUrl"
View Source
const DoppelgangerDetectionID string = "doppelgangerDetection"
View Source
const GraffitiID string = "graffiti"

Param IDs

View Source
const KeymanagerApiPortID string = "keymanagerApiPort"
View Source
const OpenApiPortID string = "openApiPort"
View Source
const P2pPortID string = "p2pPort"
View Source
const P2pQuicPortID string = "p2pQuicPort"

Variables

This section is empty.

Functions

func EnvRef added in v1.24.0

func EnvRef(key string) string

func ImageTagRef added in v1.24.0

func ImageTagRef(overrideKey, defaultKey string) string

func LoadEnvFile added in v1.24.0

func LoadEnvFile(path string) (map[string]string, error)

func ParseEnvFile added in v1.24.0

func ParseEnvFile(data []byte) (map[string]string, error)

ParseEnvFile parses KEY=VALUE lines. Comments and blank lines are ignored. Quoted values have a single pair of matching quotes stripped.

func UpdateEnvFile added in v1.24.0

func UpdateEnvFile(path string, updates map[string]string) error

UpdateEnvFile sets keys in an existing env file in place, preserving comments and other lines.

func WriteEnvFile added in v1.24.0

func WriteEnvFile(path string, values map[string]string) error

WriteEnvFile writes KEY=VALUE lines (sorted).

Types

type AlertmanagerConfig added in v1.12.0

type AlertmanagerConfig struct {

	// The parent Rocket Pool Config
	Parent *RocketPoolConfig `yaml:"-"`

	Title string `yaml:"-"`

	// Whether alerting is enabled
	EnableAlerting config.Parameter `yaml:"enableAlerting,omitempty"`

	// Whether to show active alerts at the end of every CLI command
	ShowAlertsOnCLI config.Parameter `yaml:"showAlertsOnCLI,omitempty"`

	// Port for alertmanager UI & API
	Port config.Parameter `yaml:"port,omitempty"`

	// Host for alertmanager UI & API. ONLY USED IN NATIVE MODE. In Docker, the host is derived from the container name.
	NativeModeHost config.Parameter `yaml:"nativeModeHost,omitempty"`
	// Port for alertmanager UI & API. ONLY USED IN NATIVE MODE. In Docker, the host is derived from the container.
	NativeModePort config.Parameter `yaml:"nativeModePort,omitempty"`

	// Toggle for forwarding the API port outside of Docker; useful for ability to silence alerts
	OpenPort config.Parameter `yaml:"openPort,omitempty"`

	// The Docker Hub tag for Alertmanager
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// The Discord webhook URL for alert notifications
	DiscordWebhookURL config.Parameter `yaml:"discordWebhookURL,omitempty"`

	// The Telegram bot token for alert notifications
	TelegramBotToken config.Parameter `yaml:"telegramBotToken,omitempty"`
	// The Telegram chat ID for alert notifications
	TelegramChatID config.Parameter `yaml:"telegramChatId,omitempty"`

	// The Pushover Token for alert notifications
	PushoverToken config.Parameter `yaml:"pushoverToken,omitempty"`
	// The Pushover User Key for alert notifications
	PushoverUserKey config.Parameter `yaml:"pushoverUserKey,omitempty"`

	// Alerts configured in prometheus rule configuration file:
	AlertEnabled_ClientSyncStatusBeacon    config.Parameter `yaml:"alertEnabled_ClientSyncStatusBeacon,omitempty"`
	AlertEnabled_ClientSyncStatusExecution config.Parameter `yaml:"alertEnabled_ClientSyncStatusExecution,omitempty"`
	AlertEnabled_UpcomingSyncCommittee     config.Parameter `yaml:"alertEnabled_UpcomingSyncCommittee,omitempty"`
	AlertEnabled_ActiveSyncCommittee       config.Parameter `yaml:"alertEnabled_ActiveSyncCommittee,omitempty"`
	AlertEnabled_UpcomingProposal          config.Parameter `yaml:"alertEnabled_UpcomingProposal,omitempty"`
	AlertEnabled_RecentProposal            config.Parameter `yaml:"alertEnabled_RecentProposal,omitempty"`
	AlertEnabled_LowDiskSpaceWarning       config.Parameter `yaml:"alertEnabled_LowDiskSpaceWarning,omitempty"`
	AlertEnabled_LowDiskSpaceCritical      config.Parameter `yaml:"alertEnabled_LowDiskSpaceCritical,omitempty"`
	AlertEnabled_OSUpdatesAvailable        config.Parameter `yaml:"alertEnabled_OSUpdatesAvailable,omitempty"`
	AlertEnabled_RPUpdatesAvailable        config.Parameter `yaml:"alertEnabled_RPUpdatesAvailable,omitempty"`
	AlertEnabled_LowETHBalance             config.Parameter `yaml:"alertEnabled_LowETHBalance,omitempty"`
	LowETHBalanceThreshold                 config.Parameter `yaml:"lowETHBalanceThreshold,omitempty"`
	// Alerts manually sent in alerting.go:
	AlertEnabled_FeeRecipientChanged         config.Parameter `yaml:"alertEnabled_FeeRecipientChanged,omitempty"`
	AlertEnabled_MinipoolBondReduced         config.Parameter `yaml:"alertEnabled_MinipoolBondReduced,omitempty"`
	AlertEnabled_MinipoolBalanceDistributed  config.Parameter `yaml:"alertEnabled_MinipoolBalanceDistributed,omitempty"`
	AlertEnabled_MinipoolPromoted            config.Parameter `yaml:"alertEnabled_MinipoolPromoted,omitempty"`
	AlertEnabled_MinipoolStaked              config.Parameter `yaml:"alertEnabled_MinipoolStaked,omitempty"`
	AlertEnabled_ExecutionClientSyncComplete config.Parameter `yaml:"alertEnabled_ExecutionClientSyncComplete,omitempty"`
	AlertEnabled_BeaconClientSyncComplete    config.Parameter `yaml:"alertEnabled_BeaconClientSyncComplete,omitempty"`
	// Whether to periodically check if the eth1 and eth2 P2P ports are open to the internet
	AlertEnabled_PortConnectivityCheck config.Parameter `yaml:"alertEnabled_PortConnectivityCheck,omitempty"`
	// Whether to alert while the node/watchtower daemon is running in observe (masquerade) mode
	AlertEnabled_ObserveModeActive config.Parameter `yaml:"alertEnabled_ObserveModeActive,omitempty"`
}

Configuration for Alertmanager

func NewAlertmanagerConfig added in v1.12.0

func NewAlertmanagerConfig(cfg *RocketPoolConfig) *AlertmanagerConfig

func (*AlertmanagerConfig) GetConfigTitle added in v1.12.0

func (cfg *AlertmanagerConfig) GetConfigTitle() string

func (*AlertmanagerConfig) GetOpenPorts added in v1.12.0

func (cfg *AlertmanagerConfig) GetOpenPorts() string

Used by text/template to format alertmanager.yml

func (*AlertmanagerConfig) GetParameters added in v1.12.0

func (cfg *AlertmanagerConfig) GetParameters() []*config.Parameter

func (*AlertmanagerConfig) TelegramEnabled added in v1.21.0

func (cfg *AlertmanagerConfig) TelegramEnabled() bool

TelegramEnabled reports whether Telegram notifications should be rendered into alertmanager.yml. Both a bot token and a numeric chat ID are required.

func (*AlertmanagerConfig) UpdateConfigurationFiles added in v1.12.0

func (cfg *AlertmanagerConfig) UpdateConfigurationFiles(configPath string) error

Load the alerting configuration templates, do the template variable substitutions, and save them.

type ApiConfig added in v1.22.0

type ApiConfig struct {
	Title string `yaml:"-"`

	// Port the node's HTTP API server listens on
	ApiPort config.Parameter `yaml:"apiPort,omitempty"`

	// How the API port is published
	OpenApiPort config.Parameter `yaml:"openApiPort,omitempty"`

	// Bearer token for the CLI write token (stored in the sidecar JSON file)
	APIToken config.Parameter `yaml:"-"`

	// Comment stored with the CLI write token
	TokenComment config.Parameter `yaml:"-"`

	// Whether Read routes may be called without a bearer token. Server config, not per individual token
	TokenScope config.Parameter `yaml:"tokenScope,omitempty"`

	// Maximum requests per second (0 disables the limit)
	RateLimit config.Parameter `yaml:"rateLimit,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the Smart Node HTTP API

func NewApiConfig added in v1.22.0

func NewApiConfig(cfg *RocketPoolConfig) *ApiConfig

func (*ApiConfig) GetAPITokenPath added in v1.22.0

func (cfg *ApiConfig) GetAPITokenPath() string

GetAPITokenPath is the sidecar JSON file path for this process.

func (*ApiConfig) GetConfigTitle added in v1.22.0

func (cfg *ApiConfig) GetConfigTitle() string

func (*ApiConfig) GetParameters added in v1.22.0

func (cfg *ApiConfig) GetParameters() []*config.Parameter

func (*ApiConfig) Records added in v1.22.0

func (cfg *ApiConfig) Records() []apitoken.Record

Records is the loaded token list used by the HTTP API for auth.

func (*ApiConfig) UnauthenticatedReads added in v1.22.0

func (cfg *ApiConfig) UnauthenticatedReads() bool

UnauthenticatedReads reports whether Read routes may be called without a token.

type BesuConfig added in v1.4.0

type BesuConfig struct {
	Title string `yaml:"-"`

	// Common parameters that Besu doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// Max number of P2P peers to connect to
	JvmHeapSize config.Parameter `yaml:"jvmHeapSize,omitempty"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Historical state block regeneration limit
	MaxBackLayers config.Parameter `yaml:"maxBackLayers,omitempty"`

	// The Docker Hub tag for Besu
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Besu

func NewBesuConfig added in v1.4.0

func NewBesuConfig(cfg *RocketPoolConfig) *BesuConfig

Generates a new Besu configuration

func (*BesuConfig) GetConfigTitle added in v1.4.0

func (cfg *BesuConfig) GetConfigTitle() string

The title for the config

func (*BesuConfig) GetParameters added in v1.4.0

func (cfg *BesuConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type BitflyNodeMetricsConfig added in v1.4.0

type BitflyNodeMetricsConfig struct {
	Title string `yaml:"-"`

	Secret config.Parameter `yaml:"secret,omitempty"`

	Endpoint config.Parameter `yaml:"endpoint,omitempty"`

	MachineName config.Parameter `yaml:"machineName,omitempty"`
}

Configuration for Bitfly Node Metrics

func NewBitflyNodeMetricsConfig added in v1.4.0

func NewBitflyNodeMetricsConfig(cfg *RocketPoolConfig) *BitflyNodeMetricsConfig

Generates a new Bitfly Node Metrics config

func (*BitflyNodeMetricsConfig) GetConfigTitle added in v1.4.0

func (cfg *BitflyNodeMetricsConfig) GetConfigTitle() string

The title for the config

func (*BitflyNodeMetricsConfig) GetParameters added in v1.4.0

func (cfg *BitflyNodeMetricsConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type CommitBoostConfig added in v1.19.3

type CommitBoostConfig struct {
	// Ownership mode
	Mode config.Parameter `yaml:"mode,omitempty"`

	// The mode for relay selection
	RelaySelectionMode config.Parameter `yaml:"relaySelectionMode,omitempty"`

	// Flashbots relay
	FlashbotsRelay config.Parameter `yaml:"cbFlashbotsEnabled,omitempty"`

	// bloXroute regulated relay
	BloxRouteRegulatedRelay config.Parameter `yaml:"cbBloxRouteRegulatedEnabled,omitempty"`

	// Titan regional relay
	TitanRegionalRelay config.Parameter `yaml:"cbTitanRegionalEnabled,omitempty"`

	// Ultra Sound filtered relay
	UltrasoundFilteredRelay config.Parameter `yaml:"cbUltrasoundFilteredEnabled,omitempty"`

	// BTCS OFAC+ relay
	BtcsOfacRelay config.Parameter `yaml:"cbBtcsOfacEnabled,omitempty"`

	// Custom relays provided by the user (comma-separated URLs)
	CustomRelays config.Parameter `yaml:"customRelays,omitempty"`

	// The URL of an external Commit-Boost client
	ExternalUrl config.Parameter `yaml:"externalUrl"`

	// The Docker Hub tag for Commit-Boost
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// The port that Commit-Boost should serve its API on
	Port config.Parameter `yaml:"port,omitempty"`

	// Toggle for forwarding the HTTP port outside of Docker
	OpenRpcPort config.Parameter `yaml:"openRpcPort,omitempty"`
	// contains filtered or unexported fields
}

Configuration for Commit-Boost's service

func NewCommitBoostConfig added in v1.19.3

func NewCommitBoostConfig(cfg *RocketPoolConfig) *CommitBoostConfig

Generates a new Commit-Boost PBS service configuration

func (*CommitBoostConfig) GetAvailableRelays added in v1.19.3

func (cfg *CommitBoostConfig) GetAvailableRelays() []config.MevRelay

Get the relays that are available for the current network

func (*CommitBoostConfig) GetChainName added in v1.19.3

func (cfg *CommitBoostConfig) GetChainName(network config.Network) (string, error)

Get the chain name for the Commit-Boost config file. Commit-Boost expects actual Ethereum network names, not generic labels.

func (*CommitBoostConfig) GetCommitBoostConfigFilename added in v1.19.3

func (cfg *CommitBoostConfig) GetCommitBoostConfigFilename() string

Get the filename for the Commit-Boost PBS config

func (*CommitBoostConfig) GetCommitBoostOpenPorts added in v1.19.3

func (cfg *CommitBoostConfig) GetCommitBoostOpenPorts() string

func (*CommitBoostConfig) GetConfigTitle added in v1.19.3

func (cfg *CommitBoostConfig) GetConfigTitle() string

The title for the config

func (*CommitBoostConfig) GetContainerTag added in v1.19.3

func (cfg *CommitBoostConfig) GetContainerTag() string

Get the container tag value as a string (for use in templates)

func (*CommitBoostConfig) GetCurrentChainName added in v1.19.3

func (cfg *CommitBoostConfig) GetCurrentChainName() string

Get the chain name for the current network (for use in templates)

func (*CommitBoostConfig) GetCustomRelays added in v1.19.3

func (cfg *CommitBoostConfig) GetCustomRelays() []string

Get custom relay URLs (comma-separated in CustomRelays) as a slice

func (*CommitBoostConfig) GetEnabledPbsRelayInfo added in v1.19.3

func (cfg *CommitBoostConfig) GetEnabledPbsRelayInfo() []PbsRelayInfo

Get the enabled PBS relays, formatted for template rendering.

func (*CommitBoostConfig) GetParameters added in v1.19.3

func (cfg *CommitBoostConfig) GetParameters() []*config.Parameter

Get the Parameters for this config

func (*CommitBoostConfig) GetRelayString added in v1.19.3

func (cfg *CommitBoostConfig) GetRelayString() string

Get the relay string for all enabled relays (built-in + custom), comma-separated

type ConsensusCommonConfig added in v1.3.0

type ConsensusCommonConfig struct {
	Title string `yaml:"-"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// The checkpoint sync URL if used
	CheckpointSyncProvider config.Parameter `yaml:"checkpointSyncProvider,omitempty"`

	// The suggested block gas limit
	SuggestedBlockGasLimit config.Parameter `yaml:"suggestedBlockGasLimit,omitempty"`

	// The port to use for gossip traffic
	P2pPort config.Parameter `yaml:"p2pPort,omitempty"`

	// The port to expose the HTTP API on
	ApiPort config.Parameter `yaml:"apiPort,omitempty"`

	// Toggle for forwarding the HTTP API port outside of Docker
	OpenApiPort config.Parameter `yaml:"openApiPort,omitempty"`

	// The port to expose the Keymanager API on
	KeymanagerApiPort config.Parameter `yaml:"keymanagerApiPort,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`
}

Common parameters shared by all of the Beacon Clients

func NewConsensusCommonConfig added in v1.3.0

func NewConsensusCommonConfig(cfg *RocketPoolConfig) *ConsensusCommonConfig

Create a new ConsensusCommonParams struct

func (*ConsensusCommonConfig) GetConfigTitle added in v1.3.0

func (cfg *ConsensusCommonConfig) GetConfigTitle() string

The title for the config

func (*ConsensusCommonConfig) GetParameters added in v1.3.0

func (cfg *ConsensusCommonConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ErigonConfig added in v1.21.0

type ErigonConfig struct {
	Title string `yaml:"-"`

	// Common config.Parameters that Erigon doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// BitTorrent port used for snapshot sync
	TorrentPort config.Parameter `yaml:"torrentPort,omitempty"`

	// The Docker Hub tag for Erigon
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Erigon

func NewErigonConfig added in v1.21.0

func NewErigonConfig(cfg *RocketPoolConfig) *ErigonConfig

Generates a new Erigon configuration

func (*ErigonConfig) GetConfigTitle added in v1.21.0

func (cfg *ErigonConfig) GetConfigTitle() string

The title for the config

func (*ErigonConfig) GetParameters added in v1.21.0

func (cfg *ErigonConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type ExecutionCommonConfig added in v1.3.0

type ExecutionCommonConfig struct {
	Title string `yaml:"-"`

	// The HTTP API port
	HttpPort config.Parameter `yaml:"httpPort,omitempty"`

	// The Websocket API port
	WsPort config.Parameter `yaml:"wsPort,omitempty"`

	// The Engine API port
	EnginePort config.Parameter `yaml:"enginePort,omitempty"`

	// Toggle for forwarding the HTTP and Websocket API ports outside of Docker
	OpenRpcPorts config.Parameter `yaml:"openRpcPorts,omitempty"`

	// P2P traffic port
	P2pPort config.Parameter `yaml:"p2pPort,omitempty"`

	// The suggested block gas limit
	SuggestedBlockGasLimit config.Parameter `yaml:"suggestedBlockGasLimit,omitempty"`

	// If the client should expire history
	PruningMode config.Parameter `yaml:"pruningMode,omitempty"`

	// Label for Ethstats
	EthstatsLabel config.Parameter `yaml:"ethstatsLabel,omitempty"`

	// Login info for Ethstats
	EthstatsLogin config.Parameter `yaml:"ethstatsLogin,omitempty"`
}

Configuration for the Execution client

func NewExecutionCommonConfig added in v1.3.0

func NewExecutionCommonConfig(cfg *RocketPoolConfig) *ExecutionCommonConfig

Create a new ExecutionCommonConfig struct

func (*ExecutionCommonConfig) GetConfigTitle added in v1.3.0

func (cfg *ExecutionCommonConfig) GetConfigTitle() string

The title for the config

func (*ExecutionCommonConfig) GetParameters added in v1.3.0

func (cfg *ExecutionCommonConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ExporterConfig added in v1.3.0

type ExporterConfig struct {
	Title string `yaml:"-"`

	// Toggle for enabling access to the root filesystem (for multiple disk usage metrics)
	RootFs config.Parameter `yaml:"rootFs,omitempty"`

	// The Docker Hub tag for Prometheus
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Exporter

func NewExporterConfig added in v1.3.0

func NewExporterConfig(cfg *RocketPoolConfig) *ExporterConfig

Generates a new Exporter config

func (*ExporterConfig) GetConfigTitle added in v1.3.0

func (cfg *ExporterConfig) GetConfigTitle() string

The title for the config

func (*ExporterConfig) GetParameters added in v1.3.0

func (cfg *ExporterConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ExternalExecutionConfig added in v1.3.0

type ExternalExecutionConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// The URL of the websocket endpoint
	WsUrl config.Parameter `yaml:"wsUrl,omitempty"`
}

Configuration for external Execution clients

func NewExternalExecutionConfig added in v1.3.0

func NewExternalExecutionConfig(cfg *RocketPoolConfig) *ExternalExecutionConfig

Generates a new ExternalExecutionConfig configuration

func (*ExternalExecutionConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalExecutionConfig) GetConfigTitle() string

The title for the config

func (*ExternalExecutionConfig) GetParameters added in v1.3.0

func (cfg *ExternalExecutionConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ExternalLighthouseConfig added in v1.3.0

type ExternalLighthouseConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// The suggested block gas limit
	SuggestedBlockGasLimit config.Parameter `yaml:"suggestedBlockGasLimit,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`

	// The port to expose the Keymanager API on
	KeymanagerApiPort config.Parameter `yaml:"keymanagerApiPort,omitempty"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for external Consensus clients

func NewExternalLighthouseConfig added in v1.3.0

func NewExternalLighthouseConfig(cfg *RocketPoolConfig) *ExternalLighthouseConfig

Generates a new ExternalLighthouseClient configuration

func (*ExternalLighthouseConfig) GetApiUrl added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalLighthouseConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *ExternalLighthouseConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*ExternalLighthouseConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetConfigTitle() string

The title for the config

func (*ExternalLighthouseConfig) GetDoppelgangerDetection added in v1.11.3

func (cfg *ExternalLighthouseConfig) GetDoppelgangerDetection() bool

Get the doppelganger detection from the config

func (*ExternalLighthouseConfig) GetName added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetName() string

Get the name of the client

func (*ExternalLighthouseConfig) GetParameters added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalLighthouseConfig) GetSuggestedBlockGasLimit added in v1.16.1

func (cfg *ExternalLighthouseConfig) GetSuggestedBlockGasLimit() string

func (*ExternalLighthouseConfig) GetValidatorImage added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type ExternalLodestarConfig added in v1.9.0

type ExternalLodestarConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// The suggested block gas limit
	SuggestedBlockGasLimit config.Parameter `yaml:"suggestedBlockGasLimit,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`

	// The port to expose the Keymanager API on
	KeymanagerApiPort config.Parameter `yaml:"keymanagerApiPort,omitempty"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for external Consensus clients

func NewExternalLodestarConfig added in v1.9.0

func NewExternalLodestarConfig(cfg *RocketPoolConfig) *ExternalLodestarConfig

Generates a new ExternalLodestarClient configuration

func (*ExternalLodestarConfig) GetApiUrl added in v1.9.0

func (cfg *ExternalLodestarConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalLodestarConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *ExternalLodestarConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*ExternalLodestarConfig) GetConfigTitle added in v1.9.0

func (cfg *ExternalLodestarConfig) GetConfigTitle() string

The title for the config

func (*ExternalLodestarConfig) GetName added in v1.9.0

func (cfg *ExternalLodestarConfig) GetName() string

Get the name of the client

func (*ExternalLodestarConfig) GetParameters added in v1.9.0

func (cfg *ExternalLodestarConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalLodestarConfig) GetSuggestedBlockGasLimit added in v1.16.1

func (cfg *ExternalLodestarConfig) GetSuggestedBlockGasLimit() string

func (*ExternalLodestarConfig) GetValidatorImage added in v1.9.0

func (cfg *ExternalLodestarConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type ExternalNimbusConfig added in v1.9.0

type ExternalNimbusConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// The suggested block gas limit
	SuggestedBlockGasLimit config.Parameter `yaml:"suggestedBlockGasLimit,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`

	// The port to expose the Keymanager API on
	KeymanagerApiPort config.Parameter `yaml:"keymanagerApiPort,omitempty"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for external Consensus clients

func NewExternalNimbusConfig added in v1.9.0

func NewExternalNimbusConfig(cfg *RocketPoolConfig) *ExternalNimbusConfig

Generates a new ExternalNimbusConfig configuration

func (*ExternalNimbusConfig) GetApiUrl added in v1.9.0

func (cfg *ExternalNimbusConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalNimbusConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *ExternalNimbusConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*ExternalNimbusConfig) GetConfigTitle added in v1.9.0

func (cfg *ExternalNimbusConfig) GetConfigTitle() string

The title for the config

func (*ExternalNimbusConfig) GetName added in v1.9.0

func (cfg *ExternalNimbusConfig) GetName() string

Get the name of the client

func (*ExternalNimbusConfig) GetParameters added in v1.9.0

func (cfg *ExternalNimbusConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalNimbusConfig) GetSuggestedBlockGasLimit added in v1.16.1

func (cfg *ExternalNimbusConfig) GetSuggestedBlockGasLimit() string

func (*ExternalNimbusConfig) GetValidatorImage added in v1.9.0

func (cfg *ExternalNimbusConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type ExternalPrysmConfig added in v1.3.0

type ExternalPrysmConfig struct {
	Title string `yaml:"-"`

	// The URL of the gRPC (REST) endpoint for the Beacon API
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// The suggested block gas limit
	SuggestedBlockGasLimit config.Parameter `yaml:"suggestedBlockGasLimit,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`

	// The URL of the JSON-RPC endpoint for the Validator client
	JsonRpcUrl config.Parameter `yaml:"jsonRpcUrl,omitempty"`

	// The port to expose the Keymanager API on
	KeymanagerApiPort config.Parameter `yaml:"keymanagerApiPort,omitempty"`

	// The Docker Hub tag for Prysm's VC
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for an external Prysm clients

func NewExternalPrysmConfig added in v1.3.0

func NewExternalPrysmConfig(cfg *RocketPoolConfig) *ExternalPrysmConfig

Generates a new ExternalPrysmConfig configuration

func (*ExternalPrysmConfig) GetApiUrl added in v1.3.0

func (cfg *ExternalPrysmConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalPrysmConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *ExternalPrysmConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*ExternalPrysmConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalPrysmConfig) GetConfigTitle() string

The title for the config

func (*ExternalPrysmConfig) GetName added in v1.3.0

func (cfg *ExternalPrysmConfig) GetName() string

Get the name of the client

func (*ExternalPrysmConfig) GetParameters added in v1.3.0

func (cfg *ExternalPrysmConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalPrysmConfig) GetSuggestedBlockGasLimit added in v1.16.1

func (cfg *ExternalPrysmConfig) GetSuggestedBlockGasLimit() string

func (*ExternalPrysmConfig) GetValidatorImage added in v1.3.0

func (cfg *ExternalPrysmConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type ExternalTekuConfig added in v1.3.0

type ExternalTekuConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// The suggested block gas limit
	SuggestedBlockGasLimit config.Parameter `yaml:"suggestedBlockGasLimit,omitempty"`

	// The port to expose the Keymanager API on
	KeymanagerApiPort config.Parameter `yaml:"keymanagerApiPort,omitempty"`

	// The Docker Hub tag for Teku
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`
}

Configuration for an external Teku client

func NewExternalTekuConfig added in v1.3.0

func NewExternalTekuConfig(cfg *RocketPoolConfig) *ExternalTekuConfig

Generates a new ExternalTekuClient configuration

func (*ExternalTekuConfig) GetApiUrl added in v1.3.0

func (cfg *ExternalTekuConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalTekuConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *ExternalTekuConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*ExternalTekuConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalTekuConfig) GetConfigTitle() string

The title for the config

func (*ExternalTekuConfig) GetName added in v1.3.0

func (cfg *ExternalTekuConfig) GetName() string

Get the name of the client

func (*ExternalTekuConfig) GetParameters added in v1.3.0

func (cfg *ExternalTekuConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalTekuConfig) GetSuggestedBlockGasLimit added in v1.16.1

func (cfg *ExternalTekuConfig) GetSuggestedBlockGasLimit() string

func (*ExternalTekuConfig) GetValidatorImage added in v1.3.0

func (cfg *ExternalTekuConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type FallbackNormalConfig added in v1.5.0

type FallbackNormalConfig struct {
	Title string `yaml:"-"`

	// The URL of the Execution Client HTTP endpoint
	EcHttpUrl config.Parameter `yaml:"ecHttpUrl,omitempty"`

	// The URL of the Beacon Node HTTP endpoint
	CcHttpUrl config.Parameter `yaml:"ccHttpUrl,omitempty"`
}

Configuration for fallback Lighthouse

func NewFallbackNormalConfig added in v1.5.0

func NewFallbackNormalConfig(cfg *RocketPoolConfig) *FallbackNormalConfig

Generates a new FallbackNormalConfig configuration

func (*FallbackNormalConfig) GetConfigTitle added in v1.5.0

func (cfg *FallbackNormalConfig) GetConfigTitle() string

The title for the config

func (*FallbackNormalConfig) GetParameters added in v1.5.0

func (cfg *FallbackNormalConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type FallbackPrysmConfig added in v1.5.0

type FallbackPrysmConfig struct {
	Title string `yaml:"-"`

	// The URL of the Execution Client HTTP endpoint
	EcHttpUrl config.Parameter `yaml:"ecHttpUrl,omitempty"`

	// The URL of the Beacon Node HTTP endpoint
	CcHttpUrl config.Parameter `yaml:"ccHttpUrl,omitempty"`

	// The URL of the JSON-RPC endpoint for the Validator client
	JsonRpcUrl config.Parameter `yaml:"jsonRpcUrl,omitempty"`
}

Configuration for fallback Prysm

func NewFallbackPrysmConfig added in v1.5.0

func NewFallbackPrysmConfig(cfg *RocketPoolConfig) *FallbackPrysmConfig

Generates a new FallbackPrysmConfig configuration

func (*FallbackPrysmConfig) GetConfigTitle added in v1.5.0

func (cfg *FallbackPrysmConfig) GetConfigTitle() string

The title for the config

func (*FallbackPrysmConfig) GetParameters added in v1.5.0

func (cfg *FallbackPrysmConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type GethConfig added in v1.3.0

type GethConfig struct {
	Title string `yaml:"-"`

	// Common config.Parameters that Geth doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Number of seconds EVM calls can run before timing out
	EvmTimeout config.Parameter `yaml:"evmTimeout,omitempty"`

	// The Docker Hub tag for Geth
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Geth

func NewGethConfig added in v1.3.0

func NewGethConfig(cfg *RocketPoolConfig) *GethConfig

Generates a new Geth configuration

func (*GethConfig) GetConfigTitle added in v1.3.0

func (cfg *GethConfig) GetConfigTitle() string

The title for the config

func (*GethConfig) GetParameters added in v1.3.0

func (cfg *GethConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type GrafanaConfig added in v1.3.0

type GrafanaConfig struct {
	Title string `yaml:"-"`

	// The HTTP port to serve on
	Port config.Parameter `yaml:"port,omitempty"`

	// Toggle for forwarding the API port outside of Docker
	OpenPort config.Parameter `yaml:"openPort,omitempty"`

	// The Docker Hub tag for Grafana
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`
}

Configuration for Grafana

func NewGrafanaConfig added in v1.3.0

func NewGrafanaConfig(cfg *RocketPoolConfig) *GrafanaConfig

Generates a new Grafana config

func (*GrafanaConfig) GetConfigTitle added in v1.3.0

func (cfg *GrafanaConfig) GetConfigTitle() string

The title for the config

func (*GrafanaConfig) GetParameters added in v1.3.0

func (cfg *GrafanaConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ImageCatalog added in v1.24.0

type ImageCatalog struct {
	// contains filtered or unexported fields
}

ImageCatalog is the parsed official (or overlay) image env file.

func LoadImageCatalogs added in v1.24.0

func LoadImageCatalogs(rpDir string, networks *NetworksConfig) (mainnet *ImageCatalog, overlays map[config.Network]*ImageCatalog, err error)

LoadImageCatalogs loads mainnet.env (full catalog) and optional per-network overlays ({network}.env). Overlay keys replace mainnet; missing keys inherit.

func (*ImageCatalog) Get added in v1.24.0

func (c *ImageCatalog) Get(key string) (string, bool)

func (*ImageCatalog) Map added in v1.24.0

func (c *ImageCatalog) Map() map[string]string

func (*ImageCatalog) Must added in v1.24.0

func (c *ImageCatalog) Must(key string) string

func (*ImageCatalog) Set added in v1.24.0

func (c *ImageCatalog) Set(key, value string)

type LighthouseConfig added in v1.3.0

type LighthouseConfig struct {
	Title string `yaml:"-"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Common parameters that Lighthouse doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the BN
	AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`

	// The port to use for gossip traffic using the QUIC protocol
	P2pQuicPort config.Parameter `yaml:"p2pQuicPort,omitempty"`
}

Configuration for Lighthouse

func NewLighthouseConfig added in v1.3.0

func NewLighthouseConfig(cfg *RocketPoolConfig) *LighthouseConfig

Generates a new Lighthouse configuration

func (*LighthouseConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *LighthouseConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*LighthouseConfig) GetConfigTitle added in v1.3.0

func (cfg *LighthouseConfig) GetConfigTitle() string

The title for the config

func (*LighthouseConfig) GetName added in v1.3.0

func (cfg *LighthouseConfig) GetName() string

Get the name of the client

func (*LighthouseConfig) GetParameters added in v1.3.0

func (cfg *LighthouseConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*LighthouseConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *LighthouseConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*LighthouseConfig) GetValidatorImage added in v1.3.0

func (cfg *LighthouseConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type LodestarConfig added in v1.9.0

type LodestarConfig struct {
	Title string `yaml:"-"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Common parameters that Lighthouse doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// 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"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for Lodestar

func NewLodestarConfig added in v1.9.0

func NewLodestarConfig(cfg *RocketPoolConfig) *LodestarConfig

Generates a new Lodestar configuration

func (*LodestarConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *LodestarConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*LodestarConfig) GetConfigTitle added in v1.9.0

func (cfg *LodestarConfig) GetConfigTitle() string

The title for the config

func (*LodestarConfig) GetName added in v1.9.0

func (cfg *LodestarConfig) GetName() string

Get the name of the client

func (*LodestarConfig) GetParameters added in v1.9.0

func (cfg *LodestarConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*LodestarConfig) GetUnsupportedCommonParams added in v1.9.0

func (cfg *LodestarConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*LodestarConfig) GetValidatorImage added in v1.9.0

func (cfg *LodestarConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type MevBoostConfig added in v1.5.0

type MevBoostConfig struct {
	Title string `yaml:"-"`

	// Ownership mode
	Mode config.Parameter `yaml:"mode,omitempty"`

	// The mode for relay selection
	SelectionMode config.Parameter `yaml:"selectionMode,omitempty"`

	// Regulated, all types
	EnableRegulatedAllMev config.Parameter `yaml:"enableRegulatedAllMev,omitempty"`

	// Unregulated, all types
	EnableUnregulatedAllMev config.Parameter `yaml:"enableUnregulatedAllMev,omitempty"`

	// Flashbots relay
	FlashbotsRelay config.Parameter `yaml:"flashbotsEnabled,omitempty"`

	// bloXroute regulated relay
	BloxRouteRegulatedRelay config.Parameter `yaml:"bloxRouteRegulatedEnabled,omitempty"`

	// Ultra sound relay
	UltrasoundRelay config.Parameter `yaml:"ultrasoundEnabled,omitempty"`

	// Ultra sound filtered relay
	UltrasoundFilteredRelay config.Parameter `yaml:"ultrasoundFilteredEnabled,omitempty"`

	// Aestus relay
	AestusRelay config.Parameter `yaml:"aestusEnabled,omitempty"`

	// Titan Global relay
	TitanGlobalRelay config.Parameter `yaml:"titanGlobalEnabled,omitempty"`

	// Titan Regional relay
	TitanRegionalRelay config.Parameter `yaml:"titanRegionalEnabled,omitempty"`

	// BTCS OFAC+
	BtcsOfacRelay config.Parameter `yaml:"btcsOfacEnabled,omitempty"`

	// The RPC port
	Port config.Parameter `yaml:"port,omitempty"`

	// Toggle for forwarding the HTTP port outside of Docker
	OpenRpcPort config.Parameter `yaml:"openRpcPort,omitempty"`

	// The Docker Hub tag for MEV-Boost
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`

	// The URL of an external MEV-Boost client
	ExternalUrl config.Parameter `yaml:"externalUrl"`
	// contains filtered or unexported fields
}

Configuration for MEV-Boost

func NewMevBoostConfig added in v1.5.0

func NewMevBoostConfig(cfg *RocketPoolConfig) *MevBoostConfig

Generates a new MEV-Boost configuration

func (*MevBoostConfig) GetAvailableProfiles added in v1.7.0

func (cfg *MevBoostConfig) GetAvailableProfiles() (bool, bool)

Get the profiles that are available for the current network

func (*MevBoostConfig) GetAvailableRelays added in v1.7.0

func (cfg *MevBoostConfig) GetAvailableRelays() []config.MevRelay

Get the relays that are available for the current network

func (*MevBoostConfig) GetConfigTitle added in v1.5.0

func (cfg *MevBoostConfig) GetConfigTitle() string

The title for the config

func (*MevBoostConfig) GetEnabledMevRelays added in v1.6.4

func (cfg *MevBoostConfig) GetEnabledMevRelays() []config.MevRelay

Get which MEV-boost relays are enabled

func (*MevBoostConfig) GetParameters added in v1.5.0

func (cfg *MevBoostConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

func (*MevBoostConfig) GetRelayString added in v1.6.4

func (cfg *MevBoostConfig) GetRelayString() string

type NativeConfig added in v1.3.0

type NativeConfig struct {
	Title string `yaml:"-"`

	// The URL of the EC HTTP endpoint
	EcHttpUrl config.Parameter `yaml:"ecHttpUrl,omitempty"`

	// The selected CC
	ConsensusClient config.Parameter `yaml:"consensusClient,omitempty"`

	// The URL of the CC HTTP endpoint
	CcHttpUrl config.Parameter `yaml:"ccHttpUrl,omitempty"`

	// The command for restarting the validator container in native mode
	ValidatorRestartCommand config.Parameter `yaml:"validatorRestartCommand,omitempty"`

	// The command for stopping the validator container in native mode
	ValidatorStopCommand config.Parameter `yaml:"validatorStopCommand,omitempty"`
}

Configuration for Native mode

func NewNativeConfig added in v1.3.0

func NewNativeConfig(cfg *RocketPoolConfig) *NativeConfig

Generates a newSmart Node configuration

func (*NativeConfig) GetConfigTitle added in v1.3.0

func (cfg *NativeConfig) GetConfigTitle() string

The title for the config

func (*NativeConfig) GetParameters added in v1.3.0

func (cfg *NativeConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type NethermindConfig added in v1.4.0

type NethermindConfig struct {
	Title string `yaml:"-"`

	// Common parameters that Nethermind doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Nethermind's cache memory hint
	CacheSize config.Parameter `yaml:"cacheSize,omitempty"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Nethermind's memory for in-memory pruning
	PruneMemSize config.Parameter `yaml:"pruneMemSize,omitempty"`

	// Nethermind's memory budget for full pruning
	FullPruneMemoryBudget config.Parameter `yaml:"fullPruneMemoryBudget,omitempty"`

	// Nethermind's remaining disk space to trigger a pruning
	FullPruningThresholdMb config.Parameter `yaml:"fullPruningThresholdMb,omitempty"`

	// The number of parallel tasks/threads that can be used by pruning
	FullPruningMaxDegreeOfParallelism config.Parameter `yaml:"fullPruningMaxDegreeOfParallelism,omitempty"`

	// Additional modules to enable on the primary JSON RPC endpoint
	AdditionalModules config.Parameter `yaml:"additionalModules,omitempty"`

	// Additional JSON RPC URLs
	AdditionalUrls config.Parameter `yaml:"additionalUrls,omitempty"`

	// The Docker Hub tag for Nethermind
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Nethermind

func NewNethermindConfig added in v1.4.0

func NewNethermindConfig(cfg *RocketPoolConfig) *NethermindConfig

Generates a new Nethermind configuration

func (*NethermindConfig) GetConfigTitle added in v1.4.0

func (cfg *NethermindConfig) GetConfigTitle() string

The title for the config

func (*NethermindConfig) GetParameters added in v1.4.0

func (cfg *NethermindConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type NetworksConfig added in v1.23.0

type NetworksConfig struct {
	Networks []*config.NetworkInfo
	// contains filtered or unexported fields
}

NetworksConfig is the merged set of official + extra networks.

func LoadNetworks added in v1.23.0

func LoadNetworks(rpDir string) (*NetworksConfig, error)

LoadNetworks loads official networks (embed, then on-disk default if present) and overlays ~/.rocketpool/networks-extra.yml when it exists.

func (*NetworksConfig) AllNetworks added in v1.23.0

func (nc *NetworksConfig) AllNetworks() []*config.NetworkInfo

func (*NetworksConfig) ByChainID added in v1.23.0

func (nc *NetworksConfig) ByChainID(chainID uint64) *config.NetworkInfo

func (*NetworksConfig) DefaultNetwork added in v1.23.0

func (nc *NetworksConfig) DefaultNetwork() config.Network

func (*NetworksConfig) GetNetwork added in v1.23.0

func (nc *NetworksConfig) GetNetwork(name config.Network) *config.NetworkInfo

type NimbusConfig added in v1.3.0

type NimbusConfig struct {
	Title string `yaml:"-"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// The port to use for gossip traffic using the QUIC protocol
	P2pQuicPort config.Parameter `yaml:"p2pQuicPort,omitempty"`

	// Common parameters that Nimbus doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// The Docker Hub tag for the BN
	BnContainerTag config.Parameter `yaml:"bnContainerTag,omitempty"`

	// The Docker Hub tag for the VC
	VcContainerTag config.Parameter `yaml:"vcContainerTag,omitempty"`

	// The pruning mode to use in the BN
	PruningMode config.Parameter `yaml:"pruningMode,omitempty"`

	// Custom command line flags for the BN
	AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for Nimbus

func NewNimbusConfig added in v1.3.0

func NewNimbusConfig(cfg *RocketPoolConfig) *NimbusConfig

Generates a new Nimbus configuration

func (*NimbusConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *NimbusConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*NimbusConfig) GetConfigTitle added in v1.3.0

func (cfg *NimbusConfig) GetConfigTitle() string

The title for the config

func (*NimbusConfig) GetName added in v1.3.0

func (cfg *NimbusConfig) GetName() string

Get the name of the client

func (*NimbusConfig) GetParameters added in v1.3.0

func (cfg *NimbusConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*NimbusConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *NimbusConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*NimbusConfig) GetValidatorImage added in v1.3.0

func (cfg *NimbusConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type PbsRelayInfo added in v1.19.3

type PbsRelayInfo struct {
	ID  string
	URL string
}

A relay entry ready for template rendering

type PbsRelaySelectionMode added in v1.19.3

type PbsRelaySelectionMode string

Relay selection mode for Commit-Boost PBS

const (
	PbsRelaySelectionMode_All    PbsRelaySelectionMode = "all"
	PbsRelaySelectionMode_Manual PbsRelaySelectionMode = "manual"
)

type PrometheusConfig added in v1.3.0

type PrometheusConfig struct {
	Title string `yaml:"-"`

	// The port to serve metrics on
	Port config.Parameter `yaml:"port,omitempty"`

	// Toggle for forwarding the API port outside of Docker
	OpenPort config.Parameter `yaml:"openPort,omitempty"`

	// The Docker Hub tag for Prometheus
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Prometheus

func NewPrometheusConfig added in v1.3.0

func NewPrometheusConfig(cfg *RocketPoolConfig) *PrometheusConfig

Generates a new Prometheus config

func (*PrometheusConfig) GetConfigTitle added in v1.3.0

func (cfg *PrometheusConfig) GetConfigTitle() string

The title for the config

func (*PrometheusConfig) GetParameters added in v1.3.0

func (cfg *PrometheusConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type PrysmConfig added in v1.3.0

type PrysmConfig struct {
	Title string `yaml:"title,omitempty"`

	// Common parameters that Prysm doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"unsupportedCommonParams,omitempty"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// The RPC port for BN / VC connections
	RpcPort config.Parameter `yaml:"rpcPort,omitempty"`

	// Toggle for forwarding the RPC API outside of Docker
	OpenRpcPort config.Parameter `yaml:"openRpcPort,omitempty"`

	// The port to use for gossip traffic using the QUIC protocol
	P2pQuicPort config.Parameter `yaml:"p2pQuicPort,omitempty"`

	// The Docker Hub tag for the Prysm BN
	BnContainerTag config.Parameter `yaml:"bnContainerTag,omitempty"`

	// The Docker Hub tag for the Prysm VC
	VcContainerTag config.Parameter `yaml:"vcContainerTag,omitempty"`

	// Custom command line flags for the BN
	AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for Prysm

func NewPrysmConfig added in v1.3.0

func NewPrysmConfig(cfg *RocketPoolConfig) *PrysmConfig

Generates a new Prysm configuration

func (*PrysmConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *PrysmConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*PrysmConfig) GetConfigTitle added in v1.3.0

func (cfg *PrysmConfig) GetConfigTitle() string

The title for the config

func (*PrysmConfig) GetName added in v1.3.0

func (cfg *PrysmConfig) GetName() string

Get the name of the client

func (*PrysmConfig) GetParameters added in v1.3.0

func (cfg *PrysmConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*PrysmConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *PrysmConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*PrysmConfig) GetValidatorImage added in v1.3.0

func (cfg *PrysmConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type RethConfig added in v1.11.8

type RethConfig struct {
	Title string `yaml:"-"`

	// Common config.Parameters that Reth doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Size of Reth's Cache
	CacheSize config.Parameter `yaml:"cacheSize,omitempty"`

	// Max number of P2P peers to connect to. For Reth this will map to max outbound peers
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Max number of P2P inbound peers to connect to.
	MaxInboundPeers config.Parameter `yaml:"maxInboundPeers,omitempty"`

	// The Docker Hub tag for Reth
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Reth

func NewRethConfig added in v1.11.8

func NewRethConfig(cfg *RocketPoolConfig) *RethConfig

Generates a new Reth configuration

func (*RethConfig) GetConfigTitle added in v1.11.8

func (cfg *RethConfig) GetConfigTitle() string

The title for the config

func (*RethConfig) GetParameters added in v1.11.8

func (cfg *RethConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type RewardsExtension added in v1.15.0

type RewardsExtension string
const (
	RewardsExtensionJSON RewardsExtension = ".json"
	RewardsExtensionSSZ  RewardsExtension = ".ssz"
)

type RocketPoolConfig

type RocketPoolConfig struct {
	Title string `yaml:"-"`

	Version string `yaml:"-"`

	RocketPoolDirectory string `yaml:"-"`

	IsNativeMode bool `yaml:"-"`

	// IsCLI is true when this config was loaded by the rocketpool CLI (or TUI) not by the node daemon.
	IsCLI bool `yaml:"-"`

	// Execution client settings
	ExecutionClientMode config.Parameter `yaml:"executionClientMode,omitempty"`
	ExecutionClient     config.Parameter `yaml:"executionClient,omitempty"`

	// Fallback settings
	UseFallbackClients config.Parameter `yaml:"useFallbackClients,omitempty"`
	ReconnectDelay     config.Parameter `yaml:"reconnectDelay,omitempty"`
	PreferFallback     config.Parameter `yaml:"preferFallback,omitempty"`

	// Consensus client settings
	ConsensusClientMode     config.Parameter `yaml:"consensusClientMode,omitempty"`
	ConsensusClient         config.Parameter `yaml:"consensusClient,omitempty"`
	ExternalConsensusClient config.Parameter `yaml:"externalConsensusClient,omitempty"`

	// IPv6 networking
	EnableIPv6 config.Parameter `yaml:"enableIPv6,omitempty"`

	// Metrics settings
	EnableMetrics           config.Parameter `yaml:"enableMetrics,omitempty"`
	EnableODaoMetrics       config.Parameter `yaml:"enableODaoMetrics,omitempty"`
	EcMetricsPort           config.Parameter `yaml:"ecMetricsPort,omitempty"`
	BnMetricsPort           config.Parameter `yaml:"bnMetricsPort,omitempty"`
	VcMetricsPort           config.Parameter `yaml:"vcMetricsPort,omitempty"`
	NodeMetricsPort         config.Parameter `yaml:"nodeMetricsPort,omitempty"`
	ExporterMetricsPort     config.Parameter `yaml:"exporterMetricsPort,omitempty"`
	WatchtowerMetricsPort   config.Parameter `yaml:"watchtowerMetricsPort,omitempty"`
	EnableBitflyNodeMetrics config.Parameter `yaml:"enableBitflyNodeMetrics,omitempty"`

	// The Smart Node configuration
	Smartnode *SmartnodeConfig `yaml:"smartnode,omitempty"`

	// HTTP API configuration
	Api *ApiConfig `yaml:"api,omitempty"`

	// Execution client configurations
	ExecutionCommon   *ExecutionCommonConfig   `yaml:"executionCommon,omitempty"`
	Geth              *GethConfig              `yaml:"geth,omitempty"`
	Nethermind        *NethermindConfig        `yaml:"nethermind,omitempty"`
	Besu              *BesuConfig              `yaml:"besu,omitempty"`
	Reth              *RethConfig              `yaml:"reth,omitempty"`
	Erigon            *ErigonConfig            `yaml:"erigon,omitempty"`
	ExternalExecution *ExternalExecutionConfig `yaml:"externalExecution,omitempty"`

	// Consensus client configurations
	ConsensusCommon    *ConsensusCommonConfig    `yaml:"consensusCommon,omitempty"`
	Lighthouse         *LighthouseConfig         `yaml:"lighthouse,omitempty"`
	Lodestar           *LodestarConfig           `yaml:"lodestar,omitempty"`
	Nimbus             *NimbusConfig             `yaml:"nimbus,omitempty"`
	Prysm              *PrysmConfig              `yaml:"prysm,omitempty"`
	Teku               *TekuConfig               `yaml:"teku,omitempty"`
	ExternalLighthouse *ExternalLighthouseConfig `yaml:"externalLighthouse,omitempty"`
	ExternalNimbus     *ExternalNimbusConfig     `yaml:"externalNimbus,omitempty"`
	ExternalLodestar   *ExternalLodestarConfig   `yaml:"externalLodestar,omitempty"`
	ExternalPrysm      *ExternalPrysmConfig      `yaml:"externalPrysm,omitempty"`
	ExternalTeku       *ExternalTekuConfig       `yaml:"externalTeku,omitempty"`

	// Fallback client configurations
	FallbackNormal *FallbackNormalConfig `yaml:"fallbackNormal,omitempty"`
	FallbackPrysm  *FallbackPrysmConfig  `yaml:"fallbackPrysm,omitempty"`

	// Metrics
	Grafana           *GrafanaConfig           `yaml:"grafana,omitempty"`
	Prometheus        *PrometheusConfig        `yaml:"prometheus,omitempty"`
	Alertmanager      *AlertmanagerConfig      `yaml:"alertmanager,omitempty"`
	Exporter          *ExporterConfig          `yaml:"exporter,omitempty"`
	BitflyNodeMetrics *BitflyNodeMetricsConfig `yaml:"bitflyNodeMetrics,omitempty"`

	// Native mode
	Native *NativeConfig `yaml:"native,omitempty"`

	// MEV-Boost
	EnableMevBoost config.Parameter `yaml:"enableMevBoost,omitempty"`
	MevBoost       *MevBoostConfig  `yaml:"mevBoost,omitempty"`

	// Commit-Boost
	EnableCommitBoost config.Parameter   `yaml:"enableCommitBoost,omitempty"`
	CommitBoost       *CommitBoostConfig `yaml:"commitBoostConfig,omitempty"`

	// Addons
	GraffitiWallWriter addontypes.SmartnodeAddon `yaml:"addon-gww,omitempty"`
	RescueNode         addontypes.SmartnodeAddon `yaml:"addon-rescue-node,omitempty"`
	// contains filtered or unexported fields
}

The master configuration struct

func LoadFromFile added in v1.3.0

func LoadFromFile(path string) (*RocketPoolConfig, error)

Load configuration settings from a file

func NewRocketPoolConfig added in v1.3.0

func NewRocketPoolConfig(rpDir string, isNativeMode bool) (*RocketPoolConfig, error)

Creates a new Rocket Pool configuration instance

func (*RocketPoolConfig) ChangeNetwork added in v1.3.0

func (cfg *RocketPoolConfig) ChangeNetwork(newNetwork config.Network)

Handle a network change on all of the parameters

func (*RocketPoolConfig) ComposeEnvAssignments added in v1.24.0

func (cfg *RocketPoolConfig) ComposeEnvAssignments() ([]string, error)

ComposeEnvAssignments returns KEY=value strings for Compose interpolation: *_IMAGE_TAG_DEFAULT from the catalog and *_IMAGE_TAG_OVERRIDE when the TUI customized a tag. Keys are sorted so command logs and diffs are reproducible.

func (*RocketPoolConfig) ComposeEnvOverrides added in v1.24.0

func (cfg *RocketPoolConfig) ComposeEnvOverrides() map[string]string

ComposeEnvOverrides returns *_IMAGE_TAG_OVERRIDE vars for TUI values that differ from the catalog pin. Unset override vars fall back to *_DEFAULT.

func (*RocketPoolConfig) ComposeImageDefaults added in v1.24.0

func (cfg *RocketPoolConfig) ComposeImageDefaults() map[string]string

ComposeImageDefaults maps service-level *_IMAGE_TAG_DEFAULT vars to the catalog pin for the selected client/network.

func (*RocketPoolConfig) ComposeImageEnv added in v1.24.0

func (cfg *RocketPoolConfig) ComposeImageEnv() (map[string]string, error)

ComposeImageEnv is the single env map Compose interpolates: service *_DEFAULT pins (mainnet + network overlay) plus *_OVERRIDE when the TUI customized a tag.

func (*RocketPoolConfig) ConsensusClientApiUrl added in v1.11.3

func (cfg *RocketPoolConfig) ConsensusClientApiUrl() (string, error)

Used by text/template to format validator.yml

func (*RocketPoolConfig) ConsensusClientLocal added in v1.11.3

func (cfg *RocketPoolConfig) ConsensusClientLocal() bool

Used by text/template to format validator.yml

func (*RocketPoolConfig) ConsensusClientRpcUrl added in v1.11.3

func (cfg *RocketPoolConfig) ConsensusClientRpcUrl() (string, error)

Used by text/template to format validator.yml

func (*RocketPoolConfig) CreateCopy added in v1.3.0

func (cfg *RocketPoolConfig) CreateCopy() *RocketPoolConfig

Create a copy of this configuration.

func (*RocketPoolConfig) CustomGraffiti added in v1.11.3

func (cfg *RocketPoolConfig) CustomGraffiti() (string, error)

Used by text/template to format validator.yml Only returns the user-entered value, not the prefixed value

func (*RocketPoolConfig) Deserialize added in v1.3.0

func (cfg *RocketPoolConfig) Deserialize(masterMap map[string]map[string]string) error

Deserializes a settings file into this config

func (*RocketPoolConfig) DevnetOnly added in v1.24.0

func (cfg *RocketPoolConfig) DevnetOnly() string

DevnetOnly returns "" on devnet so a compose.tmpl line is active, otherwise "#".

func (*RocketPoolConfig) ExecutionClientLocal added in v1.11.3

func (cfg *RocketPoolConfig) ExecutionClientLocal() bool

Used by text/template to format validator.yml

func (*RocketPoolConfig) FallbackCcApiUrl added in v1.11.3

func (cfg *RocketPoolConfig) FallbackCcApiUrl() string

Used by text/template to format validator.yml

func (*RocketPoolConfig) FallbackCcRpcUrl added in v1.11.3

func (cfg *RocketPoolConfig) FallbackCcRpcUrl() string

Used by text/template to format validator.yml

func (*RocketPoolConfig) FeeRecipientFile added in v1.11.3

func (cfg *RocketPoolConfig) FeeRecipientFile() string

Used by text/template to format validator.yml

func (*RocketPoolConfig) GetBNAdditionalFlags added in v1.11.3

func (cfg *RocketPoolConfig) GetBNAdditionalFlags() (string, error)

Used by text/template to format eth2.yml

func (*RocketPoolConfig) GetBNMaxPeers added in v1.11.3

func (cfg *RocketPoolConfig) GetBNMaxPeers() (uint16, error)

Gets the max peers of the bn container Used by text/template to format eth2.yml

func (*RocketPoolConfig) GetBeaconContainerTag added in v1.11.3

func (cfg *RocketPoolConfig) GetBeaconContainerTag() (string, error)

Gets the tag of the cc container Used by text/template to format eth2.yml

func (*RocketPoolConfig) GetBeaconImageEnvRef added in v1.24.0

func (cfg *RocketPoolConfig) GetBeaconImageEnvRef() (string, error)

GetBeaconImageEnvRef is ${BN_IMAGE_TAG_OVERRIDE:-${BN_IMAGE_TAG_DEFAULT}}.

func (*RocketPoolConfig) GetBnOpenPorts added in v1.11.3

func (cfg *RocketPoolConfig) GetBnOpenPorts() []string

Used by text/template to format eth2.yml

func (*RocketPoolConfig) GetChanges added in v1.3.0

func (cfg *RocketPoolConfig) GetChanges(oldConfig *RocketPoolConfig) (map[string][]config.ChangedSetting, map[config.ContainerID]bool, bool)

Get all of the settings that have changed between an old config and this config, and get all of the containers that are affected by those changes - also returns whether or not the selected network was changed

func (*RocketPoolConfig) GetCommitBoostImageEnvRef added in v1.24.0

func (cfg *RocketPoolConfig) GetCommitBoostImageEnvRef() string

func (*RocketPoolConfig) GetCommitBoostOpenPorts added in v1.19.3

func (cfg *RocketPoolConfig) GetCommitBoostOpenPorts() string

Used by text/template to format commit-boost.yml

func (*RocketPoolConfig) GetConfigTitle added in v1.3.0

func (cfg *RocketPoolConfig) GetConfigTitle() string

The title for the config

func (*RocketPoolConfig) GetConsensusHostname added in v1.11.3

func (cfg *RocketPoolConfig) GetConsensusHostname() (string, error)

Gets the hostname portion of the Consensus Client's URI. Used by text/template to format prometheus.yml.

func (*RocketPoolConfig) GetECAdditionalFlags added in v1.11.3

func (cfg *RocketPoolConfig) GetECAdditionalFlags() (string, error)

Used by text/template to format eth1.yml

func (*RocketPoolConfig) GetECContainerTag added in v1.11.3

func (cfg *RocketPoolConfig) GetECContainerTag() (string, error)

Gets the tag of the ec container Used by text/template to format eth1.yml

func (*RocketPoolConfig) GetECImageEnvRef added in v1.24.0

func (cfg *RocketPoolConfig) GetECImageEnvRef() (string, error)

GetECImageEnvRef is ${EC_IMAGE_TAG_OVERRIDE:-${EC_IMAGE_TAG_DEFAULT}}.

func (*RocketPoolConfig) GetECMaxPeers added in v1.11.3

func (cfg *RocketPoolConfig) GetECMaxPeers() (uint16, error)

Gets the max peers of the ec container Used by text/template to format eth1.yml

func (*RocketPoolConfig) GetECOpenAPIPorts added in v1.11.3

func (cfg *RocketPoolConfig) GetECOpenAPIPorts() string

Gets the stop signal of the ec container Used by text/template to format eth1.yml

func (*RocketPoolConfig) GetECStopSignal added in v1.11.3

func (cfg *RocketPoolConfig) GetECStopSignal() (string, error)

Gets the stop signal of the ec container Used by text/template to format eth1.yml

func (*RocketPoolConfig) GetEcHttpEndpoint added in v1.11.3

func (cfg *RocketPoolConfig) GetEcHttpEndpoint() string

Used by text/template to format eth2.yml

func (*RocketPoolConfig) GetEcWsEndpoint added in v1.11.3

func (cfg *RocketPoolConfig) GetEcWsEndpoint() string

Used by text/template to format eth2.yml

func (*RocketPoolConfig) GetEth2Entrypoint added in v1.15.8

func (cfg *RocketPoolConfig) GetEth2Entrypoint() string

TODO: remove this code on the next Prysm release - so users can still rollback from 6.0.4 Used by text/template to select an entrypoint based on which consensus client is used.

func (*RocketPoolConfig) GetEventLogInterval added in v1.5.0

func (cfg *RocketPoolConfig) GetEventLogInterval() (int, error)

Get the configuration for the selected execution client

func (*RocketPoolConfig) GetExecutionHostname added in v1.11.3

func (cfg *RocketPoolConfig) GetExecutionHostname() (string, error)

Gets the hostname portion of the Execution Client's URI. Used by text/template to format prometheus.yml.

func (*RocketPoolConfig) GetExporterAdditionalFlags added in v1.11.3

func (cfg *RocketPoolConfig) GetExporterAdditionalFlags() []string

Used by text/template to format exporter.yml

func (*RocketPoolConfig) GetExternalIp added in v1.11.3

func (cfg *RocketPoolConfig) GetExternalIp() string

Used by text/template to format eth1.yml and eth2.yml. Returns the external IPv4 address, or empty string if IPv4 is unavailable.

func (*RocketPoolConfig) GetExternalIpv6 added in v1.20.1

func (cfg *RocketPoolConfig) GetExternalIpv6() string

Used by text/template to format eth2.yml when IPv6 is enabled. Lodestar requires --enr.ip6 and Teku requires --p2p-advertised-ips to advertise IPv6 in their ENR. Returns the external IPv6 address, or empty string if unavailable.

func (*RocketPoolConfig) GetGrafanaOpenPorts added in v1.16.0

func (cfg *RocketPoolConfig) GetGrafanaOpenPorts() string

Used by text/template to format grafana.yml

func (*RocketPoolConfig) GetMevBoostImageEnvRef added in v1.24.0

func (cfg *RocketPoolConfig) GetMevBoostImageEnvRef() string

func (*RocketPoolConfig) GetMevBoostOpenPorts added in v1.11.3

func (cfg *RocketPoolConfig) GetMevBoostOpenPorts() string

Used by text/template to format mev-boost.yml

func (*RocketPoolConfig) GetNetwork added in v1.11.2

func (cfg *RocketPoolConfig) GetNetwork() config.Network

func (*RocketPoolConfig) GetNetworkInfo added in v1.23.0

func (cfg *RocketPoolConfig) GetNetworkInfo() *config.NetworkInfo

func (*RocketPoolConfig) GetNodeOpenPorts added in v1.20.0

func (cfg *RocketPoolConfig) GetNodeOpenPorts() string

func (*RocketPoolConfig) GetParameters added in v1.3.0

func (cfg *RocketPoolConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*RocketPoolConfig) GetPrometheusAdditionalFlags added in v1.11.3

func (cfg *RocketPoolConfig) GetPrometheusAdditionalFlags() []string

Used by text/template to format prometheus.yml

func (*RocketPoolConfig) GetPrometheusOpenPorts added in v1.11.3

func (cfg *RocketPoolConfig) GetPrometheusOpenPorts() string

Used by text/template to format prometheus.yml

func (*RocketPoolConfig) GetSelectedConsensusClient added in v1.5.0

func (cfg *RocketPoolConfig) GetSelectedConsensusClient() (config.ConsensusClient, config.Mode)

Get the selected CC and mode

func (*RocketPoolConfig) GetSelectedConsensusClientConfig added in v1.3.0

func (cfg *RocketPoolConfig) GetSelectedConsensusClientConfig() (config.ConsensusConfig, error)

Get the configuration for the selected consensus client

func (*RocketPoolConfig) GetSubconfigs added in v1.3.0

func (cfg *RocketPoolConfig) GetSubconfigs() map[string]config.Config

Get the subconfigurations for this config

func (*RocketPoolConfig) GetVCContainerTag added in v1.11.3

func (cfg *RocketPoolConfig) GetVCContainerTag() (string, error)

Gets the tag of the vc container Used by text/template to format validator.yml

func (*RocketPoolConfig) GetVCImageEnvRef added in v1.24.0

func (cfg *RocketPoolConfig) GetVCImageEnvRef() (string, error)

GetVCImageEnvRef is ${VC_IMAGE_TAG_OVERRIDE:-${VC_IMAGE_TAG_DEFAULT}}.

func (*RocketPoolConfig) Graffiti added in v1.11.3

func (cfg *RocketPoolConfig) Graffiti() (string, error)

Used by text/template to format validator.yml

func (*RocketPoolConfig) GraffitiPrefix added in v1.11.3

func (cfg *RocketPoolConfig) GraffitiPrefix() string

Used by text/template to format validator.yml Only returns The prefix

func (*RocketPoolConfig) ImagesEnvFiles added in v1.24.0

func (cfg *RocketPoolConfig) ImagesEnvFiles() []string

func (*RocketPoolConfig) IsDevnet added in v1.24.0

func (cfg *RocketPoolConfig) IsDevnet() bool

func (*RocketPoolConfig) IsDoppelgangerEnabled added in v1.4.0

func (cfg *RocketPoolConfig) IsDoppelgangerEnabled() (bool, error)

Check if doppelganger protection is enabled

func (*RocketPoolConfig) IsIPv6Enabled added in v1.20.1

func (cfg *RocketPoolConfig) IsIPv6Enabled() bool

IsIPv6Enabled returns true if IPv6 support is enabled for the Docker network. Used by text/template to conditionally add enable_ipv6 to compose network definitions.

func (*RocketPoolConfig) IsPbsEnabled added in v1.19.3

func (cfg *RocketPoolConfig) IsPbsEnabled() bool

Used by text/template to check if any PBS client (MEV-Boost or Commit-Boost) is enabled

func (*RocketPoolConfig) IsTestnet added in v1.24.0

func (cfg *RocketPoolConfig) IsTestnet() bool

func (*RocketPoolConfig) KeymanagerApiPort added in v1.19.0

func (cfg *RocketPoolConfig) KeymanagerApiPort() uint16

func (*RocketPoolConfig) LoadedNetworks added in v1.23.0

func (cfg *RocketPoolConfig) LoadedNetworks() *NetworksConfig

func (*RocketPoolConfig) OverlayNetworkNames added in v1.24.0

func (cfg *RocketPoolConfig) OverlayNetworkNames() []string

ImagesEnvFiles is the on-disk catalog list (mainnet.env, then {network}.env). Compose interpolates runtime/image-tags.env, which is generated from these.

func (*RocketPoolConfig) PbsUrl added in v1.19.3

func (cfg *RocketPoolConfig) PbsUrl() string

Used by text/template to format mev-boost.yml

func (*RocketPoolConfig) ResolvedImage added in v1.24.0

func (cfg *RocketPoolConfig) ResolvedImage(key string) string

func (*RocketPoolConfig) RocketPoolVersion added in v1.11.3

func (cfg *RocketPoolConfig) RocketPoolVersion() string

Used by text/template to format validator.yml

func (*RocketPoolConfig) Save added in v1.20.8

func (cfg *RocketPoolConfig) Save(directory, filename string) error

func (*RocketPoolConfig) Serialize

func (cfg *RocketPoolConfig) Serialize() map[string]map[string]string

Serializes the configuration into a map of maps, compatible with a settings file

func (*RocketPoolConfig) SuggestedBlockGasLimit added in v1.16.1

func (cfg *RocketPoolConfig) SuggestedBlockGasLimit() string

func (*RocketPoolConfig) SupportsMevBoost added in v1.23.0

func (cfg *RocketPoolConfig) SupportsMevBoost() bool

func (*RocketPoolConfig) SyncAPITokenFromDisk added in v1.22.0

func (cfg *RocketPoolConfig) SyncAPITokenFromDisk() error

SyncAPITokenFromDisk loads the API token sidecar file, creating a CLI write token if needed. Path selection uses IsCLI and IsNativeMode.

func (*RocketPoolConfig) TestnetOnly added in v1.24.0

func (cfg *RocketPoolConfig) TestnetOnly() string

TestnetOnly returns "" on testnet so a compose.tmpl line is active, otherwise "#".

func (*RocketPoolConfig) UpdateDefaults added in v1.3.0

func (cfg *RocketPoolConfig) UpdateDefaults() error

Update the default settings for all overwrite-on-upgrade parameters

func (*RocketPoolConfig) Validate added in v1.3.0

func (cfg *RocketPoolConfig) Validate() []string

Checks to see if the current configuration is valid; if not, returns a list of errors

func (*RocketPoolConfig) VcAdditionalFlags added in v1.11.3

func (cfg *RocketPoolConfig) VcAdditionalFlags() (string, error)

Used by text/template to format validator.yml

func (*RocketPoolConfig) WarnUpdateSuggestedSettings added in v1.20.5

func (cfg *RocketPoolConfig) WarnUpdateSuggestedSettings()

type SmartnodeConfig added in v1.3.0

type SmartnodeConfig struct {
	Title string `yaml:"-"`

	// Docker container prefix
	ProjectName config.Parameter `yaml:"projectName,omitempty"`

	// The path of the data folder where everything is stored
	DataPath config.Parameter `yaml:"dataPath,omitempty"`

	// The path of the watchtower's persistent state storage
	WatchtowerStatePath config.Parameter `yaml:"watchtowerStatePath"`

	// Which network we're on
	Network config.Parameter `yaml:"network,omitempty"`

	// Manual max fee override
	ManualMaxFee config.Parameter `yaml:"manualMaxFee,omitempty"`

	// Manual priority fee override
	PriorityFee config.Parameter `yaml:"priorityFee,omitempty"`

	// Threshold for automatic transactions
	AutoTxGasThreshold config.Parameter `yaml:"minipoolStakeGasThreshold,omitempty"`

	// The amount of ETH in a minipool's balance before auto-distribute kicks in
	DistributeThreshold config.Parameter `yaml:"distributeThreshold,omitempty"`

	// Mode for acquiring Merkle rewards trees
	RewardsTreeMode config.Parameter `yaml:"rewardsTreeMode,omitempty"`

	// Timestamp used as reference for prices/balances submissions
	PriceBalanceSubmissionReferenceTimestamp config.Parameter `yaml:"priceBalanceSubmissionReferenceTimestamp,omitempty"`

	// Custom URL to download a rewards tree
	RewardsTreeCustomUrl config.Parameter `yaml:"rewardsTreeCustomUrl,omitempty"`

	// URL for an EC with archive mode, for manual rewards tree generation
	ArchiveECUrl config.Parameter `yaml:"archiveEcUrl,omitempty"`

	// Manual override for the watchtower's max fee
	WatchtowerMaxFeeOverride config.Parameter `yaml:"watchtowerMaxFeeOverride,omitempty"`

	// Manual override for the watchtower's priority fee
	WatchtowerPrioFeeOverride config.Parameter `yaml:"watchtowerPrioFeeOverride,omitempty"`

	// The toggle for enabling pDAO proposal verification duties
	VerifyProposals config.Parameter `yaml:"verifyProposals,omitempty"`

	// Delay for automatic queue assignment
	AutoAssignmentDelay config.Parameter `yaml:"autoAssignmentDelay,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the Smartnode

func NewSmartnodeConfig added in v1.3.0

func NewSmartnodeConfig(cfg *RocketPoolConfig) *SmartnodeConfig

Generates a newSmart Node configuration

func (*SmartnodeConfig) GetArbitrumMessengerAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetArbitrumMessengerAddress() string

func (*SmartnodeConfig) GetArbitrumMessengerAddressV2 added in v1.11.5

func (cfg *SmartnodeConfig) GetArbitrumMessengerAddressV2() string

func (*SmartnodeConfig) GetBalanceBatcherAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetBalanceBatcherAddress() string

func (*SmartnodeConfig) GetBaseMessengerAddress added in v1.10.1

func (cfg *SmartnodeConfig) GetBaseMessengerAddress() string

func (*SmartnodeConfig) GetBeaconExplorerUrl added in v1.23.0

func (cfg *SmartnodeConfig) GetBeaconExplorerUrl() string

func (*SmartnodeConfig) GetBeaconNetwork added in v1.23.0

func (cfg *SmartnodeConfig) GetBeaconNetwork() string

func (*SmartnodeConfig) GetChainID added in v1.3.0

func (cfg *SmartnodeConfig) GetChainID() uint

func (*SmartnodeConfig) GetCommitBoostChainName added in v1.23.0

func (cfg *SmartnodeConfig) GetCommitBoostChainName() string

func (*SmartnodeConfig) GetConfigTitle added in v1.3.0

func (cfg *SmartnodeConfig) GetConfigTitle() string

The title for the config

func (*SmartnodeConfig) GetCustomChainConfigDir added in v1.23.0

func (cfg *SmartnodeConfig) GetCustomChainConfigDir() string

func (*SmartnodeConfig) GetCustomKeyPasswordFilePath added in v1.4.3

func (cfg *SmartnodeConfig) GetCustomKeyPasswordFilePath() string

func (*SmartnodeConfig) GetCustomKeyPath added in v1.4.3

func (cfg *SmartnodeConfig) GetCustomKeyPath() string

func (*SmartnodeConfig) GetFlashbotsProtectUrl added in v1.9.0

func (cfg *SmartnodeConfig) GetFlashbotsProtectUrl() string

func (*SmartnodeConfig) GetFlashbotsRelayUrl added in v1.20.4

func (cfg *SmartnodeConfig) GetFlashbotsRelayUrl() string

func (*SmartnodeConfig) GetGlobalFeeRecipientFilePath added in v1.18.7

func (cfg *SmartnodeConfig) GetGlobalFeeRecipientFilePath() string

func (*SmartnodeConfig) GetMinipoolPerformanceFilename added in v1.15.0

func (cfg *SmartnodeConfig) GetMinipoolPerformanceFilename(interval uint64) string

func (*SmartnodeConfig) GetMinipoolPerformancePath added in v1.5.0

func (cfg *SmartnodeConfig) GetMinipoolPerformancePath(interval uint64, daemon bool) string

func (*SmartnodeConfig) GetMulticallAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetMulticallAddress() string

func (*SmartnodeConfig) GetNodeAddressPath added in v1.15.7

func (cfg *SmartnodeConfig) GetNodeAddressPath() string

func (*SmartnodeConfig) GetNodeManagerUrl added in v1.19.3

func (cfg *SmartnodeConfig) GetNodeManagerUrl() string

func (*SmartnodeConfig) GetOptimismMessengerAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetOptimismMessengerAddress() string

func (*SmartnodeConfig) GetParameters added in v1.3.0

func (cfg *SmartnodeConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*SmartnodeConfig) GetPasswordPath added in v1.3.0

func (cfg *SmartnodeConfig) GetPasswordPath() string

func (*SmartnodeConfig) GetPasswordPathInCLI added in v1.9.0

func (cfg *SmartnodeConfig) GetPasswordPathInCLI() string

func (*SmartnodeConfig) GetPerKeyFeeRecipientFilePath added in v1.18.7

func (cfg *SmartnodeConfig) GetPerKeyFeeRecipientFilePath() string

func (*SmartnodeConfig) GetPerformanceFilename added in v1.18.7

func (cfg *SmartnodeConfig) GetPerformanceFilename(interval uint64) string

func (*SmartnodeConfig) GetPerformancePath added in v1.18.7

func (cfg *SmartnodeConfig) GetPerformancePath(interval uint64) string

func (*SmartnodeConfig) GetPolygonMessengerAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetPolygonMessengerAddress() string

func (*SmartnodeConfig) GetPreviousRewardsPoolAddresses added in v1.5.0

func (cfg *SmartnodeConfig) GetPreviousRewardsPoolAddresses() []common.Address

func (*SmartnodeConfig) GetPreviousRocketDAOProtocolVerifierAddresses added in v1.13.0

func (cfg *SmartnodeConfig) GetPreviousRocketDAOProtocolVerifierAddresses() []common.Address

func (*SmartnodeConfig) GetRecordsPath added in v1.10.0

func (cfg *SmartnodeConfig) GetRecordsPath() string

func (*SmartnodeConfig) GetRegenerateRewardsTreeRequestPath added in v1.5.0

func (cfg *SmartnodeConfig) GetRegenerateRewardsTreeRequestPath(interval uint64, daemon bool) string

func (*SmartnodeConfig) GetRethAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetRethAddress() common.Address

func (*SmartnodeConfig) GetRewardsEventFilename added in v1.21.0

func (cfg *SmartnodeConfig) GetRewardsEventFilename(interval uint64) string

func (*SmartnodeConfig) GetRewardsEventPath added in v1.21.0

func (cfg *SmartnodeConfig) GetRewardsEventPath(interval uint64, daemon bool) string

func (*SmartnodeConfig) GetRewardsEventRemoteFilename added in v1.21.0

func (cfg *SmartnodeConfig) GetRewardsEventRemoteFilename(interval uint64) string

func (*SmartnodeConfig) GetRewardsTreeDirectory added in v1.15.0

func (cfg *SmartnodeConfig) GetRewardsTreeDirectory(daemon bool) string

func (*SmartnodeConfig) GetRewardsTreeFilename added in v1.15.0

func (cfg *SmartnodeConfig) GetRewardsTreeFilename(interval uint64, extension RewardsExtension) string

func (*SmartnodeConfig) GetRewardsTreePath added in v1.5.0

func (cfg *SmartnodeConfig) GetRewardsTreePath(interval uint64, daemon bool, extension RewardsExtension) string

func (*SmartnodeConfig) GetRocketSignerRegistryAddress added in v1.13.6

func (cfg *SmartnodeConfig) GetRocketSignerRegistryAddress() string

func (*SmartnodeConfig) GetRplTokenAddress added in v1.3.0

func (cfg *SmartnodeConfig) GetRplTokenAddress() string

func (*SmartnodeConfig) GetRplTwapPoolAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetRplTwapPoolAddress() string

func (*SmartnodeConfig) GetScrollFeeEstimatorAddress added in v1.11.2

func (cfg *SmartnodeConfig) GetScrollFeeEstimatorAddress() string

func (*SmartnodeConfig) GetScrollMessengerAddress added in v1.11.2

func (cfg *SmartnodeConfig) GetScrollMessengerAddress() string

func (*SmartnodeConfig) GetSmartnodeContainerTag added in v1.3.0

func (cfg *SmartnodeConfig) GetSmartnodeContainerTag() string

func (*SmartnodeConfig) GetSnapshotApiDomain added in v1.6.0

func (cfg *SmartnodeConfig) GetSnapshotApiDomain() string

func (*SmartnodeConfig) GetSnapshotID added in v1.6.0

func (cfg *SmartnodeConfig) GetSnapshotID() string

func (*SmartnodeConfig) GetStateManagerContracts added in v1.15.0

func (cfg *SmartnodeConfig) GetStateManagerContracts() StateManagerContracts

Utility function to get the state manager contracts

func (*SmartnodeConfig) GetStorageAddress added in v1.3.0

func (cfg *SmartnodeConfig) GetStorageAddress() string

func (*SmartnodeConfig) GetTxWatchUrl added in v1.3.0

func (cfg *SmartnodeConfig) GetTxWatchUrl() string

func (*SmartnodeConfig) GetV100ClaimNodeAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV100ClaimNodeAddress() common.Address

func (*SmartnodeConfig) GetV100ClaimTrustedNodeAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV100ClaimTrustedNodeAddress() common.Address

func (*SmartnodeConfig) GetV100MinipoolManagerAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV100MinipoolManagerAddress() common.Address

func (*SmartnodeConfig) GetV100RewardsPoolAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV100RewardsPoolAddress() common.Address

func (*SmartnodeConfig) GetV110MinipoolFactoryAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV110MinipoolFactoryAddress() common.Address

func (*SmartnodeConfig) GetV110MinipoolQueueAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV110MinipoolQueueAddress() common.Address

func (*SmartnodeConfig) GetV110NetworkPricesAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV110NetworkPricesAddress() common.Address

func (*SmartnodeConfig) GetV110NodeDepositAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV110NodeDepositAddress() common.Address

func (*SmartnodeConfig) GetV110NodeStakingAddress added in v1.9.0

func (cfg *SmartnodeConfig) GetV110NodeStakingAddress() common.Address

func (*SmartnodeConfig) GetV120NetworkBalancesAddress added in v1.13.0

func (cfg *SmartnodeConfig) GetV120NetworkBalancesAddress() common.Address

func (*SmartnodeConfig) GetV120NetworkPricesAddress added in v1.13.0

func (cfg *SmartnodeConfig) GetV120NetworkPricesAddress() common.Address

func (*SmartnodeConfig) GetValidatorKeychainPath added in v1.3.0

func (cfg *SmartnodeConfig) GetValidatorKeychainPath() string

func (*SmartnodeConfig) GetValidatorKeychainPathInCLI added in v1.9.0

func (cfg *SmartnodeConfig) GetValidatorKeychainPathInCLI() string

func (*SmartnodeConfig) GetVotingPath added in v1.13.0

func (cfg *SmartnodeConfig) GetVotingPath() string

func (*SmartnodeConfig) GetVotingSnapshotID added in v1.4.2

func (cfg *SmartnodeConfig) GetVotingSnapshotID() [32]byte

func (*SmartnodeConfig) GetWalletPath added in v1.3.0

func (cfg *SmartnodeConfig) GetWalletPath() string

func (*SmartnodeConfig) GetWalletPathInCLI added in v1.9.0

func (cfg *SmartnodeConfig) GetWalletPathInCLI() string

func (*SmartnodeConfig) GetWatchtowerFolder added in v1.5.0

func (cfg *SmartnodeConfig) GetWatchtowerFolder(daemon bool) string

func (*SmartnodeConfig) GetWatchtowerStatePath added in v1.5.0

func (cfg *SmartnodeConfig) GetWatchtowerStatePath() string

func (*SmartnodeConfig) GetZkSyncEraMessengerAddress added in v1.9.2

func (cfg *SmartnodeConfig) GetZkSyncEraMessengerAddress() string

type StateManagerContracts added in v1.15.0

type StateManagerContracts struct {
	Multicaller    common.Address
	BalanceBatcher common.Address
}

Contract addresses for multicall / network state manager

type TekuConfig added in v1.3.0

type TekuConfig struct {
	Title string `yaml:"-"`

	// Common parameters that Teku doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Max number of P2P peers to connect to
	JvmHeapSize config.Parameter `yaml:"jvmHeapSize,omitempty"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// The use slashing protection flag
	UseSlashingProtection config.Parameter `yaml:"useSlashingProtection,omitempty"`

	// The archive mode flag
	ArchiveMode config.Parameter `yaml:"archiveMode,omitempty"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the BN
	AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"`

	// The IPv6 P2P port for Teku (Teku uses a separate port for IPv6)
	P2pIpv6Port config.Parameter `yaml:"p2pIpv6Port,omitempty"`

	// The port to use for gossip traffic using the QUIC protocol
	P2pQuicPort config.Parameter `yaml:"p2pQuicPort,omitempty"`

	// The IPv6 QUIC P2P port (Teku uses a separate port for IPv6 QUIC)
	P2pQuicIpv6Port config.Parameter `yaml:"p2pQuicIpv6Port,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for Teku

func NewTekuConfig added in v1.3.0

func NewTekuConfig(cfg *RocketPoolConfig) *TekuConfig

Generates a new Teku configuration

func (*TekuConfig) GetBeaconNodeImage added in v1.11.3

func (cfg *TekuConfig) GetBeaconNodeImage() string

Get the Docker container name of the beacon client

func (*TekuConfig) GetConfigTitle added in v1.3.0

func (cfg *TekuConfig) GetConfigTitle() string

The title for the config

func (*TekuConfig) GetName added in v1.3.0

func (cfg *TekuConfig) GetName() string

Get the name of the client

func (*TekuConfig) GetParameters added in v1.3.0

func (cfg *TekuConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*TekuConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *TekuConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*TekuConfig) GetValidatorImage added in v1.3.0

func (cfg *TekuConfig) GetValidatorImage() string

Get the Docker container name of the validator client

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL