config

package
v0.2.1-dev Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2024 License: AGPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Param IDs
	BesuJvmHeapSizeID   string = "jvmHeapSize"
	BesuMaxPeersID      string = "maxPeers"
	BesuMaxBackLayersID string = "maxBackLayers"
)

Constants

View Source
const (
	BitflySecretID      string = "bitflySecret"
	BitflyEndpointID    string = "bitflyEndpoint"
	BitflyMachineNameID string = "bitflyMachineName"
)

Defaults

View Source
const (
	// Param IDs
	UseFallbackClientsID string = "useFallbackClients"
	EcHttpUrl            string = "ecHttpUrl"
	BnHttpUrl            string = "bnHttpUrl"
)
View Source
const (
	// Param IDs
	DebugModeID          string = "debugMode"
	NetworkID            string = "network"
	ClientModeID         string = "clientMode"
	UserDataPathID       string = "hdUserDataDir"
	ProjectNameID        string = "projectName"
	AutoTxMaxFeeID       string = "autoTxMaxFee"
	MaxPriorityFeeID     string = "maxPriorityFee"
	AutoTxGasThresholdID string = "autoTxGasThreshold"
)
View Source
const (
	// Param IDs
	EcWebsocketPortID string = "wsPort"
	EcEnginePortID    string = "enginePort"
	EcOpenApiPortsID  string = "openApiPorts"
)
View Source
const (
	// Param IDs
	MetricsEnableID       string = "enableMetrics"
	MetricsEnableBitflyID string = "enableBitflyNodeMetrics"
	MetricsEcPortID       string = "ecMetricsPort"
	MetricsBnPortID       string = "bnMetricsPort"
	MetricsDaemonPortID   string = "daemonMetricsPort"
	MetricsExporterPortID string = "exporterMetricsPort"
)

Constants

View Source
const (
	// Param IDs
	NethermindCacheSizeID         string = "cacheSize"
	NethermindPruneMemSizeID      string = "pruneMemSize"
	NethermindAdditionalModulesID string = "additionalModules"
	NethermindAdditionalUrlsID    string = "additionalUrls"
)

Constants

View Source
const (
	// Param IDs
	PrysmRpcPortID     string = "rpcPort"
	PrysmOpenRpcPortID string = "openRpcPort"
)
View Source
const (
	EventLogInterval         int    = 1000
	DockerApiVersion         string = "1.40"
	HyperdriveDaemonRoute    string = "hyperdrive"
	HyperdriveSocketFilename string = HyperdriveDaemonRoute + ".sock"
	ConfigFilename           string = "user-settings.yml"

	// Wallet
	UserAddressFilename    string = "address"
	UserWalletDataFilename string = "wallet"
	UserPasswordFilename   string = "password"

	// Scripts
	EcStartScript string = "start-ec.sh"
	BnStartScript string = "start-bn.sh"
	VcStartScript string = "start-vc.sh"

	// HTTP
	ClientTimeout time.Duration = 8 * time.Second
)
View Source
const (
	// Param IDs
	TekuJvmHeapSizeID string = "jvmHeapSize"
	TekuArchiveModeID string = "archiveMode"
)
View Source
const (
	// Param IDs
	BnCheckpointSyncUrlID string = "checkpointSyncUrl"
)
View Source
const (
	// Param IDs
	ExporterEnableRootFsID string = "enableRootFs"
)
View Source
const (
	// Param IDs
	GethEnablePbssID string = "enablePbss"
)

Constants

View Source
const (
	// Param IDs
	LhQuicPortID string = "p2pQuicPort"
)
View Source
const (
	// Param IDs
	NimbusPruningModeID string = "pruningMode"
)
View Source
const (
	// Param IDs
	PrysmRpcUrlID string = "prysmRpcUrl"
)
View Source
const (
	// Param IDs
	WebsocketUrlID string = "wsUrl"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BesuConfig

type BesuConfig struct {
	// Max number of P2P peers to connect to
	JvmHeapSize types.Parameter[uint64]

	// Max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// Historical state block regeneration limit
	MaxBackLayers types.Parameter[uint64]

	// The Docker Hub tag for Besu
	ContainerTag types.Parameter[string]

	// Custom command line flags
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Besu

func NewBesuConfig

func NewBesuConfig(parent *LocalExecutionConfig) *BesuConfig

Generates a new Besu configuration

func (*BesuConfig) GetParameters

func (cfg *BesuConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*BesuConfig) GetSubconfigs

func (cfg *BesuConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*BesuConfig) GetTitle

func (cfg *BesuConfig) GetTitle() string

The the title for the config

type BitflyNodeMetricsConfig

type BitflyNodeMetricsConfig struct {
	Secret types.Parameter[string]

	Endpoint types.Parameter[string]

	MachineName types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Bitfly Node Metrics

func NewBitflyNodeMetricsConfig

func NewBitflyNodeMetricsConfig(parent *MetricsConfig) *BitflyNodeMetricsConfig

Generates a new Bitfly Node Metrics config

func (*BitflyNodeMetricsConfig) GetParameters

func (cfg *BitflyNodeMetricsConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*BitflyNodeMetricsConfig) GetSubconfigs

func (cfg *BitflyNodeMetricsConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*BitflyNodeMetricsConfig) GetTitle

func (cfg *BitflyNodeMetricsConfig) GetTitle() string

The the title for the config

type ExporterConfig

type ExporterConfig struct {
	// Toggle for enabling access to the root filesystem (for multiple disk usage metrics)
	RootFs types.Parameter[bool]

	// The Docker Hub tag for the Exporter
	ContainerTag types.Parameter[string]

	// Custom command line flags
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Exporter

func NewExporterConfig

func NewExporterConfig(parent *MetricsConfig) *ExporterConfig

Generates a new Exporter config

func (*ExporterConfig) GetParameters

func (cfg *ExporterConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*ExporterConfig) GetSubconfigs

func (cfg *ExporterConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*ExporterConfig) GetTitle

func (cfg *ExporterConfig) GetTitle() string

The the title for the config

type ExternalBeaconConfig

type ExternalBeaconConfig struct {
	// The selected BN
	BeaconNode types.Parameter[types.BeaconNode]

	// The URL of the HTTP endpoint
	HttpUrl types.Parameter[string]

	// The URL of the Prysm gRPC endpoint (only needed if using Prysm VCs)
	PrysmRpcUrl types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for external Beacon Nodes

func NewExternalBeaconConfig

func NewExternalBeaconConfig(parent *HyperdriveConfig) *ExternalBeaconConfig

Generates a new ExternalBeaconConfig configuration

func (*ExternalBeaconConfig) GetParameters

func (cfg *ExternalBeaconConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*ExternalBeaconConfig) GetSubconfigs

func (cfg *ExternalBeaconConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*ExternalBeaconConfig) GetTitle

func (cfg *ExternalBeaconConfig) GetTitle() string

The the title for the config

type ExternalExecutionConfig

type ExternalExecutionConfig struct {
	// The selected EC
	ExecutionClient types.Parameter[types.ExecutionClient]

	// The URL of the HTTP endpoint
	HttpUrl types.Parameter[string]

	// The URL of the Websocket endpoint
	WebsocketUrl types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for external Execution clients

func NewExternalExecutionConfig

func NewExternalExecutionConfig(parent *HyperdriveConfig) *ExternalExecutionConfig

Generates a new ExternalExecutionConfig configuration

func (*ExternalExecutionConfig) GetParameters

func (cfg *ExternalExecutionConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*ExternalExecutionConfig) GetSubconfigs

func (cfg *ExternalExecutionConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*ExternalExecutionConfig) GetTitle

func (cfg *ExternalExecutionConfig) GetTitle() string

The the title for the config

type FallbackConfig

type FallbackConfig struct {
	// Flag for enabling fallback clients
	UseFallbackClients types.Parameter[bool]

	// The URL of the Execution Client HTTP endpoint
	EcHttpUrl types.Parameter[string]

	// The URL of the Beacon Node HTTP endpoint
	BnHttpUrl types.Parameter[string]

	// The URL of the Prysm gRPC endpoint (only needed if using Prysm VCs)
	PrysmRpcUrl types.Parameter[string]
	// contains filtered or unexported fields
}

Fallback configuration

func NewFallbackConfig

func NewFallbackConfig(parent *HyperdriveConfig) *FallbackConfig

Generates a new FallbackConfig configuration

func (*FallbackConfig) GetParameters

func (cfg *FallbackConfig) GetParameters() []types.IParameter

Get the types.Parameters for this config

func (*FallbackConfig) GetSubconfigs

func (cfg *FallbackConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*FallbackConfig) GetTitle

func (cfg *FallbackConfig) GetTitle() string

The the title for the config

type GethConfig

type GethConfig struct {
	// The flag for enabling PBSS
	EnablePbss types.Parameter[bool]

	// Max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// The Docker Hub tag for Geth
	ContainerTag types.Parameter[string]

	// Custom command line flags
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Geth

func NewGethConfig

func NewGethConfig(parent *LocalExecutionConfig) *GethConfig

Generates a new Geth configuration

func (*GethConfig) GetParameters

func (cfg *GethConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*GethConfig) GetSubconfigs

func (cfg *GethConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*GethConfig) GetTitle

func (cfg *GethConfig) GetTitle() string

Get the title for the config

type GrafanaConfig

type GrafanaConfig struct {
	// The HTTP port to serve on
	Port types.Parameter[uint16]

	// The Docker Hub tag for Grafana
	ContainerTag types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Grafana

func NewGrafanaConfig

func NewGrafanaConfig(parent *MetricsConfig) *GrafanaConfig

Generates a new Grafana config

func (*GrafanaConfig) GetParameters

func (cfg *GrafanaConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*GrafanaConfig) GetSubconfigs

func (cfg *GrafanaConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*GrafanaConfig) GetTitle

func (cfg *GrafanaConfig) GetTitle() string

The the title for the config

type HyperdriveConfig

type HyperdriveConfig struct {
	// General settings
	DebugMode          types.Parameter[bool]
	Network            types.Parameter[types.Network]
	ClientMode         types.Parameter[types.ClientMode]
	ProjectName        types.Parameter[string]
	UserDataPath       types.Parameter[string]
	AutoTxMaxFee       types.Parameter[float64]
	MaxPriorityFee     types.Parameter[float64]
	AutoTxGasThreshold types.Parameter[float64]

	// Execution client settings
	LocalExecutionConfig    *LocalExecutionConfig
	ExternalExecutionConfig *ExternalExecutionConfig

	// Beacon node settings
	LocalBeaconConfig    *LocalBeaconConfig
	ExternalBeaconConfig *ExternalBeaconConfig

	// Fallback clients
	Fallback *FallbackConfig

	// Metrics
	Metrics *MetricsConfig

	// Modules
	Modules *modconfig.ModulesConfig

	// Internal fields
	Version                 string
	HyperdriveUserDirectory string
	// contains filtered or unexported fields
}

The master configuration struct

func LoadFromFile

func LoadFromFile(path string) (*HyperdriveConfig, error)

Load configuration settings from a file

func NewHyperdriveConfig

func NewHyperdriveConfig(hdDir string) *HyperdriveConfig

Creates a new Hyperdrive configuration instance

func (*HyperdriveConfig) AutoTxMaxFeeInt

func (cfg *HyperdriveConfig) AutoTxMaxFeeInt() uint64

func (*HyperdriveConfig) BnHttpUrl

func (cfg *HyperdriveConfig) BnHttpUrl() (string, error)

func (*HyperdriveConfig) BnRpcUrl

func (cfg *HyperdriveConfig) BnRpcUrl() (string, error)

func (*HyperdriveConfig) ChangeNetwork

func (cfg *HyperdriveConfig) ChangeNetwork(newNetwork types.Network)

Handle a network change on all of the parameters

func (*HyperdriveConfig) CreateCopy

func (cfg *HyperdriveConfig) CreateCopy() *HyperdriveConfig

Create a copy of this configuration

func (*HyperdriveConfig) Deserialize

func (cfg *HyperdriveConfig) Deserialize(masterMap map[string]any) error

Deserializes a settings file into this config

func (*HyperdriveConfig) FallbackBnHttpUrl

func (cfg *HyperdriveConfig) FallbackBnHttpUrl() string

func (*HyperdriveConfig) FallbackBnRpcUrl

func (cfg *HyperdriveConfig) FallbackBnRpcUrl() string

func (*HyperdriveConfig) GetBeaconHostname

func (cfg *HyperdriveConfig) GetBeaconHostname() (string, error)

Gets the hostname portion of the Beacon Node's URI. Used by text/template to format prometheus.yml.

func (*HyperdriveConfig) GetBnAdditionalFlags

func (cfg *HyperdriveConfig) GetBnAdditionalFlags() (string, error)

Used by text/template to format bn.yml

func (*HyperdriveConfig) GetBnContainerTag

func (cfg *HyperdriveConfig) GetBnContainerTag() (string, error)

Gets the tag of the bn container Used by text/template to format bn.yml

func (*HyperdriveConfig) GetBnHttpEndpoint

func (cfg *HyperdriveConfig) GetBnHttpEndpoint() string

Get the HTTP API endpoint for the provided BN

func (*HyperdriveConfig) GetBnHttpEndpointsWithFallback

func (cfg *HyperdriveConfig) GetBnHttpEndpointsWithFallback() string

Get the endpoints of the BN, including the fallback if applicable

func (*HyperdriveConfig) GetBnMaxPeers

func (cfg *HyperdriveConfig) GetBnMaxPeers() (uint16, error)

Gets the max peers of the bn container Used by text/template to format bn.yml

func (*HyperdriveConfig) GetBnOpenPorts

func (cfg *HyperdriveConfig) GetBnOpenPorts() []string

Used by text/template to format bn.yml

func (*HyperdriveConfig) GetBnStartScript

func (cfg *HyperdriveConfig) GetBnStartScript() string

Gets the name of the Beacon Node start script

func (*HyperdriveConfig) GetChanges

func (cfg *HyperdriveConfig) GetChanges(oldConfig *HyperdriveConfig) (*types.ChangedSection, map[types.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 (*HyperdriveConfig) GetDaemonContainerTag

func (cfg *HyperdriveConfig) GetDaemonContainerTag() string

func (*HyperdriveConfig) GetDockerArtifactName

func (cfg *HyperdriveConfig) GetDockerArtifactName(entity string) string

Gets the full name of the Docker container or volume with the provided suffix (name minus the project ID prefix)

func (*HyperdriveConfig) GetEcAdditionalFlags

func (cfg *HyperdriveConfig) GetEcAdditionalFlags() (string, error)

Used by text/template to format ec.yml

func (*HyperdriveConfig) GetEcContainerTag

func (cfg *HyperdriveConfig) GetEcContainerTag() (string, error)

Gets the tag of the ec container Used by text/template to format ec.yml

func (*HyperdriveConfig) GetEcHttpEndpoint

func (cfg *HyperdriveConfig) GetEcHttpEndpoint() string

Used by text/template to format bn.yml

func (*HyperdriveConfig) GetEcHttpEndpointsWithFallback

func (cfg *HyperdriveConfig) GetEcHttpEndpointsWithFallback() string

Get the endpoints of the EC, including the fallback if applicable

func (*HyperdriveConfig) GetEcMaxPeers

func (cfg *HyperdriveConfig) GetEcMaxPeers() (uint16, error)

Gets the max peers of the ec container Used by text/template to format ec.yml

func (*HyperdriveConfig) GetEcOpenApiPorts

func (cfg *HyperdriveConfig) GetEcOpenApiPorts() string

Gets the port mapping of the ec container Used by text/template to format ec.yml

func (*HyperdriveConfig) GetEcStartScript

func (cfg *HyperdriveConfig) GetEcStartScript() string

Gets the name of the Execution Client start script

func (*HyperdriveConfig) GetEcWsEndpoint

func (cfg *HyperdriveConfig) GetEcWsEndpoint() string

Used by text/template to format bn.yml

func (*HyperdriveConfig) GetExecutionHostname

func (cfg *HyperdriveConfig) GetExecutionHostname() (string, error)

Gets the hostname portion of the Execution Client's URI. Used by text/template to format prometheus.yml.

func (*HyperdriveConfig) GetExporterAdditionalFlags

func (cfg *HyperdriveConfig) GetExporterAdditionalFlags() []string

Used by text/template to format exporter.yml

func (*HyperdriveConfig) GetExternalIP

func (cfg *HyperdriveConfig) GetExternalIP() string

Used by text/template to format ec.yml

func (*HyperdriveConfig) GetParameters

func (cfg *HyperdriveConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*HyperdriveConfig) GetPrometheusAdditionalFlags

func (cfg *HyperdriveConfig) GetPrometheusAdditionalFlags() []string

Used by text/template to format prometheus.yml

func (*HyperdriveConfig) GetPrometheusOpenPorts

func (cfg *HyperdriveConfig) GetPrometheusOpenPorts() string

Used by text/template to format prometheus.yml

func (*HyperdriveConfig) GetStakewiseVcAdditionalFlags

func (cfg *HyperdriveConfig) GetStakewiseVcAdditionalFlags() string

Gets the additional flags of the selected VC

func (*HyperdriveConfig) GetStakewiseVcContainerTag

func (cfg *HyperdriveConfig) GetStakewiseVcContainerTag() string

Get the container tag of the selected VC

func (*HyperdriveConfig) GetSubconfigs

func (cfg *HyperdriveConfig) GetSubconfigs() map[string]types.IConfigSection

Get the subconfigurations for this config

func (*HyperdriveConfig) GetTitle

func (cfg *HyperdriveConfig) GetTitle() string

Get the title for this config

func (*HyperdriveConfig) GetVcStartScript

func (cfg *HyperdriveConfig) GetVcStartScript() string

Gets the name of the Validator Client start script

func (*HyperdriveConfig) IsDoppelgangerEnabled

func (cfg *HyperdriveConfig) IsDoppelgangerEnabled() bool

Check if any of the services have doppelganger detection enabled NOTE: update this with each new service that runs a VC!

func (*HyperdriveConfig) IsLocalMode

func (cfg *HyperdriveConfig) IsLocalMode() bool

Used by text/template to format bn.yml

func (*HyperdriveConfig) Serialize

func (cfg *HyperdriveConfig) Serialize() map[string]any

Serializes the configuration into a map of maps, compatible with a settings file

func (*HyperdriveConfig) StakewiseFeeRecipient

func (cfg *HyperdriveConfig) StakewiseFeeRecipient() string

func (*HyperdriveConfig) StakewiseGraffiti

func (cfg *HyperdriveConfig) StakewiseGraffiti() (string, error)

Used by text/template to format validator.yml

func (*HyperdriveConfig) StakewiseVault

func (cfg *HyperdriveConfig) StakewiseVault() string

func (*HyperdriveConfig) UpdateDefaults

func (cfg *HyperdriveConfig) UpdateDefaults()

Update the default settings for all overwrite-on-upgrade parameters

func (*HyperdriveConfig) Validate

func (cfg *HyperdriveConfig) Validate() []string

Checks to see if the current configuration is valid; if not, returns a list of errors

type LighthouseBnConfig

type LighthouseBnConfig struct {
	// The port to use for gossip traffic using the QUIC protocol
	P2pQuicPort types.Parameter[uint16]

	// The max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// The Docker Hub tag for Lighthouse BN
	ContainerTag types.Parameter[string]

	// Custom command line flags for the BN
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for the Lighthouse BN

func NewLighthouseBnConfig

func NewLighthouseBnConfig(parent *LocalBeaconConfig) *LighthouseBnConfig

Generates a new Lighthouse BN configuration

func (*LighthouseBnConfig) GetParameters

func (cfg *LighthouseBnConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*LighthouseBnConfig) GetSubconfigs

func (cfg *LighthouseBnConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*LighthouseBnConfig) GetTitle

func (cfg *LighthouseBnConfig) GetTitle() string

The the title for the config

type LocalBeaconConfig

type LocalBeaconConfig struct {
	// The selected BN
	BeaconNode types.Parameter[types.BeaconNode]

	// The checkpoint sync URL if used
	CheckpointSyncProvider types.Parameter[string]

	// The port to use for gossip traffic
	P2pPort types.Parameter[uint16]

	// The port to expose the HTTP API on
	HttpPort types.Parameter[uint16]

	// Toggle for forwarding the HTTP API port outside of Docker
	OpenHttpPort types.Parameter[types.RpcPortMode]

	// Subconfigs
	Lighthouse *LighthouseBnConfig
	Lodestar   *LodestarBnConfig
	Nimbus     *NimbusBnConfig
	Prysm      *PrysmBnConfig
	Teku       *TekuBnConfig
	// contains filtered or unexported fields
}

Common parameters shared by all of the Beacon Clients

func NewLocalBeaconConfig

func NewLocalBeaconConfig(parent *HyperdriveConfig) *LocalBeaconConfig

Create a new LocalBeaconConfig struct

func (*LocalBeaconConfig) GetParameters

func (cfg *LocalBeaconConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*LocalBeaconConfig) GetSubconfigs

func (cfg *LocalBeaconConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*LocalBeaconConfig) GetTitle

func (cfg *LocalBeaconConfig) GetTitle() string

The the title for the config

type LocalExecutionConfig

type LocalExecutionConfig struct {
	// The selected EC
	ExecutionClient types.Parameter[types.ExecutionClient]

	// The HTTP API port
	HttpPort types.Parameter[uint16]

	// The Websocket API port
	WebsocketPort types.Parameter[uint16]

	// The Engine API port
	EnginePort types.Parameter[uint16]

	// Toggle for forwarding the HTTP API port outside of Docker
	OpenApiPorts types.Parameter[types.RpcPortMode]

	// P2P traffic port
	P2pPort types.Parameter[uint16]

	// Subconfigs
	Geth       *GethConfig
	Nethermind *NethermindConfig
	Besu       *BesuConfig
	// contains filtered or unexported fields
}

Configuration for the Execution client

func NewExecutionCommonConfig

func NewExecutionCommonConfig(parent *HyperdriveConfig) *LocalExecutionConfig

Create a new LocalExecutionConfig struct

func (*LocalExecutionConfig) GetParameters

func (cfg *LocalExecutionConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*LocalExecutionConfig) GetSubconfigs

func (cfg *LocalExecutionConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*LocalExecutionConfig) GetTitle

func (cfg *LocalExecutionConfig) GetTitle() string

Get the title for the config

type LodestarBnConfig

type LodestarBnConfig struct {
	// The max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// The Docker Hub tag for Lodestar BN
	ContainerTag types.Parameter[string]

	// Custom command line flags for the BN
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for the Lodestar BN

func NewLodestarBnConfig

func NewLodestarBnConfig(parent *LocalBeaconConfig) *LodestarBnConfig

Generates a new Lodestar BN configuration

func (*LodestarBnConfig) GetParameters

func (cfg *LodestarBnConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*LodestarBnConfig) GetSubconfigs

func (cfg *LodestarBnConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*LodestarBnConfig) GetTitle

func (cfg *LodestarBnConfig) GetTitle() string

The the title for the config

type MetricsConfig

type MetricsConfig struct {
	EnableMetrics           types.Parameter[bool]
	EcMetricsPort           types.Parameter[uint16]
	BnMetricsPort           types.Parameter[uint16]
	DaemonMetricsPort       types.Parameter[uint16]
	ExporterMetricsPort     types.Parameter[uint16]
	EnableBitflyNodeMetrics types.Parameter[bool]

	// Subconfigs
	Grafana           *GrafanaConfig
	Prometheus        *PrometheusConfig
	Exporter          *ExporterConfig
	BitflyNodeMetrics *BitflyNodeMetricsConfig
	// contains filtered or unexported fields
}

Configuration for Metrics

func NewMetricsConfig

func NewMetricsConfig(parent *HyperdriveConfig) *MetricsConfig

Generates a new Besu configuration

func (*MetricsConfig) GetParameters

func (cfg *MetricsConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*MetricsConfig) GetSubconfigs

func (cfg *MetricsConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*MetricsConfig) GetTitle

func (cfg *MetricsConfig) GetTitle() string

The the title for the config

type NethermindConfig

type NethermindConfig struct {
	// Nethermind's cache memory hint
	CacheSize types.Parameter[uint64]

	// Max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// Nethermind's memory for pruning
	PruneMemSize types.Parameter[uint64]

	// Additional modules to enable on the primary JSON RPC endpoint
	AdditionalModules types.Parameter[string]

	// Additional JSON RPC URLs
	AdditionalUrls types.Parameter[string]

	// The Docker Hub tag for Nethermind
	ContainerTag types.Parameter[string]

	// Custom command line flags
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Nethermind

func NewNethermindConfig

func NewNethermindConfig(parent *LocalExecutionConfig) *NethermindConfig

Generates a new Nethermind configuration

func (*NethermindConfig) GetParameters

func (cfg *NethermindConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*NethermindConfig) GetSubconfigs

func (cfg *NethermindConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*NethermindConfig) GetTitle

func (cfg *NethermindConfig) GetTitle() string

Get the title for the config

type NimbusBnConfig

type NimbusBnConfig struct {
	// The max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// The Docker Hub tag for the BN
	ContainerTag types.Parameter[string]

	// The pruning mode to use in the BN
	PruningMode types.Parameter[Nimbus_PruningMode]

	// Custom command line flags for the BN
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Nimbus

func NewNimbusBnConfig

func NewNimbusBnConfig(parent *LocalBeaconConfig) *NimbusBnConfig

Generates a new Nimbus configuration

func (*NimbusBnConfig) GetParameters

func (cfg *NimbusBnConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*NimbusBnConfig) GetSubconfigs

func (cfg *NimbusBnConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*NimbusBnConfig) GetTitle

func (cfg *NimbusBnConfig) GetTitle() string

Get the title for the config

type Nimbus_PruningMode

type Nimbus_PruningMode string

Nimbus's pruning mode

const (
	Nimbus_PruningMode_Archive Nimbus_PruningMode = "archive"
	Nimbus_PruningMode_Pruned  Nimbus_PruningMode = "prune"
)

type PrometheusConfig

type PrometheusConfig struct {
	// The port to serve metrics on
	Port types.Parameter[uint16]

	// Toggle for forwarding the API port outside of Docker
	OpenPort types.Parameter[types.RpcPortMode]

	// The Docker Hub tag for Prometheus
	ContainerTag types.Parameter[string]

	// Custom command line flags
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Prometheus

func NewPrometheusConfig

func NewPrometheusConfig(parent *MetricsConfig) *PrometheusConfig

Generates a new Prometheus config

func (*PrometheusConfig) GetParameters

func (cfg *PrometheusConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*PrometheusConfig) GetSubconfigs

func (cfg *PrometheusConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*PrometheusConfig) GetTitle

func (cfg *PrometheusConfig) GetTitle() string

The the title for the config

type PrysmBnConfig

type PrysmBnConfig struct {
	// The max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// The RPC port for BN / VC connections
	RpcPort types.Parameter[uint16]

	// Toggle for forwarding the RPC API outside of Docker
	OpenRpcPort types.Parameter[types.RpcPortMode]

	// The Docker Hub tag for the Prysm BN
	ContainerTag types.Parameter[string]

	// Custom command line flags for the BN
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for the Prysm BN

func NewPrysmBnConfig

func NewPrysmBnConfig(parent *LocalBeaconConfig) *PrysmBnConfig

Generates a new Prysm BN configuration

func (*PrysmBnConfig) GetParameters

func (cfg *PrysmBnConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*PrysmBnConfig) GetSubconfigs

func (cfg *PrysmBnConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*PrysmBnConfig) GetTitle

func (cfg *PrysmBnConfig) GetTitle() string

The the title for the config

type TekuBnConfig

type TekuBnConfig struct {
	// Max number of P2P peers to connect to
	JvmHeapSize types.Parameter[uint64]

	// The max number of P2P peers to connect to
	MaxPeers types.Parameter[uint16]

	// The archive mode flag
	ArchiveMode types.Parameter[bool]

	// The Docker Hub tag for the Teku BN
	ContainerTag types.Parameter[string]

	// Custom command line flags for the BN
	AdditionalFlags types.Parameter[string]
	// contains filtered or unexported fields
}

Configuration for Teku

func NewTekuBnConfig

func NewTekuBnConfig(parent *LocalBeaconConfig) *TekuBnConfig

Generates a new Teku BN configuration

func (*TekuBnConfig) GetParameters

func (cfg *TekuBnConfig) GetParameters() []types.IParameter

Get the parameters for this config

func (*TekuBnConfig) GetSubconfigs

func (cfg *TekuBnConfig) GetSubconfigs() map[string]types.IConfigSection

Get the sections underneath this one

func (*TekuBnConfig) GetTitle

func (cfg *TekuBnConfig) GetTitle() string

Get the title for the config

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL