Documentation ¶
Index ¶
- Constants
- func ValidateDefaults(Chain Chain, ChainName string) error
- func ValidateMetricDefaults(Params []ClientParam) error
- type BesuConfig
- type BitflyNodeMetricsConfig
- type Chain
- type ClientOption
- type ClientParam
- type ConsensusCommonConfig
- type ExecutionCommonConfig
- type ExporterConfig
- type ExternalExecutionConfig
- type ExternalLighthouseConfig
- func (cfg *ExternalLighthouseConfig) GetApiUrl() string
- func (cfg *ExternalLighthouseConfig) GetConfigTitle() string
- func (cfg *ExternalLighthouseConfig) GetName() string
- func (cfg *ExternalLighthouseConfig) GetParameters() []*config.Parameter
- func (cfg *ExternalLighthouseConfig) GetValidatorImage() string
- type ExternalLodestarConfig
- type ExternalNimbusConfig
- type ExternalPrysmConfig
- type ExternalTekuConfig
- type FallbackNormalConfig
- type FallbackPrysmConfig
- type GethConfig
- type GrafanaConfig
- type LegacyRocketPoolConfig
- func (config *LegacyRocketPoolConfig) GetGasLimit() (uint64, error)
- func (config *LegacyRocketPoolConfig) GetMaxFee() (*big.Int, error)
- func (config *LegacyRocketPoolConfig) GetMaxPriorityFee() (*big.Int, error)
- func (config *LegacyRocketPoolConfig) GetSelectedEth1Client() *ClientOption
- func (config *LegacyRocketPoolConfig) GetSelectedEth1FallbackClient() *ClientOption
- func (config *LegacyRocketPoolConfig) GetSelectedEth2Client() *ClientOption
- func (config *LegacyRocketPoolConfig) Serialize() ([]byte, error)
- type LighthouseConfig
- type LodestarConfig
- type Metrics
- type MevBoostConfig
- func (cfg *MevBoostConfig) GetAvailableProfiles() (bool, bool, bool, bool)
- func (cfg *MevBoostConfig) GetAvailableRelays() []config.MevRelay
- func (cfg *MevBoostConfig) GetConfigTitle() string
- func (cfg *MevBoostConfig) GetEnabledMevRelays() []config.MevRelay
- func (cfg *MevBoostConfig) GetParameters() []*config.Parameter
- func (cfg *MevBoostConfig) GetRelayString() string
- type NativeConfig
- type NethermindConfig
- type NimbusConfig
- type PrometheusConfig
- type PrysmConfig
- type RocketPoolConfig
- func (cfg *RocketPoolConfig) ChangeNetwork(newNetwork config.Network)
- func (cfg *RocketPoolConfig) CreateCopy() *RocketPoolConfig
- func (cfg *RocketPoolConfig) Deserialize(masterMap map[string]map[string]string) error
- func (cfg *RocketPoolConfig) GenerateEnvironmentVariables() map[string]string
- func (cfg *RocketPoolConfig) GetChanges(oldConfig *RocketPoolConfig) (map[string][]config.ChangedSetting, map[config.ContainerID]bool, bool)
- func (cfg *RocketPoolConfig) GetConfigTitle() string
- func (cfg *RocketPoolConfig) GetEventLogInterval() (int, error)
- func (cfg *RocketPoolConfig) GetParameters() []*config.Parameter
- func (cfg *RocketPoolConfig) GetSelectedConsensusClient() (config.ConsensusClient, config.Mode)
- func (cfg *RocketPoolConfig) GetSelectedConsensusClientConfig() (config.ConsensusConfig, error)
- func (cfg *RocketPoolConfig) GetSubconfigs() map[string]config.Config
- func (cfg *RocketPoolConfig) IsDoppelgangerEnabled() (bool, error)
- func (cfg *RocketPoolConfig) Serialize() map[string]map[string]string
- func (cfg *RocketPoolConfig) UpdateDefaults() error
- func (cfg *RocketPoolConfig) Validate() []string
- type SmartnodeConfig
- func (cfg *SmartnodeConfig) GetArbitrumMessengerAddress() string
- func (cfg *SmartnodeConfig) GetBalanceBatcherAddress() string
- func (cfg *SmartnodeConfig) GetChainID() uint
- func (cfg *SmartnodeConfig) GetConfigTitle() string
- func (cfg *SmartnodeConfig) GetCustomKeyPasswordFilePath() string
- func (cfg *SmartnodeConfig) GetCustomKeyPath() string
- func (cfg *SmartnodeConfig) GetEcMigratorContainerTag() string
- func (cfg *SmartnodeConfig) GetFeeRecipientFilePath() string
- func (cfg *SmartnodeConfig) GetFlashbotsProtectUrl() string
- func (cfg *SmartnodeConfig) GetMinipoolPerformancePath(interval uint64, daemon bool) string
- func (cfg *SmartnodeConfig) GetMulticallAddress() string
- func (cfg *SmartnodeConfig) GetOneInchOracleAddress() string
- func (cfg *SmartnodeConfig) GetOptimismMessengerAddress() string
- func (cfg *SmartnodeConfig) GetParameters() []*config.Parameter
- func (cfg *SmartnodeConfig) GetPasswordPath() string
- func (cfg *SmartnodeConfig) GetPasswordPathInCLI() string
- func (cfg *SmartnodeConfig) GetPolygonMessengerAddress() string
- func (cfg *SmartnodeConfig) GetPreviousRewardsPoolAddresses() map[string][]common.Address
- func (config *SmartnodeConfig) GetPruneProvisionerContainerTag() string
- func (cfg *SmartnodeConfig) GetRegenerateRewardsTreeRequestPath(interval uint64, daemon bool) string
- func (cfg *SmartnodeConfig) GetRethAddress() common.Address
- func (cfg *SmartnodeConfig) GetRewardsSubmissionBlockMaps() []uint64
- func (cfg *SmartnodeConfig) GetRewardsTreePath(interval uint64, daemon bool) string
- func (cfg *SmartnodeConfig) GetRplFaucetAddress() string
- func (cfg *SmartnodeConfig) GetRplTokenAddress() string
- func (cfg *SmartnodeConfig) GetRplTwapPoolAddress() string
- func (cfg *SmartnodeConfig) GetSmartnodeContainerTag() string
- func (cfg *SmartnodeConfig) GetSnapshotApiDomain() string
- func (cfg *SmartnodeConfig) GetSnapshotDelegationAddress() string
- func (config *SmartnodeConfig) GetSnapshotID() string
- func (cfg *SmartnodeConfig) GetStakeUrl() string
- func (cfg *SmartnodeConfig) GetStorageAddress() string
- func (cfg *SmartnodeConfig) GetTxWatchUrl() string
- func (cfg *SmartnodeConfig) GetV100ClaimNodeAddress() common.Address
- func (cfg *SmartnodeConfig) GetV100ClaimTrustedNodeAddress() common.Address
- func (cfg *SmartnodeConfig) GetV100MinipoolManagerAddress() common.Address
- func (cfg *SmartnodeConfig) GetV100RewardsPoolAddress() common.Address
- func (cfg *SmartnodeConfig) GetV110MinipoolFactoryAddress() common.Address
- func (cfg *SmartnodeConfig) GetV110MinipoolQueueAddress() common.Address
- func (cfg *SmartnodeConfig) GetV110NetworkPricesAddress() common.Address
- func (cfg *SmartnodeConfig) GetV110NodeDepositAddress() common.Address
- func (cfg *SmartnodeConfig) GetV110NodeStakingAddress() common.Address
- func (cfg *SmartnodeConfig) GetValidatorKeychainPath() string
- func (cfg *SmartnodeConfig) GetValidatorKeychainPathInCLI() string
- func (cfg *SmartnodeConfig) GetVotingSnapshotID() [32]byte
- func (cfg *SmartnodeConfig) GetWalletPath() string
- func (cfg *SmartnodeConfig) GetWalletPathInCLI() string
- func (cfg *SmartnodeConfig) GetWatchtowerFolder(daemon bool) string
- func (config *SmartnodeConfig) GetWatchtowerStatePath() string
- func (cfg *SmartnodeConfig) GetZkSyncEraMessengerAddress() string
- type TekuConfig
- type UserParam
Constants ¶
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
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" FeeRecipientFileEnvVar string = "FEE_RECIPIENT_FILE" FeeRecipientEnvVar string = "FEE_RECIPIENT" )
Constants
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/PoolSea-Staking-Pool/rewards-trees/raw/main/%s/%s" FeeRecipientFilename string = "rp-fee-recipient.txt" NativeFeeRecipientFilename string = "rp-fee-recipient-env.txt" )
Constants
const ( WatchtowerMaxFeeDefault uint64 = 200 WatchtowerPrioFeeDefault uint64 = 3 )
Defaults
const ApiPortID string = "apiPort"
const CheckpointSyncUrlID string = "checkpointSyncUrl"
const CustomGraffitiEnvVar string = "CUSTOM_GRAFFITI"
Env var names
const DoppelgangerDetectionID string = "doppelgangerDetection"
const GraffitiID string = "graffiti"
Param IDs
const OpenApiPortID string = "openApiPort"
const P2pPortID string = "p2pPort"
Variables ¶
This section is empty.
Functions ¶
func ValidateDefaults ¶
Make sure the default parameter values can be parsed into the parameter types
func ValidateMetricDefaults ¶
func ValidateMetricDefaults(Params []ClientParam) error
Make sure the default parameter values for the metrics section can be parsed into the parameter types
Types ¶
type BesuConfig ¶
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 ¶
func NewBesuConfig(cfg *RocketPoolConfig) *BesuConfig
Generates a new Besu configuration
func (*BesuConfig) GetConfigTitle ¶
func (cfg *BesuConfig) GetConfigTitle() string
The the title for the config
func (*BesuConfig) GetParameters ¶
func (cfg *BesuConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type BitflyNodeMetricsConfig ¶
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 ¶
func NewBitflyNodeMetricsConfig(cfg *RocketPoolConfig) *BitflyNodeMetricsConfig
Generates a new Bitfly Node Metrics config
func (*BitflyNodeMetricsConfig) GetConfigTitle ¶
func (cfg *BitflyNodeMetricsConfig) GetConfigTitle() string
The the title for the config
func (*BitflyNodeMetricsConfig) GetParameters ¶
func (cfg *BitflyNodeMetricsConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type Chain ¶
type Chain struct { Provider string `yaml:"provider,omitempty"` WsProvider string `yaml:"wsProvider,omitempty"` FallbackProvider string `yaml:"fallbackProvider,omitempty"` FallbackWsProvider string `yaml:"fallbackWsProvider,omitempty"` ReconnectDelay string `yaml:"reconnectDelay,omitempty"` PruneProvisioner string `yaml:"pruneProvisioner,omitempty"` ChainID string `yaml:"chainID,omitempty"` Client struct { Options []ClientOption `yaml:"options,omitempty"` Selected string `yaml:"selected,omitempty"` Params []UserParam `yaml:"params,omitempty"` } `yaml:"client,omitempty"` }
func (*Chain) GetClientById ¶
func (chain *Chain) GetClientById(id string) *ClientOption
Get a client by it's ID
func (*Chain) GetSelectedClient ¶
func (chain *Chain) GetSelectedClient() *ClientOption
type ClientOption ¶
type ClientOption struct { ID string `yaml:"id,omitempty"` Name string `yaml:"name,omitempty"` Desc string `yaml:"desc,omitempty"` Image string `yaml:"image,omitempty"` BeaconImage string `yaml:"beaconImage,omitempty"` ValidatorImage string `yaml:"validatorImage,omitempty"` Link string `yaml:"link,omitempty"` CompatibleEth2Clients string `yaml:"compatibleEth2Clients,omitempty"` EventLogInterval string `yaml:"eventLogInterval,omitempty"` Supermajority bool `yaml:"supermajority,omitempty"` Params []ClientParam `yaml:"params,omitempty"` Fallback bool `yaml:"fallback,omitempty"` }
func (*ClientOption) GetBeaconImage ¶
func (client *ClientOption) GetBeaconImage() string
Get the beacon & validator images for a client
func (*ClientOption) GetParamByEnvName ¶
func (client *ClientOption) GetParamByEnvName(env string) *ClientParam
Get a client parameter by its environment variable name
func (*ClientOption) GetValidatorImage ¶
func (client *ClientOption) GetValidatorImage() string
type ClientParam ¶
type ClientParam struct { Name string `yaml:"name,omitempty"` Desc string `yaml:"desc,omitempty"` Env string `yaml:"env,omitempty"` Required bool `yaml:"required,omitempty"` Regex string `yaml:"regex,omitempty"` Type string `yaml:"type,omitempty"` Default string `yaml:"default,omitempty"` Max string `yaml:"max,omitempty"` BlankText string `yaml:"blankText,omitempty"` Advanced bool `yaml:"advanced,omitempty"` }
type ConsensusCommonConfig ¶
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 ¶
func NewConsensusCommonConfig(cfg *RocketPoolConfig) *ConsensusCommonConfig
Create a new ConsensusCommonParams struct
func (*ConsensusCommonConfig) GetConfigTitle ¶
func (cfg *ConsensusCommonConfig) GetConfigTitle() string
The the title for the config
func (*ConsensusCommonConfig) GetParameters ¶
func (cfg *ConsensusCommonConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type ExecutionCommonConfig ¶
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 ¶
func NewExecutionCommonConfig(cfg *RocketPoolConfig) *ExecutionCommonConfig
Create a new ExecutionCommonConfig struct
func (*ExecutionCommonConfig) GetConfigTitle ¶
func (cfg *ExecutionCommonConfig) GetConfigTitle() string
The the title for the config
func (*ExecutionCommonConfig) GetParameters ¶
func (cfg *ExecutionCommonConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type ExporterConfig ¶
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 ¶
func NewExporterConfig(cfg *RocketPoolConfig) *ExporterConfig
Generates a new Exporter config
func (*ExporterConfig) GetConfigTitle ¶
func (cfg *ExporterConfig) GetConfigTitle() string
The the title for the config
func (*ExporterConfig) GetParameters ¶
func (cfg *ExporterConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type ExternalExecutionConfig ¶
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 ¶
func NewExternalExecutionConfig(cfg *RocketPoolConfig) *ExternalExecutionConfig
Generates a new ExternalExecutionConfig configuration
func (*ExternalExecutionConfig) GetConfigTitle ¶
func (cfg *ExternalExecutionConfig) GetConfigTitle() string
The the title for the config
func (*ExternalExecutionConfig) GetParameters ¶
func (cfg *ExternalExecutionConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type ExternalLighthouseConfig ¶
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 ¶
func NewExternalLighthouseConfig(cfg *RocketPoolConfig) *ExternalLighthouseConfig
Generates a new ExternalLighthouseClient configuration
func (*ExternalLighthouseConfig) GetApiUrl ¶
func (cfg *ExternalLighthouseConfig) GetApiUrl() string
Get the API url from the config
func (*ExternalLighthouseConfig) GetConfigTitle ¶
func (cfg *ExternalLighthouseConfig) GetConfigTitle() string
The the title for the config
func (*ExternalLighthouseConfig) GetName ¶
func (cfg *ExternalLighthouseConfig) GetName() string
Get the name of the client
func (*ExternalLighthouseConfig) GetParameters ¶
func (cfg *ExternalLighthouseConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*ExternalLighthouseConfig) GetValidatorImage ¶
func (cfg *ExternalLighthouseConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type ExternalLodestarConfig ¶
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 ¶
func NewExternalLodestarConfig(cfg *RocketPoolConfig) *ExternalLodestarConfig
Generates a new ExternalLodestarClient configuration
func (*ExternalLodestarConfig) GetApiUrl ¶
func (cfg *ExternalLodestarConfig) GetApiUrl() string
Get the API url from the config
func (*ExternalLodestarConfig) GetConfigTitle ¶
func (cfg *ExternalLodestarConfig) GetConfigTitle() string
The the title for the config
func (*ExternalLodestarConfig) GetName ¶
func (cfg *ExternalLodestarConfig) GetName() string
Get the name of the client
func (*ExternalLodestarConfig) GetParameters ¶
func (cfg *ExternalLodestarConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*ExternalLodestarConfig) GetValidatorImage ¶
func (cfg *ExternalLodestarConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type ExternalNimbusConfig ¶
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 ¶
func NewExternalNimbusConfig(cfg *RocketPoolConfig) *ExternalNimbusConfig
Generates a new ExternalNimbusConfig configuration
func (*ExternalNimbusConfig) GetApiUrl ¶
func (cfg *ExternalNimbusConfig) GetApiUrl() string
Get the API url from the config
func (*ExternalNimbusConfig) GetConfigTitle ¶
func (cfg *ExternalNimbusConfig) GetConfigTitle() string
The the title for the config
func (*ExternalNimbusConfig) GetName ¶
func (cfg *ExternalNimbusConfig) GetName() string
Get the name of the client
func (*ExternalNimbusConfig) GetParameters ¶
func (cfg *ExternalNimbusConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*ExternalNimbusConfig) GetValidatorImage ¶
func (cfg *ExternalNimbusConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type ExternalPrysmConfig ¶
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 ¶
func NewExternalPrysmConfig(cfg *RocketPoolConfig) *ExternalPrysmConfig
Generates a new ExternalPrysmConfig configuration
func (*ExternalPrysmConfig) GetApiUrl ¶
func (cfg *ExternalPrysmConfig) GetApiUrl() string
Get the API url from the config
func (*ExternalPrysmConfig) GetConfigTitle ¶
func (cfg *ExternalPrysmConfig) GetConfigTitle() string
The the title for the config
func (*ExternalPrysmConfig) GetName ¶
func (cfg *ExternalPrysmConfig) GetName() string
Get the name of the client
func (*ExternalPrysmConfig) GetParameters ¶
func (cfg *ExternalPrysmConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*ExternalPrysmConfig) GetValidatorImage ¶
func (cfg *ExternalPrysmConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type ExternalTekuConfig ¶
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"` }
Configuration for an external Teku client
func NewExternalTekuConfig ¶
func NewExternalTekuConfig(cfg *RocketPoolConfig) *ExternalTekuConfig
Generates a new ExternalTekuClient configuration
func (*ExternalTekuConfig) GetApiUrl ¶
func (cfg *ExternalTekuConfig) GetApiUrl() string
Get the API url from the config
func (*ExternalTekuConfig) GetConfigTitle ¶
func (cfg *ExternalTekuConfig) GetConfigTitle() string
The the title for the config
func (*ExternalTekuConfig) GetName ¶
func (cfg *ExternalTekuConfig) GetName() string
Get the name of the client
func (*ExternalTekuConfig) GetParameters ¶
func (cfg *ExternalTekuConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*ExternalTekuConfig) GetValidatorImage ¶
func (cfg *ExternalTekuConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type FallbackNormalConfig ¶
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 ¶
func NewFallbackNormalConfig(cfg *RocketPoolConfig) *FallbackNormalConfig
Generates a new FallbackNormalConfig configuration
func (*FallbackNormalConfig) GetConfigTitle ¶
func (config *FallbackNormalConfig) GetConfigTitle() string
The the title for the config
func (*FallbackNormalConfig) GetParameters ¶
func (cfg *FallbackNormalConfig) GetParameters() []*config.Parameter
Get the config.Parameters for this config
type FallbackPrysmConfig ¶
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 ¶
func NewFallbackPrysmConfig(cfg *RocketPoolConfig) *FallbackPrysmConfig
Generates a new FallbackPrysmConfig configuration
func (*FallbackPrysmConfig) GetConfigTitle ¶
func (config *FallbackPrysmConfig) GetConfigTitle() string
The the title for the config
func (*FallbackPrysmConfig) GetParameters ¶
func (cfg *FallbackPrysmConfig) GetParameters() []*config.Parameter
Get the config.Parameters for this config
type GethConfig ¶
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:"-"` // Size of Geth's Cache CacheSize config.Parameter `yaml:"cacheSize,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 ¶
func NewGethConfig(cfg *RocketPoolConfig) *GethConfig
Generates a new Geth configuration
func (*GethConfig) GetConfigTitle ¶
func (cfg *GethConfig) GetConfigTitle() string
The the title for the config
func (*GethConfig) GetParameters ¶
func (cfg *GethConfig) GetParameters() []*config.Parameter
Get the config.Parameters for this config
type GrafanaConfig ¶
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 ¶
func NewGrafanaConfig(cfg *RocketPoolConfig) *GrafanaConfig
Generates a new Grafana config
func (*GrafanaConfig) GetConfigTitle ¶
func (cfg *GrafanaConfig) GetConfigTitle() string
The the title for the config
func (*GrafanaConfig) GetParameters ¶
func (cfg *GrafanaConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type LegacyRocketPoolConfig ¶
type LegacyRocketPoolConfig struct { Rocketpool struct { StorageAddress string `yaml:"storageAddress,omitempty"` OneInchOracleAddress string `yaml:"oneInchOracleAddress,omitempty"` RplTokenAddress string `yaml:"rplTokenAddress,omitempty"` RPLFaucetAddress string `yaml:"rplFaucetAddress,omitempty"` } `yaml:"rocketpool,omitempty"` Smartnode struct { ProjectName string `yaml:"projectName,omitempty"` GraffitiVersion string `yaml:"graffitiVersion,omitempty"` Image string `yaml:"image,omitempty"` PasswordPath string `yaml:"passwordPath,omitempty"` WalletPath string `yaml:"walletPath,omitempty"` ValidatorKeychainPath string `yaml:"validatorKeychainPath,omitempty"` ValidatorRestartCommand string `yaml:"validatorRestartCommand,omitempty"` MaxFee float64 `yaml:"maxFee,omitempty"` MaxPriorityFee float64 `yaml:"maxPriorityFee,omitempty"` GasLimit uint64 `yaml:"gasLimit,omitempty"` RplClaimGasThreshold float64 `yaml:"rplClaimGasThreshold,omitempty"` MinipoolStakeGasThreshold float64 `yaml:"minipoolStakeGasThreshold,omitempty"` TxWatchUrl string `yaml:"txWatchUrl,omitempty"` StakeUrl string `yaml:"stakeUrl,omitempty"` } `yaml:"smartnode,omitempty"` Chains struct { Eth1 Chain `yaml:"eth1,omitempty"` Eth1Fallback Chain `yaml:"eth1Fallback,omitempty"` Eth2 Chain `yaml:"eth2,omitempty"` } `yaml:"chains,omitempty"` Metrics Metrics `yaml:"metrics,omitempty"` }
poolsea Pool config
func Merge ¶
func Merge(configs ...*LegacyRocketPoolConfig) (LegacyRocketPoolConfig, error)
Merge configs
func Parse ¶
func Parse(bytes []byte) (LegacyRocketPoolConfig, error)
Parse a config from yaml bytes
func (*LegacyRocketPoolConfig) GetGasLimit ¶
func (config *LegacyRocketPoolConfig) GetGasLimit() (uint64, error)
Parse and return the gas limit
func (*LegacyRocketPoolConfig) GetMaxFee ¶
func (config *LegacyRocketPoolConfig) GetMaxFee() (*big.Int, error)
Parse and return the max fee in wei
func (*LegacyRocketPoolConfig) GetMaxPriorityFee ¶
func (config *LegacyRocketPoolConfig) GetMaxPriorityFee() (*big.Int, error)
Parse and return the max priority fee in wei
func (*LegacyRocketPoolConfig) GetSelectedEth1Client ¶
func (config *LegacyRocketPoolConfig) GetSelectedEth1Client() *ClientOption
Get the selected clients from a config
func (*LegacyRocketPoolConfig) GetSelectedEth1FallbackClient ¶
func (config *LegacyRocketPoolConfig) GetSelectedEth1FallbackClient() *ClientOption
func (*LegacyRocketPoolConfig) GetSelectedEth2Client ¶
func (config *LegacyRocketPoolConfig) GetSelectedEth2Client() *ClientOption
func (*LegacyRocketPoolConfig) Serialize ¶
func (config *LegacyRocketPoolConfig) Serialize() ([]byte, error)
Serialize a config to yaml bytes
type LighthouseConfig ¶
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"` }
Configuration for Lighthouse
func NewLighthouseConfig ¶
func NewLighthouseConfig(cfg *RocketPoolConfig) *LighthouseConfig
Generates a new Lighthouse configuration
func (*LighthouseConfig) GetConfigTitle ¶
func (cfg *LighthouseConfig) GetConfigTitle() string
The the title for the config
func (*LighthouseConfig) GetName ¶
func (cfg *LighthouseConfig) GetName() string
Get the name of the client
func (*LighthouseConfig) GetParameters ¶
func (cfg *LighthouseConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*LighthouseConfig) GetUnsupportedCommonParams ¶
func (cfg *LighthouseConfig) GetUnsupportedCommonParams() []string
Get the common params that this client doesn't support
func (*LighthouseConfig) GetValidatorImage ¶
func (cfg *LighthouseConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type LodestarConfig ¶
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 ¶
func NewLodestarConfig(cfg *RocketPoolConfig) *LodestarConfig
Generates a new Lodestar configuration
func (*LodestarConfig) GetConfigTitle ¶
func (cfg *LodestarConfig) GetConfigTitle() string
The the title for the config
func (*LodestarConfig) GetName ¶
func (cfg *LodestarConfig) GetName() string
Get the name of the client
func (*LodestarConfig) GetParameters ¶
func (cfg *LodestarConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*LodestarConfig) GetUnsupportedCommonParams ¶
func (cfg *LodestarConfig) GetUnsupportedCommonParams() []string
Get the common params that this client doesn't support
func (*LodestarConfig) GetValidatorImage ¶
func (cfg *LodestarConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type Metrics ¶
type Metrics struct { Enabled bool `yaml:"enabled,omitempty"` Params []ClientParam `yaml:"params,omitempty"` Settings []UserParam `yaml:"settings,omitempty"` }
func (*Metrics) GetParamByEnvName ¶
func (metrics *Metrics) GetParamByEnvName(env string) *ClientParam
Get a metrics parameter by its environment variable name
type MevBoostConfig ¶
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"` // Regulated, no sandwiching EnableRegulatedNoSandwich config.Parameter `yaml:"enableRegulatedNoSandwich,omitempty"` // Unregulated, all types EnableUnregulatedAllMev config.Parameter `yaml:"enableUnregulatedAllMev,omitempty"` // Unregulated, no sandwiching EnableUnregulatedNoSandwich config.Parameter `yaml:"enableUnregulatedNoSandwich,omitempty"` // Flashbots relay FlashbotsRelay config.Parameter `yaml:"flashbotsEnabled,omitempty"` // bloXroute ethical relay BloxRouteEthicalRelay config.Parameter `yaml:"bloxRouteEthicalEnabled,omitempty"` // bloXroute max profit relay BloxRouteMaxProfitRelay config.Parameter `yaml:"bloxRouteMaxProfitEnabled,omitempty"` // bloXroute regulated relay BloxRouteRegulatedRelay config.Parameter `yaml:"bloxRouteRegulatedEnabled,omitempty"` // Blocknative relay BlocknativeRelay config.Parameter `yaml:"blocknativeEnabled,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 ¶
func NewMevBoostConfig(cfg *RocketPoolConfig) *MevBoostConfig
Generates a new MEV-Boost configuration
func (*MevBoostConfig) GetAvailableProfiles ¶
func (cfg *MevBoostConfig) GetAvailableProfiles() (bool, bool, bool, bool)
Get the profiles that are available for the current network
func (*MevBoostConfig) GetAvailableRelays ¶
func (cfg *MevBoostConfig) GetAvailableRelays() []config.MevRelay
Get the relays that are available for the current network
func (*MevBoostConfig) GetConfigTitle ¶
func (cfg *MevBoostConfig) GetConfigTitle() string
The title for the config
func (*MevBoostConfig) GetEnabledMevRelays ¶
func (cfg *MevBoostConfig) GetEnabledMevRelays() []config.MevRelay
Get which MEV-boost relays are enabled
func (*MevBoostConfig) GetParameters ¶
func (cfg *MevBoostConfig) GetParameters() []*config.Parameter
Get the config.Parameters for this config
func (*MevBoostConfig) GetRelayString ¶
func (cfg *MevBoostConfig) GetRelayString() string
type NativeConfig ¶
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 ¶
func NewNativeConfig(cfg *RocketPoolConfig) *NativeConfig
Generates a new Smartnode configuration
func (*NativeConfig) GetConfigTitle ¶
func (cfg *NativeConfig) GetConfigTitle() string
The the title for the config
func (*NativeConfig) GetParameters ¶
func (cfg *NativeConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type NethermindConfig ¶
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 pruning PruneMemSize config.Parameter `yaml:"pruneMemSize,omitempty"` // Flag for downloading complete chain history instead of starting from Beacon deployment DownloadCompleteHistory config.Parameter `yaml:"downloadCompleteHistory,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 ¶
func NewNethermindConfig(cfg *RocketPoolConfig) *NethermindConfig
Generates a new Nethermind configuration
func (*NethermindConfig) GetConfigTitle ¶
func (cfg *NethermindConfig) GetConfigTitle() string
The the title for the config
func (*NethermindConfig) GetParameters ¶
func (cfg *NethermindConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type NimbusConfig ¶
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 ¶
func NewNimbusConfig(cfg *RocketPoolConfig) *NimbusConfig
Generates a new Nimbus configuration
func (*NimbusConfig) GetConfigTitle ¶
func (cfg *NimbusConfig) GetConfigTitle() string
The the title for the config
func (*NimbusConfig) GetParameters ¶
func (cfg *NimbusConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*NimbusConfig) GetUnsupportedCommonParams ¶
func (cfg *NimbusConfig) GetUnsupportedCommonParams() []string
Get the common params that this client doesn't support
func (*NimbusConfig) GetValidatorImage ¶
func (cfg *NimbusConfig) GetValidatorImage() string
Get the Docker container name of the validator client
type PrometheusConfig ¶
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 ¶
func NewPrometheusConfig(cfg *RocketPoolConfig) *PrometheusConfig
Generates a new Prometheus config
func (*PrometheusConfig) GetConfigTitle ¶
func (cfg *PrometheusConfig) GetConfigTitle() string
The the title for the config
func (*PrometheusConfig) GetParameters ¶
func (cfg *PrometheusConfig) GetParameters() []*config.Parameter
Get the parameters for this config
type PrysmConfig ¶
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 ¶
func NewPrysmConfig(cfg *RocketPoolConfig) *PrysmConfig
Generates a new Prysm configuration
func (*PrysmConfig) GetConfigTitle ¶
func (cfg *PrysmConfig) GetConfigTitle() string
The the title for the config
func (*PrysmConfig) GetParameters ¶
func (cfg *PrysmConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*PrysmConfig) GetUnsupportedCommonParams ¶
func (cfg *PrysmConfig) GetUnsupportedCommonParams() []string
Get the common params that this client doesn't support
func (*PrysmConfig) GetValidatorImage ¶
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"` }
The master configuration struct
func LoadFromFile ¶
func LoadFromFile(path string) (*RocketPoolConfig, error)
Load configuration settings from a file
func NewRocketPoolConfig ¶
func NewRocketPoolConfig(rpDir string, isNativeMode bool) *RocketPoolConfig
Creates a new poolsea Pool configuration instance
func (*RocketPoolConfig) ChangeNetwork ¶
func (cfg *RocketPoolConfig) ChangeNetwork(newNetwork config.Network)
Handle a network change on all of the parameters
func (*RocketPoolConfig) CreateCopy ¶
func (cfg *RocketPoolConfig) CreateCopy() *RocketPoolConfig
Create a copy of this configuration.
func (*RocketPoolConfig) Deserialize ¶
func (cfg *RocketPoolConfig) Deserialize(masterMap map[string]map[string]string) error
Deserializes a settings file into this config
func (*RocketPoolConfig) GenerateEnvironmentVariables ¶
func (cfg *RocketPoolConfig) GenerateEnvironmentVariables() map[string]string
Generates a collection of environment variables based on this config's settings
func (*RocketPoolConfig) GetChanges ¶
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 ¶
func (cfg *RocketPoolConfig) GetConfigTitle() string
The the title for the config
func (*RocketPoolConfig) GetEventLogInterval ¶
func (cfg *RocketPoolConfig) GetEventLogInterval() (int, error)
Get the configuration for the selected execution client
func (*RocketPoolConfig) GetParameters ¶
func (cfg *RocketPoolConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*RocketPoolConfig) GetSelectedConsensusClient ¶
func (cfg *RocketPoolConfig) GetSelectedConsensusClient() (config.ConsensusClient, config.Mode)
Get the selected CC and mode
func (*RocketPoolConfig) GetSelectedConsensusClientConfig ¶
func (cfg *RocketPoolConfig) GetSelectedConsensusClientConfig() (config.ConsensusConfig, error)
Get the configuration for the selected consensus client
func (*RocketPoolConfig) GetSubconfigs ¶
func (cfg *RocketPoolConfig) GetSubconfigs() map[string]config.Config
Get the subconfigurations for this config
func (*RocketPoolConfig) IsDoppelgangerEnabled ¶
func (cfg *RocketPoolConfig) IsDoppelgangerEnabled() (bool, error)
Check if doppelganger protection is enabled
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 ¶
func (cfg *RocketPoolConfig) UpdateDefaults() error
Update the default settings for all overwrite-on-upgrade parameters
func (*RocketPoolConfig) Validate ¶
func (cfg *RocketPoolConfig) Validate() []string
Checks to see if the current configuration is valid; if not, returns a list of errors
type SmartnodeConfig ¶
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"` // URL for an EC with archive mode, for manual rewards tree generation ArchiveECUrl config.Parameter `yaml:"archiveEcUrl,omitempty"` // Token for Oracle DAO members to use when uploading Merkle trees to Web3.Storage Web3StorageApiToken config.Parameter `yaml:"web3StorageApiToken,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 epoch to switch over to TWAP for RPL price reporting RplTwapEpoch config.Parameter `yaml:"rplTwapEpoch,omitempty"` // The epoch to start using the new network balance calculation implementation BalancesModernizationEpoch config.Parameter `yaml:"balancesModernizationEpoch,omitempty"` // The epoch to start using the new fee distributor share calculation NewFeeDistributorCalcEpoch config.Parameter `yaml:"newFeeDistributorCalcEpoch,omitempty"` // contains filtered or unexported fields }
Configuration for the Smartnode
func NewSmartnodeConfig ¶
func NewSmartnodeConfig(cfg *RocketPoolConfig) *SmartnodeConfig
Generates a new Smartnode configuration
func (*SmartnodeConfig) GetArbitrumMessengerAddress ¶
func (cfg *SmartnodeConfig) GetArbitrumMessengerAddress() string
func (*SmartnodeConfig) GetBalanceBatcherAddress ¶
func (cfg *SmartnodeConfig) GetBalanceBatcherAddress() string
func (*SmartnodeConfig) GetChainID ¶
func (cfg *SmartnodeConfig) GetChainID() uint
func (*SmartnodeConfig) GetConfigTitle ¶
func (cfg *SmartnodeConfig) GetConfigTitle() string
The the title for the config
func (*SmartnodeConfig) GetCustomKeyPasswordFilePath ¶
func (cfg *SmartnodeConfig) GetCustomKeyPasswordFilePath() string
func (*SmartnodeConfig) GetCustomKeyPath ¶
func (cfg *SmartnodeConfig) GetCustomKeyPath() string
func (*SmartnodeConfig) GetEcMigratorContainerTag ¶
func (cfg *SmartnodeConfig) GetEcMigratorContainerTag() string
func (*SmartnodeConfig) GetFeeRecipientFilePath ¶
func (cfg *SmartnodeConfig) GetFeeRecipientFilePath() string
func (*SmartnodeConfig) GetFlashbotsProtectUrl ¶
func (cfg *SmartnodeConfig) GetFlashbotsProtectUrl() string
func (*SmartnodeConfig) GetMinipoolPerformancePath ¶
func (cfg *SmartnodeConfig) GetMinipoolPerformancePath(interval uint64, daemon bool) string
func (*SmartnodeConfig) GetMulticallAddress ¶
func (cfg *SmartnodeConfig) GetMulticallAddress() string
func (*SmartnodeConfig) GetOneInchOracleAddress ¶
func (cfg *SmartnodeConfig) GetOneInchOracleAddress() string
func (*SmartnodeConfig) GetOptimismMessengerAddress ¶
func (cfg *SmartnodeConfig) GetOptimismMessengerAddress() string
func (*SmartnodeConfig) GetParameters ¶
func (cfg *SmartnodeConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*SmartnodeConfig) GetPasswordPath ¶
func (cfg *SmartnodeConfig) GetPasswordPath() string
func (*SmartnodeConfig) GetPasswordPathInCLI ¶
func (cfg *SmartnodeConfig) GetPasswordPathInCLI() string
func (*SmartnodeConfig) GetPolygonMessengerAddress ¶
func (cfg *SmartnodeConfig) GetPolygonMessengerAddress() string
func (*SmartnodeConfig) GetPreviousRewardsPoolAddresses ¶
func (cfg *SmartnodeConfig) GetPreviousRewardsPoolAddresses() map[string][]common.Address
func (*SmartnodeConfig) GetPruneProvisionerContainerTag ¶
func (config *SmartnodeConfig) GetPruneProvisionerContainerTag() string
func (*SmartnodeConfig) GetRegenerateRewardsTreeRequestPath ¶
func (cfg *SmartnodeConfig) GetRegenerateRewardsTreeRequestPath(interval uint64, daemon bool) string
func (*SmartnodeConfig) GetRethAddress ¶
func (cfg *SmartnodeConfig) GetRethAddress() common.Address
func (*SmartnodeConfig) GetRewardsSubmissionBlockMaps ¶
func (cfg *SmartnodeConfig) GetRewardsSubmissionBlockMaps() []uint64
func (*SmartnodeConfig) GetRewardsTreePath ¶
func (cfg *SmartnodeConfig) GetRewardsTreePath(interval uint64, daemon bool) string
func (*SmartnodeConfig) GetRplFaucetAddress ¶
func (cfg *SmartnodeConfig) GetRplFaucetAddress() string
func (*SmartnodeConfig) GetRplTokenAddress ¶
func (cfg *SmartnodeConfig) GetRplTokenAddress() string
func (*SmartnodeConfig) GetRplTwapPoolAddress ¶
func (cfg *SmartnodeConfig) GetRplTwapPoolAddress() string
func (*SmartnodeConfig) GetSmartnodeContainerTag ¶
func (cfg *SmartnodeConfig) GetSmartnodeContainerTag() string
func (*SmartnodeConfig) GetSnapshotApiDomain ¶
func (cfg *SmartnodeConfig) GetSnapshotApiDomain() string
func (*SmartnodeConfig) GetSnapshotDelegationAddress ¶
func (cfg *SmartnodeConfig) GetSnapshotDelegationAddress() string
func (*SmartnodeConfig) GetSnapshotID ¶
func (config *SmartnodeConfig) GetSnapshotID() string
func (*SmartnodeConfig) GetStakeUrl ¶
func (cfg *SmartnodeConfig) GetStakeUrl() string
func (*SmartnodeConfig) GetStorageAddress ¶
func (cfg *SmartnodeConfig) GetStorageAddress() string
func (*SmartnodeConfig) GetTxWatchUrl ¶
func (cfg *SmartnodeConfig) GetTxWatchUrl() string
func (*SmartnodeConfig) GetV100ClaimNodeAddress ¶
func (cfg *SmartnodeConfig) GetV100ClaimNodeAddress() common.Address
func (*SmartnodeConfig) GetV100ClaimTrustedNodeAddress ¶
func (cfg *SmartnodeConfig) GetV100ClaimTrustedNodeAddress() common.Address
func (*SmartnodeConfig) GetV100MinipoolManagerAddress ¶
func (cfg *SmartnodeConfig) GetV100MinipoolManagerAddress() common.Address
func (*SmartnodeConfig) GetV100RewardsPoolAddress ¶
func (cfg *SmartnodeConfig) GetV100RewardsPoolAddress() common.Address
func (*SmartnodeConfig) GetV110MinipoolFactoryAddress ¶
func (cfg *SmartnodeConfig) GetV110MinipoolFactoryAddress() common.Address
func (*SmartnodeConfig) GetV110MinipoolQueueAddress ¶
func (cfg *SmartnodeConfig) GetV110MinipoolQueueAddress() common.Address
func (*SmartnodeConfig) GetV110NetworkPricesAddress ¶
func (cfg *SmartnodeConfig) GetV110NetworkPricesAddress() common.Address
func (*SmartnodeConfig) GetV110NodeDepositAddress ¶
func (cfg *SmartnodeConfig) GetV110NodeDepositAddress() common.Address
func (*SmartnodeConfig) GetV110NodeStakingAddress ¶
func (cfg *SmartnodeConfig) GetV110NodeStakingAddress() common.Address
func (*SmartnodeConfig) GetValidatorKeychainPath ¶
func (cfg *SmartnodeConfig) GetValidatorKeychainPath() string
func (*SmartnodeConfig) GetValidatorKeychainPathInCLI ¶
func (cfg *SmartnodeConfig) GetValidatorKeychainPathInCLI() string
func (*SmartnodeConfig) GetVotingSnapshotID ¶
func (cfg *SmartnodeConfig) GetVotingSnapshotID() [32]byte
func (*SmartnodeConfig) GetWalletPath ¶
func (cfg *SmartnodeConfig) GetWalletPath() string
func (*SmartnodeConfig) GetWalletPathInCLI ¶
func (cfg *SmartnodeConfig) GetWalletPathInCLI() string
func (*SmartnodeConfig) GetWatchtowerFolder ¶
func (cfg *SmartnodeConfig) GetWatchtowerFolder(daemon bool) string
func (*SmartnodeConfig) GetWatchtowerStatePath ¶
func (config *SmartnodeConfig) GetWatchtowerStatePath() string
func (*SmartnodeConfig) GetZkSyncEraMessengerAddress ¶
func (cfg *SmartnodeConfig) GetZkSyncEraMessengerAddress() string
type TekuConfig ¶
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 ¶
func NewTekuConfig(cfg *RocketPoolConfig) *TekuConfig
Generates a new Teku configuration
func (*TekuConfig) GetConfigTitle ¶
func (cfg *TekuConfig) GetConfigTitle() string
The the title for the config
func (*TekuConfig) GetParameters ¶
func (cfg *TekuConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*TekuConfig) GetUnsupportedCommonParams ¶
func (cfg *TekuConfig) GetUnsupportedCommonParams() []string
Get the common params that this client doesn't support
func (*TekuConfig) GetValidatorImage ¶
func (cfg *TekuConfig) GetValidatorImage() string
Get the Docker container name of the validator client
Source Files ¶
- besu-params.go
- bitfly-beaconchain-config.go
- config-legacy.go
- consensus-common-config.go
- execution-common-config.go
- exporter-config.go
- external-configs.go
- fallback-configs.go
- geth-params.go
- grafana-config.go
- lighthouse-config.go
- lodestar-config.go
- mev-boost-config.go
- native-config.go
- nethermind-params.go
- nimbus-config.go
- prometheus-config.go
- prysm-config.go
- rocket-pool-config.go
- smartnode-config.go
- teku-config.go