flags

package
v0.25.1 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GethTagFlag        = "geth-tag"
	GethCommitHashFlag = "geth-commit-hash"
	GethDatadirFlag    = "geth-datadir"
	GethConfigFileFlag = "geth-config"
	GenesisJsonFlag    = "genesis-json"

	ErigonTagFlag        = "erigon-tag"
	ErigonConfigFileFlag = "erigon-config"
	ErigonDatadirFlag    = "erigon-datadir"

	NethermindTagFlag        = "nethermind-tag"
	NethermindCommitHashFlag = "nethermind-commit-hash"
	NethermindConfigFileFlag = "nethermind-config"
	NethermindDatadirFlag    = "nethermind-datadir"

	BesuTagFlag        = "besu-tag"
	BesuConfigFileFlag = "besu-config"
	BesuDatadirFlag    = "besu-datadir"

	PrysmTagFlag             = "prysm-tag"
	GenesisStateFlag         = "genesis-ssz"
	PrysmChainConfigFileFlag = "prysm-chain-config"
	PrysmConfigFileFlag      = "prysm-config"
	PrysmDatadirFlag         = "prysm-datadir"
	NoSlasherFlag            = "no-slasher"

	LighthouseTagFlag                 = "lighthouse-tag"
	LighthouseConfigFileFlag          = "lighthouse-config"
	LighthouseValidatorConfigFileFlag = "lighthouse-validator-config"
	LighthouseDatadirFlag             = "lighthouse-datadir"
	TestnetDirFlag                    = "testnet-dir"

	ValidatorTagFlag                = "validator-tag"
	ValidatorDatadirFlag            = "validator-datadir"
	ValidatorWalletPasswordFileFlag = "validator-wallet-password"
	ValidatorWalletDirFlag          = "validator-wallet-dir"
	ValidatorConfigFileFlag         = "validator-config"
	ValidatorChainConfigFileFlag    = "validator-chain-config"

	TekuTagFlag                 = "teku-tag"
	TekuDatadirFlag             = "teku-datadir"
	TekuConfigFileFlag          = "teku-config"
	TekuValidatorConfigFileFlag = "teku-validator-config"

	Nimbus2TagFlag                 = "nimbus2-tag"
	Nimbus2CommitHashFlag          = "nimbus2-commit-hash"
	Nimbus2NetworkFlag             = "nimbus2-network"
	Nimbus2DatadirFlag             = "nimbus2-datadir"
	Nimbus2ConfigFileFlag          = "nimbus2-config"
	Nimbus2ValidatorConfigFileFlag = "nimbus2-validator-config"

	MainnetFlag   = "mainnet"
	TestnetFlag   = "testnet"
	DevnetFlag    = "devnet"
	ValidatorFlag = "validator"
	ConsensusFlag = "consensus"
	ExecutionFlag = "execution"

	LogFolderFlag = "logs-folder"

	ValidatorKeysFlag           = "validator-keys"
	ValidatorPasswordFlag       = "validator-password"
	KeystoreFlag                = "keystore"
	RpcAddressFlag              = "rpc-address"
	CheckpointSyncFlag          = "checkpoint-sync"
	TransactionFeeRecipientFlag = "transaction-fee-recipient"
	AgreeTermsFlag              = "agree-terms"
	AllFlag                     = "all"

	ExecutionClientHost = "execution-client-host"
	ConsensusClientHost = "consensus-client-host"
	ValidatorClientHost = "validator-client-host"
	ExecutionClientPort = "execution-client-port"
	ConsensusClientPort = "consensus-client-port"
	ValidatorClientPort = "validator-client-port"
)

Variables

View Source
var (
	NetworkFlags = []cli.Flag{
		mainnetEnabledFlag,
		testnetEnabledFlag,
		devnetEnabledFlag,
	}

	ValidatorImportFlags = []cli.Flag{
		&cli.StringFlag{
			Name:   ValidatorWalletDirFlag,
			Usage:  "Selected wallet",
			Hidden: true,
		},
		&cli.StringFlag{
			Name:   ValidatorDatadirFlag,
			Usage:  "Selected wallet",
			Hidden: true,
		},
		&cli.StringFlag{
			Name:     ValidatorKeysFlag,
			Usage:    "Location of your validator keys",
			Required: true,
		},
		&cli.StringFlag{
			Name:  ValidatorPasswordFlag,
			Usage: "Location of your validator keys' password",
		},
	}

	ValidatorListFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  ValidatorWalletDirFlag,
			Usage: "Path to wallet containing validators that you want to exit - this flag is required when using Prysm validator",
		},
	}
	ValidatorExitFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  KeystoreFlag,
			Usage: "Path to keystore containing public key that you want to exit - this flag is required when using Lighthouse validator",
		},
		&cli.StringFlag{
			Name:  ValidatorWalletDirFlag,
			Usage: "Path to wallet containing validators that you want to exit - this flag is required when using Prysm validator",
		},
		&cli.StringFlag{
			Name:  RpcAddressFlag,
			Usage: "Address of node that is used to make an exit (defaults to the default RPC address provided by your selected client)",
		},
		&cli.StringFlag{
			Name:  TestnetDirFlag,
			Usage: "Path to network configuration folder",
			Value: configs.MainnetConfig + "/shared",
		},
	}
	InstallFlags = []cli.Flag{
		&cli.BoolFlag{
			Name:  AgreeTermsFlag,
			Usage: "Automatically accept Terms and Conditions",
			Value: false,
		},
	}
	UpdateConfigFlags = []cli.Flag{
		&cli.BoolFlag{
			Name:  AllFlag,
			Usage: "Updates all configuration files, including configurations for each client",
			Value: false,
		},
	}
	StopFlags = []cli.Flag{
		executionSelectedFlag,
		consensusSelectedFlag,
		validatorSelectedFlag,
	}

	StartFlags = []cli.Flag{
		&cli.BoolFlag{
			Name:  ValidatorFlag,
			Usage: "Run LUKSO node with validator",
			Value: false,
		},
		&cli.BoolFlag{
			Name:  NoSlasherFlag,
			Usage: "Disables slasher",
			Value: false,
		},
		&cli.StringFlag{
			Name:  TransactionFeeRecipientFlag,
			Usage: "Address to receive fees from blocks",
		},
		&cli.StringFlag{
			Name:  LogFolderFlag,
			Usage: "Directory to output logs into",
			Value: configs.MainnetLogs,
		},
		&cli.BoolFlag{
			Name:  CheckpointSyncFlag,
			Usage: "Run a node with checkpoint sync feature",
		},
	}
	LogsFlags        []cli.Flag
	ResetFlags       []cli.Flag
	AppFlags         []cli.Flag
	StatusPeersFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  ExecutionClientHost,
			Usage: "Host for execution client",
			Value: "localhost",
		},
		&cli.StringFlag{
			Name:  ConsensusClientHost,
			Usage: "Host for consensus client",
			Value: "localhost",
		},
		&cli.StringFlag{
			Name:  ValidatorClientHost,
			Usage: "Host for validator client",
			Value: "localhost",
		},
		&cli.IntFlag{
			Name:  ExecutionClientPort,
			Usage: "Port for execution client (Defaults to: 8545: Geth, Erigon)",
		},
		&cli.IntFlag{
			Name:  ConsensusClientPort,
			Usage: "Port for consensus client (Defaults to: 3500: Prysm | 4000: Lighthouse)",
		},
		&cli.IntFlag{
			Name:  ValidatorClientPort,
			Usage: "Port for validator client (Defaults to: 8545: Geth, Erigon)",
		},
	}

	GethDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  GethTagFlag,
			Usage: "A tag of geth you would like to run",
			Value: common.GethTag,
		},
		&cli.StringFlag{
			Name:  GethCommitHashFlag,
			Usage: "A hash of commit that is bound to given release tag",
			Value: common.GethCommitHash,
		},
	}

	GethStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:   GethDatadirFlag,
			Usage:  "Geth datadir",
			Value:  configs.ExecutionMainnetDatadir,
			Hidden: true,
		},
		&cli.StringFlag{
			Name:  GethConfigFileFlag,
			Usage: "Path to geth.toml config file",
			Value: configs.MainnetConfig + "/" + configs.GethTomlPath,
		},
		&cli.StringFlag{
			Name:  GenesisJsonFlag,
			Usage: "Path to genesis.json file",
			Value: configs.MainnetConfig + "/" + configs.GenesisJsonPath,
		},
	}

	GethLogsFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  LogFolderFlag,
			Usage: "Directory to output logs into",
			Value: "./mainnet-logs",
		},
	}

	GethResetFlags = []cli.Flag{
		&cli.StringFlag{
			Name:   GethDatadirFlag,
			Usage:  "geth datadir",
			Value:  configs.ExecutionMainnetDatadir,
			Hidden: true,
		},
	}

	ErigonDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  ErigonTagFlag,
			Usage: "Tag for erigon",
			Value: common.ErigonTag,
		},
	}
	ErigonStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  ErigonConfigFileFlag,
			Usage: "Path to erigon.toml config file",
			Value: configs.MainnetConfig + "/" + configs.ErigonTomlPath,
		},
		&cli.StringFlag{
			Name:  ErigonDatadirFlag,
			Usage: "Erigon datadir",
			Value: configs.ExecutionMainnetDatadir,
		},
	}

	NethermindDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  NethermindTagFlag,
			Usage: "Tag for nethermind",
			Value: common.NethermindTag,
		},
		&cli.StringFlag{
			Name:  NethermindCommitHashFlag,
			Usage: "A hash of commit that is bound to given release tag",
			Value: common.NethermindCommitHash,
		},
	}
	NethermindStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  NethermindConfigFileFlag,
			Usage: "Path to nethermind.json config file",
			Value: configs.MainnetConfig + "/" + configs.NethermindJsonPath,
		},
		&cli.StringFlag{
			Name:  NethermindDatadirFlag,
			Usage: "Nethermind datadir",
			Value: configs.ExecutionMainnetDatadir,
		},
	}

	BesuDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  BesuTagFlag,
			Usage: "Tag for besu",
			Value: common.BesuTag,
		},
	}
	BesuStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  BesuConfigFileFlag,
			Usage: "Path to besu.toml config file",
			Value: configs.MainnetConfig + "/" + configs.BesuTomlPath,
		},
		&cli.StringFlag{
			Name:  BesuDatadirFlag,
			Usage: "Besu datadir",
			Value: configs.ExecutionMainnetDatadir,
		},
	}

	PrysmDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  PrysmTagFlag,
			Usage: "Tag for prysm",
			Value: common.PrysmTag,
		},
	}
	PrysmStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  GenesisStateFlag,
			Usage: "Path to genesis.ssz file",
			Value: configs.MainnetConfig + "/" + configs.GenesisStateFilePath,
		},
		&cli.StringFlag{
			Name:   PrysmDatadirFlag,
			Usage:  "Prysm datadir",
			Value:  configs.ConsensusMainnetDatadir,
			Hidden: true,
		},
		&cli.StringFlag{
			Name:   PrysmChainConfigFileFlag,
			Usage:  "Path to chain config file",
			Value:  configs.MainnetConfig + "/" + configs.ChainConfigYamlPath,
			Hidden: true,
		},
		&cli.StringFlag{
			Name:  PrysmConfigFileFlag,
			Usage: "Path to prysm.yaml config file",
			Value: configs.MainnetConfig + "/" + configs.PrysmYamlPath,
		},
	}
	PrysmLogsFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  LogFolderFlag,
			Usage: "Directory to output logs into",
			Value: "./mainnet-logs",
		},
	}
	PrysmResetFlags = []cli.Flag{
		&cli.StringFlag{
			Name:   PrysmDatadirFlag,
			Usage:  "prysm datadir",
			Value:  configs.ConsensusMainnetDatadir,
			Hidden: true,
		},
	}

	LighthouseDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  LighthouseTagFlag,
			Usage: "Tag for lighthouse",
			Value: common.LighthouseTag,
		},
	}
	LighthouseStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  LighthouseConfigFileFlag,
			Usage: "Path to lighthouse.toml config file",
			Value: configs.MainnetConfig + "/" + configs.LighthouseTomlPath,
		},
		&cli.StringFlag{
			Name:  LighthouseDatadirFlag,
			Usage: "Lighthouse datadir",
			Value: configs.ConsensusMainnetDatadir,
		},
		&cli.StringFlag{
			Name:  LighthouseValidatorConfigFileFlag,
			Usage: "Path to validator.toml config file",
			Value: configs.MainnetConfig + "/" + configs.LighthouseValidatorTomlPath,
		},
	}

	ValidatorDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  ValidatorTagFlag,
			Usage: "Tag for validator binary",
			Value: common.PrysmTag,
		},
	}
	ValidatorStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:   ValidatorDatadirFlag,
			Usage:  "Validator datadir",
			Value:  configs.ValidatorMainnetDatadir,
			Hidden: true,
		},
		&cli.StringFlag{
			Name:  ValidatorKeysFlag,
			Usage: "Location of generated wallet",
			Value: configs.MainnetKeystore,
		},
		&cli.StringFlag{
			Name:  ValidatorWalletPasswordFileFlag,
			Usage: "Location of the password file that you used to generate keys",
			Value: "",
		},
		&cli.StringFlag{
			Name:  ValidatorConfigFileFlag,
			Usage: "Path to validator.yaml config file",
			Value: configs.MainnetConfig + "/" + configs.ValidatorYamlPath,
		},
		&cli.StringFlag{
			Name:   ValidatorChainConfigFileFlag,
			Usage:  "Prysm chain config file path",
			Value:  configs.ChainConfigYamlPath,
			Hidden: true,
		},
	}
	ValidatorLogsFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  LogFolderFlag,
			Usage: "Directory to output logs into",
			Value: configs.MainnetLogs,
		},
	}
	ValidatorResetFlags = []cli.Flag{
		&cli.StringFlag{
			Name:   ValidatorDatadirFlag,
			Usage:  "Validator datadir",
			Value:  configs.ValidatorMainnetDatadir,
			Hidden: true,
		},
	}

	TekuDownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  TekuTagFlag,
			Usage: "Tag for teku client",
			Value: common.TekuTag,
		},
	}
	TekuStartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  TekuConfigFileFlag,
			Usage: "Path to teku.yaml config file",
			Value: configs.MainnetConfig + "/" + configs.TekuYamlPath,
		},
		&cli.StringFlag{
			Name:  TekuValidatorConfigFileFlag,
			Usage: "Path to validator.yaml config file",
			Value: configs.MainnetConfig + "/" + configs.TekuValidatorYamlPath,
		},
		&cli.StringFlag{
			Name:  TekuDatadirFlag,
			Usage: "Path to teku datadir",
			Value: configs.MainnetDatadir,
		},
	}

	Nimbus2DownloadFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  Nimbus2TagFlag,
			Usage: "Tag for nimbus-eth2 client",
			Value: common.Nimbus2Tag,
		},
		&cli.StringFlag{
			Name:  Nimbus2CommitHashFlag,
			Usage: "Commit hash for nimbus-eth2 client",
			Value: common.Nimbus2CommitHash,
		},
	}
	Nimbus2StartFlags = []cli.Flag{
		&cli.StringFlag{
			Name:  Nimbus2ConfigFileFlag,
			Usage: "Path to nimbus.toml config file",
			Value: configs.MainnetConfig + "/" + configs.Nimbus2TomlPath,
		},
		&cli.StringFlag{
			Name:  Nimbus2ValidatorConfigFileFlag,
			Usage: "Path to validator.toml config file",
			Value: configs.MainnetConfig + "/" + configs.Nimbus2ValidatorTomlPath,
		},
		&cli.StringFlag{
			Name:  Nimbus2DatadirFlag,
			Usage: "Path to nimbus2 datadir",
			Value: configs.MainnetDatadir,
		},
		&cli.StringFlag{
			Name:  Nimbus2NetworkFlag,
			Usage: "Path to nimbus2 config directory, useful when using the --network nimbus flag",
			Value: configs.MainnetConfig + "/" + configs.Nimbus2Path,
		},
	}
)

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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