config

package
v1.11.6 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2024 License: GPL-3.0 Imports: 21 Imported by: 3

Documentation

Index

Constants

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 (
	ApiContainerName          string = "api"
	Eth1ContainerName         string = "eth1"
	Eth1FallbackContainerName string = "eth1-fallback"
	Eth2ContainerName         string = "eth2"
	ExporterContainerName     string = "exporter"
	GrafanaContainerName      string = "grafana"
	MevBoostContainerName     string = "mev-boost"
	NodeContainerName         string = "node"
	PrometheusContainerName   string = "prometheus"
	ValidatorContainerName    string = "validator"
	WatchtowerContainerName   string = "watchtower"
)

Constants

View Source
const (
	NetworkID                          string = "network"
	ProjectNameID                      string = "projectName"
	SnapshotID                         string = "rocketpool-dao.eth"
	RewardsTreeFilenameFormat          string = "rp-rewards-%s-%d.json"
	MinipoolPerformanceFilenameFormat  string = "rp-minipool-performance-%s-%d.json"
	RewardsTreeIpfsExtension           string = ".zst"
	RewardsTreesFolder                 string = "rewards-trees"
	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"
	FeeRecipientFilename               string = "rp-fee-recipient.txt"
	NativeFeeRecipientFilename         string = "rp-fee-recipient-env.txt"
)

Constants

View Source
const (
	WatchtowerMaxFeeDefault  uint64 = 200
	WatchtowerPrioFeeDefault uint64 = 3
)

Defaults

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 OpenApiPortID string = "openApiPort"
View Source
const P2pPortID string = "p2pPort"
View Source
const P2pQuicPortID string = "p2pQuicPort"

Variables

This section is empty.

Functions

This section is empty.

Types

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

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

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

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,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 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) 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"`

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

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,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 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) 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"`

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

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,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 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) 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"`

	// 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 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 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) 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 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 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) 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 (config *FallbackNormalConfig) GetConfigTitle() string

The 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 (config *FallbackPrysmConfig) GetConfigTitle() string

The 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:"-"`

	// The flag for enabling PBSS
	EnablePbss config.Parameter `yaml:"enablePbss,omitempty"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,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 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"`

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

	// 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 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 max profit relay
	BloxRouteMaxProfitRelay config.Parameter `yaml:"bloxRouteMaxProfitEnabled,omitempty"`

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

	// Eden relay
	EdenRelay config.Parameter `yaml:"edenEnabled,omitempty"`

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

	// Aestus relay
	AestusRelay config.Parameter `yaml:"aestusEnabled,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 new Smartnode configuration

func (*NativeConfig) GetConfigTitle added in v1.3.0

func (cfg *NativeConfig) GetConfigTitle() string

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

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

	// 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 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 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 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 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 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 RocketPoolConfig

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

	Version string `yaml:"-"`

	RocketPoolDirectory string `yaml:"-"`

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

	// Consensus client settings
	ConsensusClientMode     config.Parameter `yaml:"consensusClientMode,omitempty"`
	ConsensusClient         config.Parameter `yaml:"consensusClient,omitempty"`
	ExternalConsensusClient config.Parameter `yaml:"externalConsensusClient,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 Smartnode configuration
	Smartnode *SmartnodeConfig `yaml:"smartnode,omitempty"`

	// Execution client configurations
	ExecutionCommon   *ExecutionCommonConfig   `yaml:"executionCommon,omitempty"`
	Geth              *GethConfig              `yaml:"geth,omitempty"`
	Nethermind        *NethermindConfig        `yaml:"nethermind,omitempty"`
	Besu              *BesuConfig              `yaml:"besu,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"`
	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"`

	// Addons
	GraffitiWallWriter addontypes.SmartnodeAddon `yaml:"addon-gww,omitempty"`
	RescueNode         addontypes.SmartnodeAddon `yaml:"addon-rescue-node,omitempty"`
}

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

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) 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) 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) 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) GetConfigTitle added in v1.3.0

func (cfg *RocketPoolConfig) GetConfigTitle() string

The 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) 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) 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

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) 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) 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 the prefix

func (*RocketPoolConfig) IsDoppelgangerEnabled added in v1.4.0

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

Check if doppelganger protection is enabled

func (*RocketPoolConfig) MevBoostUrl added in v1.11.3

func (cfg *RocketPoolConfig) MevBoostUrl() string

Used by text/template to format validator.yml

func (*RocketPoolConfig) RocketPoolVersion added in v1.11.3

func (cfg *RocketPoolConfig) RocketPoolVersion() string

Used by text/template to format validator.yml

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) 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

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

	// 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 rolling records
	UseRollingRecords config.Parameter `yaml:"useRollingRecords,omitempty"`

	// The rolling record checkpoint interval
	RecordCheckpointInterval config.Parameter `yaml:"recordCheckpointInterval,omitempty"`

	// The checkpoint retention limit
	CheckpointRetentionLimit config.Parameter `yaml:"checkpointRetentionLimit,omitempty"`

	// The path of the records folder where snapshots of rolling record info is stored during a rewards interval
	RecordsPath config.Parameter `yaml:"recordsPath,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the Smartnode

func NewSmartnodeConfig added in v1.3.0

func NewSmartnodeConfig(cfg *RocketPoolConfig) *SmartnodeConfig

Generates a new Smartnode 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) GetChainID added in v1.3.0

func (cfg *SmartnodeConfig) GetChainID() uint

func (*SmartnodeConfig) GetConfigTitle added in v1.3.0

func (cfg *SmartnodeConfig) GetConfigTitle() string

The the title for the config

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) GetEcMigratorContainerTag added in v1.4.0

func (cfg *SmartnodeConfig) GetEcMigratorContainerTag() string

func (*SmartnodeConfig) GetFeeRecipientFilePath added in v1.5.1

func (cfg *SmartnodeConfig) GetFeeRecipientFilePath() string

func (*SmartnodeConfig) GetFlashbotsProtectUrl added in v1.9.0

func (cfg *SmartnodeConfig) GetFlashbotsProtectUrl() 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) 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) 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) GetPruneProvisionerContainerTag added in v1.3.0

func (config *SmartnodeConfig) GetPruneProvisionerContainerTag() string

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) GetRewardsTreePath added in v1.5.0

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

func (*SmartnodeConfig) GetRplFaucetAddress added in v1.3.0

func (cfg *SmartnodeConfig) GetRplFaucetAddress() 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) GetSnapshotDelegationAddress added in v1.4.2

func (cfg *SmartnodeConfig) GetSnapshotDelegationAddress() string

func (*SmartnodeConfig) GetSnapshotID added in v1.6.0

func (config *SmartnodeConfig) GetSnapshotID() string

func (*SmartnodeConfig) GetStakeUrl added in v1.3.0

func (cfg *SmartnodeConfig) GetStakeUrl() string

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) 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) 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 (config *SmartnodeConfig) GetWatchtowerStatePath() string

func (*SmartnodeConfig) GetZkSyncEraMessengerAddress added in v1.9.2

func (cfg *SmartnodeConfig) GetZkSyncEraMessengerAddress() string

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

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