Documentation ¶
Overview ¶
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.2.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
This work is licensed and released under GNU GPL v3 or any other later versions. The full text of the license is below/ found at <http://www.gnu.org/licenses/>
(c) 2023 Rocket Pool Pty Ltd. Modified under GNU GPL v3. [1.5.0]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
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 ExternalExporterConfig
- type ExternalGrafanaConfig
- 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 LegacyStaderConfig
- func (config *LegacyStaderConfig) GetGasLimit() (uint64, error)
- func (config *LegacyStaderConfig) GetMaxFee() (*big.Int, error)
- func (config *LegacyStaderConfig) GetMaxPriorityFee() (*big.Int, error)
- func (config *LegacyStaderConfig) GetSelectedEth1Client() *ClientOption
- func (config *LegacyStaderConfig) GetSelectedEth1FallbackClient() *ClientOption
- func (config *LegacyStaderConfig) GetSelectedEth2Client() *ClientOption
- func (config *LegacyStaderConfig) 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 StaderConfig
- func (cfg *StaderConfig) ChangeNetwork(newNetwork config.Network)
- func (cfg *StaderConfig) CreateCopy() *StaderConfig
- func (cfg *StaderConfig) Deserialize(masterMap map[string]map[string]string) error
- func (cfg *StaderConfig) GenerateEnvironmentVariables() map[string]string
- func (cfg *StaderConfig) GetChanges(oldConfig *StaderConfig) (map[string][]config.ChangedSetting, map[config.ContainerID]bool, bool)
- func (cfg *StaderConfig) GetConfigTitle() string
- func (cfg *StaderConfig) GetEventLogInterval() (int, error)
- func (cfg *StaderConfig) GetParameters() []*config.Parameter
- func (cfg *StaderConfig) GetSelectedConsensusClient() (config.ConsensusClient, config.Mode)
- func (cfg *StaderConfig) GetSelectedConsensusClientConfig() (config.ConsensusConfig, error)
- func (cfg *StaderConfig) GetSubconfigs() map[string]config.Config
- func (cfg *StaderConfig) IsDoppelgangerEnabled() (bool, error)
- func (cfg *StaderConfig) Serialize() map[string]map[string]string
- func (cfg *StaderConfig) UpdateDefaults() error
- func (cfg *StaderConfig) Validate() []string
- type StaderNodeConfig
- func (cfg *StaderNodeConfig) GetBeaconChainUrl() string
- func (cfg *StaderNodeConfig) GetBulkPresignCheckApi() string
- func (cfg *StaderNodeConfig) GetBulkPresignSendApi() string
- func (cfg *StaderNodeConfig) GetChainID() uint
- func (cfg *StaderNodeConfig) GetClaimData(cycles []*big.Int) ([]*big.Int, []*big.Int, [][][32]byte, error)
- func (cfg *StaderNodeConfig) GetConfigTitle() string
- func (cfg *StaderNodeConfig) GetCustomKeyPasswordFilePath() string
- func (cfg *StaderNodeConfig) GetCustomKeyPath() string
- func (cfg *StaderNodeConfig) GetEcMigratorContainerTag() string
- func (cfg *StaderNodeConfig) GetEthxTokenAddress() common.Address
- func (cfg *StaderNodeConfig) GetFeeRecipientFilePath() string
- func (cfg *StaderNodeConfig) GetGuardianFolder(daemon bool) string
- func (config *StaderNodeConfig) GetGuardianStatePath() string
- func (cfg *StaderNodeConfig) GetMerkleProofApi() string
- func (cfg *StaderNodeConfig) GetNodeDiversityApi() string
- func (cfg *StaderNodeConfig) GetParameters() []*config.Parameter
- func (cfg *StaderNodeConfig) GetPasswordPath() string
- func (cfg *StaderNodeConfig) GetPasswordPathInCLI() string
- func (cfg *StaderNodeConfig) GetPresignCheckApi() string
- func (cfg *StaderNodeConfig) GetPresignEncryptionKey() string
- func (cfg *StaderNodeConfig) GetPresignPublicKeyApi() string
- func (cfg *StaderNodeConfig) GetPresignSendApi() string
- func (config *StaderNodeConfig) GetPruneProvisionerContainerTag() string
- func (cfg *StaderNodeConfig) GetSpRewardCyclePath(cycle int64, daemon bool) string
- func (cfg *StaderNodeConfig) GetSpRewardsMerkleProofFolder(daemon bool) string
- func (cfg *StaderNodeConfig) GetStaderConfigAddress() common.Address
- func (cfg *StaderNodeConfig) GetStadernodeContainerTag() string
- func (cfg *StaderNodeConfig) GetStakeUrl() string
- func (cfg *StaderNodeConfig) GetTxWatchUrl() string
- func (cfg *StaderNodeConfig) GetValidatorKeychainPath() string
- func (cfg *StaderNodeConfig) GetValidatorKeychainPathInCLI() string
- func (cfg *StaderNodeConfig) GetWalletPath() string
- func (cfg *StaderNodeConfig) GetWalletPathInCLI() string
- func (cfg *StaderNodeConfig) ReadCycleCache(cycle int64) (stader_backend.CycleMerkleProofs, bool, error)
- 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" GuardianContainerName string = "guardian" FeeRecipientFileEnvVar string = "FEE_RECIPIENT_FILE" FeeRecipientEnvVar string = "FEE_RECIPIENT" )
Constants
const ( NetworkID string = "network" ProjectNameID string = "projectName" DaemonDataPath string = "/.stader/data" GuardianFolder string = "guardian" SpRewardsMerkleProofsFolder string = "sp-rewards-merkle-proofs" MerkleProofsFormat string = "cycle-%s-%d.json" FeeRecipientFilename string = "stader-fee-recipient.txt" NativeFeeRecipientFilename string = "stader-fee-recipient-env.txt" )
Constants
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 *StaderConfig) *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 *StaderConfig) *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 *StaderConfig) *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 *StaderConfig) *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 *StaderConfig) *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 *StaderConfig) *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 ExternalExporterConfig ¶
type ExternalGrafanaConfig ¶
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 *StaderConfig) *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 ¶ added in v1.3.0
type ExternalLodestarConfig struct { Title string `yaml:"-"` // The URL of the HTTP endpoint HttpUrl config.Parameter `yaml:"httpUrl,omitempty"` // Custom proposal graffiti Graffiti config.Parameter `yaml:"graffiti,omitempty"` // Toggle for enabling doppelganger detection DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"` // The Docker Hub tag for Lighthouse ContainerTag config.Parameter `yaml:"containerTag,omitempty"` // Custom command line flags for the VC AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"` }
func NewExternalLodestarConfig ¶ added in v1.3.0
func NewExternalLodestarConfig(cfg *StaderConfig) *ExternalLodestarConfig
Generates a new ExternalLodestarClient configuration
func (*ExternalLodestarConfig) GetApiUrl ¶ added in v1.3.0
func (cfg *ExternalLodestarConfig) GetApiUrl() string
func (*ExternalLodestarConfig) GetConfigTitle ¶ added in v1.3.0
func (cfg *ExternalLodestarConfig) GetConfigTitle() string
The the title for the config
func (*ExternalLodestarConfig) GetName ¶ added in v1.3.0
func (cfg *ExternalLodestarConfig) GetName() string
Get the name of the client
func (*ExternalLodestarConfig) GetParameters ¶ added in v1.3.0
func (cfg *ExternalLodestarConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*ExternalLodestarConfig) GetValidatorImage ¶ added in v1.3.0
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 *StaderConfig) *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 *StaderConfig) *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"` // Toggle for enabling doppelganger detection DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"` }
Configuration for an external Teku client
func NewExternalTekuConfig ¶
func NewExternalTekuConfig(cfg *StaderConfig) *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 *StaderConfig) *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 *StaderConfig) *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"` // Flag for using Pebble as the DB UsePebble config.Parameter `yaml:"usePebble,omitempty"` // The Docker Hub tag for Geth ContainerTag config.Parameter `yaml:"containerTag,omitempty"` // The flag for enabling PBSS EnablePbss config.Parameter `yaml:"enablePbss,omitempty"` // Custom command line flags AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"` }
Configuration for Geth
func NewGethConfig ¶
func NewGethConfig(cfg *StaderConfig) *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 *StaderConfig) *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 LegacyStaderConfig ¶
type LegacyStaderConfig struct { StaderNode 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"` TxWatchUrl string `yaml:"txWatchUrl,omitempty"` StakeUrl string `yaml:"stakeUrl,omitempty"` } `yaml:"staderNode,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"` }
Stader config
func (*LegacyStaderConfig) GetGasLimit ¶
func (config *LegacyStaderConfig) GetGasLimit() (uint64, error)
Parse and return the gas limit
func (*LegacyStaderConfig) GetMaxFee ¶
func (config *LegacyStaderConfig) GetMaxFee() (*big.Int, error)
Parse and return the max fee in wei
func (*LegacyStaderConfig) GetMaxPriorityFee ¶
func (config *LegacyStaderConfig) GetMaxPriorityFee() (*big.Int, error)
Parse and return the max priority fee in wei
func (*LegacyStaderConfig) GetSelectedEth1Client ¶
func (config *LegacyStaderConfig) GetSelectedEth1Client() *ClientOption
Get the selected clients from a config
func (*LegacyStaderConfig) GetSelectedEth1FallbackClient ¶
func (config *LegacyStaderConfig) GetSelectedEth1FallbackClient() *ClientOption
func (*LegacyStaderConfig) GetSelectedEth2Client ¶
func (config *LegacyStaderConfig) GetSelectedEth2Client() *ClientOption
func (*LegacyStaderConfig) Serialize ¶
func (config *LegacyStaderConfig) 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 *StaderConfig) *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 ¶ added in v1.3.0
type LodestarConfig struct { Title string `yaml:"-"` // The max number of P2P peers to connect to MaxPeers config.Parameter `yaml:"maxPeers,omitempty"` // Common parameters that Lighthouse doesn't support and should be hidden UnsupportedCommonParams []string `yaml:"-"` // The Docker Hub tag for Lighthouse ContainerTag config.Parameter `yaml:"containerTag,omitempty"` // Custom command line flags for the BN AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"` // Custom command line flags for the VC AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"` }
Configuration for Lodestar
func NewLodestarConfig ¶ added in v1.3.0
func NewLodestarConfig(cfg *StaderConfig) *LodestarConfig
Generates a new Lodestar configuration
func (*LodestarConfig) GetConfigTitle ¶ added in v1.3.0
func (cfg *LodestarConfig) GetConfigTitle() string
The the title for the config
func (*LodestarConfig) GetName ¶ added in v1.3.0
func (cfg *LodestarConfig) GetName() string
Get the name of the client
func (*LodestarConfig) GetParameters ¶ added in v1.3.0
func (cfg *LodestarConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*LodestarConfig) GetUnsupportedCommonParams ¶ added in v1.3.0
func (cfg *LodestarConfig) GetUnsupportedCommonParams() []string
Get the common params that this client doesn't support
func (*LodestarConfig) GetValidatorImage ¶ added in v1.3.0
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 max profit relay BloxRouteMaxProfitRelay config.Parameter `yaml:"bloxRouteMaxProfitEnabled,omitempty"` // bloXroute regulated relay BloxRouteRegulatedRelay config.Parameter `yaml:"bloxRouteRegulatedEnabled,omitempty"` // Eden relay EdenRelay config.Parameter `yaml:"edenEnabled,omitempty"` // Ultra sound relay UltrasoundRelay config.Parameter `yaml:"ultrasoundEnabled,omitempty"` // Aestus relay AestusRelay config.Parameter `yaml:"aestusEnabled,omitempty"` // Agnostic relay AgnosticRelay config.Parameter `yaml:"AgnoticEnabled,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 *StaderConfig) *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 *StaderConfig) *NativeConfig
Generates a new Stadernode 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"` // 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 *StaderConfig) *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 *StaderConfig) *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 *StaderConfig) *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 *StaderConfig) *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 StaderConfig ¶
type StaderConfig struct { Title string `yaml:"-"` Version string `yaml:"-"` StaderDirectory 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"` ExposeGuardianPort config.Parameter `yaml:"enableMetrics,omitempty"` EnableGuardianMetrics config.Parameter `yaml:"enableGuardianMetrics,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"` EnableBitflyNodeMetrics config.Parameter `yaml:"enableBitflyNodeMetrics,omitempty"` // The StaderNode configuration StaderNode *StaderNodeConfig `yaml:"stadernode,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"` Nimbus *NimbusConfig `yaml:"nimbus,omitempty"` Prysm *PrysmConfig `yaml:"prysm,omitempty"` Teku *TekuConfig `yaml:"teku,omitempty"` Lodestar *LodestarConfig `yaml:"lodestar,omitempty"` ExternalLighthouse *ExternalLighthouseConfig `yaml:"externalLighthouse,omitempty"` ExternalNimbus *ExternalNimbusConfig `yaml:"externalNimbus,omitempty"` ExternalPrysm *ExternalPrysmConfig `yaml:"externalPrysm,omitempty"` ExternalTeku *ExternalTekuConfig `yaml:"externalTeku,omitempty"` ExternalLodestar *ExternalLodestarConfig `yaml:"externalLodestar,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"` }
The master configuration struct
func LoadFromFile ¶
func LoadFromFile(path string) (*StaderConfig, error)
Load configuration settings from a file
func NewStaderConfig ¶
func NewStaderConfig(staderDir string, isNativeMode bool) *StaderConfig
Creates a new Stader configuration instance
func (*StaderConfig) ChangeNetwork ¶
func (cfg *StaderConfig) ChangeNetwork(newNetwork config.Network)
Handle a network change on all of the parameters
func (*StaderConfig) CreateCopy ¶
func (cfg *StaderConfig) CreateCopy() *StaderConfig
Create a copy of this configuration.
func (*StaderConfig) Deserialize ¶
func (cfg *StaderConfig) Deserialize(masterMap map[string]map[string]string) error
Deserializes a settings file into this config
func (*StaderConfig) GenerateEnvironmentVariables ¶
func (cfg *StaderConfig) GenerateEnvironmentVariables() map[string]string
Generates a collection of environment variables based on this config's settings
func (*StaderConfig) GetChanges ¶
func (cfg *StaderConfig) GetChanges(oldConfig *StaderConfig) (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 (*StaderConfig) GetConfigTitle ¶
func (cfg *StaderConfig) GetConfigTitle() string
The the title for the config
func (*StaderConfig) GetEventLogInterval ¶
func (cfg *StaderConfig) GetEventLogInterval() (int, error)
Get the configuration for the selected execution client
func (*StaderConfig) GetParameters ¶
func (cfg *StaderConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*StaderConfig) GetSelectedConsensusClient ¶
func (cfg *StaderConfig) GetSelectedConsensusClient() (config.ConsensusClient, config.Mode)
Get the selected CC and mode
func (*StaderConfig) GetSelectedConsensusClientConfig ¶
func (cfg *StaderConfig) GetSelectedConsensusClientConfig() (config.ConsensusConfig, error)
Get the configuration for the selected consensus client
func (*StaderConfig) GetSubconfigs ¶
func (cfg *StaderConfig) GetSubconfigs() map[string]config.Config
Get the subconfigurations for this config
func (*StaderConfig) IsDoppelgangerEnabled ¶
func (cfg *StaderConfig) IsDoppelgangerEnabled() (bool, error)
Check if doppelganger protection is enabled
func (*StaderConfig) Serialize ¶
func (cfg *StaderConfig) Serialize() map[string]map[string]string
Serializes the configuration into a map of maps, compatible with a settings file
func (*StaderConfig) UpdateDefaults ¶
func (cfg *StaderConfig) UpdateDefaults() error
Update the default settings for all overwrite-on-upgrade parameters
func (*StaderConfig) Validate ¶
func (cfg *StaderConfig) Validate() []string
Checks to see if the current configuration is valid; if not, returns a list of errors
type StaderNodeConfig ¶
type StaderNodeConfig 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 guardians's persistent state storage GuardianStatePath config.Parameter `yaml:"guardianStatePath"` // 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"` // Max tx fee for a single tx override TxFeeCap config.Parameter `yaml:"txFeeCap,omitempty"` // URL for an EC with archive mode, for manual rewards tree generation ArchiveECUrl config.Parameter `yaml:"archiveEcUrl,omitempty"` // contains filtered or unexported fields }
Configuration for the Stader node
func NewStadernodeConfig ¶
func NewStadernodeConfig(cfg *StaderConfig) *StaderNodeConfig
Generates a new Stadernode configuration
func (*StaderNodeConfig) GetBeaconChainUrl ¶
func (cfg *StaderNodeConfig) GetBeaconChainUrl() string
func (*StaderNodeConfig) GetBulkPresignCheckApi ¶
func (cfg *StaderNodeConfig) GetBulkPresignCheckApi() string
func (*StaderNodeConfig) GetBulkPresignSendApi ¶
func (cfg *StaderNodeConfig) GetBulkPresignSendApi() string
func (*StaderNodeConfig) GetChainID ¶
func (cfg *StaderNodeConfig) GetChainID() uint
func (*StaderNodeConfig) GetClaimData ¶
func (*StaderNodeConfig) GetConfigTitle ¶
func (cfg *StaderNodeConfig) GetConfigTitle() string
The the title for the config
func (*StaderNodeConfig) GetCustomKeyPasswordFilePath ¶
func (cfg *StaderNodeConfig) GetCustomKeyPasswordFilePath() string
func (*StaderNodeConfig) GetCustomKeyPath ¶
func (cfg *StaderNodeConfig) GetCustomKeyPath() string
func (*StaderNodeConfig) GetEcMigratorContainerTag ¶
func (cfg *StaderNodeConfig) GetEcMigratorContainerTag() string
func (*StaderNodeConfig) GetEthxTokenAddress ¶
func (cfg *StaderNodeConfig) GetEthxTokenAddress() common.Address
func (*StaderNodeConfig) GetFeeRecipientFilePath ¶
func (cfg *StaderNodeConfig) GetFeeRecipientFilePath() string
func (*StaderNodeConfig) GetGuardianFolder ¶
func (cfg *StaderNodeConfig) GetGuardianFolder(daemon bool) string
func (*StaderNodeConfig) GetGuardianStatePath ¶
func (config *StaderNodeConfig) GetGuardianStatePath() string
func (*StaderNodeConfig) GetMerkleProofApi ¶
func (cfg *StaderNodeConfig) GetMerkleProofApi() string
func (*StaderNodeConfig) GetNodeDiversityApi ¶ added in v1.4.9
func (cfg *StaderNodeConfig) GetNodeDiversityApi() string
func (*StaderNodeConfig) GetParameters ¶
func (cfg *StaderNodeConfig) GetParameters() []*config.Parameter
Get the parameters for this config
func (*StaderNodeConfig) GetPasswordPath ¶
func (cfg *StaderNodeConfig) GetPasswordPath() string
func (*StaderNodeConfig) GetPasswordPathInCLI ¶
func (cfg *StaderNodeConfig) GetPasswordPathInCLI() string
func (*StaderNodeConfig) GetPresignCheckApi ¶
func (cfg *StaderNodeConfig) GetPresignCheckApi() string
func (*StaderNodeConfig) GetPresignEncryptionKey ¶ added in v1.1.0
func (cfg *StaderNodeConfig) GetPresignEncryptionKey() string
func (*StaderNodeConfig) GetPresignPublicKeyApi ¶
func (cfg *StaderNodeConfig) GetPresignPublicKeyApi() string
func (*StaderNodeConfig) GetPresignSendApi ¶
func (cfg *StaderNodeConfig) GetPresignSendApi() string
Getters for the non-editable parameters
func (*StaderNodeConfig) GetPruneProvisionerContainerTag ¶
func (config *StaderNodeConfig) GetPruneProvisionerContainerTag() string
func (*StaderNodeConfig) GetSpRewardCyclePath ¶
func (cfg *StaderNodeConfig) GetSpRewardCyclePath(cycle int64, daemon bool) string
func (*StaderNodeConfig) GetSpRewardsMerkleProofFolder ¶
func (cfg *StaderNodeConfig) GetSpRewardsMerkleProofFolder(daemon bool) string
func (*StaderNodeConfig) GetStaderConfigAddress ¶
func (cfg *StaderNodeConfig) GetStaderConfigAddress() common.Address
func (*StaderNodeConfig) GetStadernodeContainerTag ¶
func (cfg *StaderNodeConfig) GetStadernodeContainerTag() string
func (*StaderNodeConfig) GetStakeUrl ¶
func (cfg *StaderNodeConfig) GetStakeUrl() string
func (*StaderNodeConfig) GetTxWatchUrl ¶
func (cfg *StaderNodeConfig) GetTxWatchUrl() string
func (*StaderNodeConfig) GetValidatorKeychainPath ¶
func (cfg *StaderNodeConfig) GetValidatorKeychainPath() string
func (*StaderNodeConfig) GetValidatorKeychainPathInCLI ¶
func (cfg *StaderNodeConfig) GetValidatorKeychainPathInCLI() string
func (*StaderNodeConfig) GetWalletPath ¶
func (cfg *StaderNodeConfig) GetWalletPath() string
func (*StaderNodeConfig) GetWalletPathInCLI ¶
func (cfg *StaderNodeConfig) GetWalletPathInCLI() string
func (*StaderNodeConfig) ReadCycleCache ¶
func (cfg *StaderNodeConfig) ReadCycleCache(cycle int64) (stader_backend.CycleMerkleProofs, bool, error)
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 *StaderConfig) *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
- stader-config.go
- stadernode-config.go
- teku-config.go