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