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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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.4.3]
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) 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) 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