config

package
v0.2.2-dev Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2024 License: AGPL-3.0 Imports: 19 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

	// Volumes
	ExecutionClientDataVolume string = "ecdata"
	BeaconNodeDataVolume      string = "bndata"
)
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

func ApplyDefaults added in v0.2.3

func ApplyDefaults(cfg types.IConfigSection, network types.Network)

Apply the default settings for each parameter and subparameter

func ChangeNetwork added in v0.2.3

func ChangeNetwork(cfg types.IConfigSection, oldNetwork types.Network, newNetwork types.Network)

Change the active network for an entire configuration

func Clone added in v0.2.3

func Clone(source types.IConfigSection, target types.IConfigSection, network types.Network)

Copy a section's settings into the corresponding section of a new config

func Deserialize added in v0.2.3

func Deserialize(cfg types.IConfigSection, serializedParams map[string]any, network types.Network) error

Deserialize a config section

func GetAffectedContainers added in v0.2.3

func GetAffectedContainers(section *types.ChangedSection, containers map[types.ContainerID]bool)

Get a list of containers that will be need to be restarted after this change is applied

func GetChangedSettings added in v0.2.3

func GetChangedSettings(old types.IConfigSection, new types.IConfigSection) (*types.ChangedSection, int)

Get all of the settings that have changed between the given config sections Assumes the config sections represent the same element, just different instances

func Serialize added in v0.2.3

func Serialize(cfg types.IConfigSection) map[string]any

Serialize a config section into a map

func UpdateDefaults added in v0.2.3

func UpdateDefaults(cfg types.IConfigSection, newNetwork types.Network)

Update the default settings after a network change

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 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 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 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 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 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 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 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 map[string]any

	// 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) BeaconNodeContainerName added in v0.2.3

func (c *HyperdriveConfig) BeaconNodeContainerName() string

func (*HyperdriveConfig) BeaconNodeDataVolume added in v0.2.3

func (c *HyperdriveConfig) BeaconNodeDataVolume() string

func (*HyperdriveConfig) BnHttpUrl

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

func (*HyperdriveConfig) BnRpcUrl

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

func (*HyperdriveConfig) DaemonContainerName added in v0.2.3

func (c *HyperdriveConfig) DaemonContainerName() string

func (*HyperdriveConfig) Deserialize

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

Deserializes a settings file into this config

func (*HyperdriveConfig) ExecutionClientContainerName added in v0.2.3

func (c *HyperdriveConfig) ExecutionClientContainerName() string

func (*HyperdriveConfig) ExecutionClientDataVolume added in v0.2.3

func (c *HyperdriveConfig) ExecutionClientDataVolume() string

func (*HyperdriveConfig) ExporterContainerName added in v0.2.3

func (c *HyperdriveConfig) ExporterContainerName() string

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) 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) GetSelectedBeaconNode added in v0.2.3

func (cfg *HyperdriveConfig) GetSelectedBeaconNode() types.BeaconNode

Get the selected Beacon Node

func (*HyperdriveConfig) GetSelectedExecutionClient added in v0.2.3

func (cfg *HyperdriveConfig) GetSelectedExecutionClient() types.ExecutionClient

Get the selected Beacon Node

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) GrafanaContainerName added in v0.2.3

func (c *HyperdriveConfig) GrafanaContainerName() string

func (*HyperdriveConfig) GraffitiPrefix added in v0.2.3

func (cfg *HyperdriveConfig) GraffitiPrefix() string

Used by text/template to format validator.yml Only returns the the prefix

func (*HyperdriveConfig) IsLocalMode

func (cfg *HyperdriveConfig) IsLocalMode() bool

Used by text/template to format bn.yml

func (*HyperdriveConfig) PrometheusContainerName added in v0.2.3

func (c *HyperdriveConfig) PrometheusContainerName() string

func (*HyperdriveConfig) Serialize

func (cfg *HyperdriveConfig) Serialize(modules []modconfig.IModuleConfig) map[string]any

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

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 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 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 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 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 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 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