Skip to content

MinerEtherbaseFlag (replaced upstream, not revived)

Source (upstream pre-purge) Current
File cmd/utils/flags.go flags.go
Symbol MinerEtherbaseFlag MinerPendingFeeRecipientFlag
Ref d8e0807da~1 etc/v1.17.4-full-node

COMPATIBILITY NOTE, not a revival — --miner.etherbase is intentionally NOT brought back. Upstream #28623 renamed it to --miner.pending.feeRecipient (field Miner.Etherbase → PendingFeeRecipient), leaving a warn-only no-op alias that #35021 then removed. getc keeps the upstream flag: on IsPow() chains eth.New seeds the mining etherbase from Miner.PendingFeeRecipient (see the "etherbase seed in New" extension point), so --mine --miner.pending.feeRecipient is the exact replacement for the old --mine --miner.etherbase. core-geth still ships --miner.etherbase (hex-address-only parser, byte-identical to the pre-#28623 original shown here); migrating miners only swap the flag name. If that friction matters later, a deprecated-alias revival is the natural follow-up. Either way the address is CLI-only in getc: PendingFeeRecipient is toml:"-", whereas core-geth's Etherbase was TOML-settable.

3-way merge — purge → getc ← upstream

pre-purgecore-geth≈ adapted (origin inferred by similarity)fork-only
var (
// General settings
DataDirFlag = &flags.DirectoryFlag{
Name: "datadir",
Usage: "Data directory for the databases and keystore",
Value: flags.DirectoryString(node.DefaultDataDir()),
Category: flags.EthCategory,
}
RemoteDBFlag = &cli.StringFlag{
Name: "remotedb",
Usage: "URL for remote database",
Category: flags.LoggingCategory,
}
DBEngineFlag = &cli.StringFlag{
Name: "db.engine",
Usage: "Backing database implementation to use ('pebble' or 'leveldb')",
Value: node.DefaultConfig.DBEngine,
Category: flags.EthCategory,
}
AncientFlag = &flags.DirectoryFlag{
Name: "datadir.ancient",
Usage: "Root directory for ancient data (default = inside chaindata)",
Category: flags.EthCategory,
}
EraFlag = &flags.DirectoryFlag{
Name: "datadir.era",
Usage: "Root directory for era1 history (default = inside ancient/chain)",
Category: flags.EthCategory,
}
MinFreeDiskSpaceFlag = &cli.IntFlag{
Name: "datadir.minfreedisk",
Usage: "Minimum free disk space in MB, once reached triggers auto shut down (default = --cache.gc converted to MB, 0 = disabled)",
Category: flags.EthCategory,
}
KeyStoreDirFlag = &flags.DirectoryFlag{
Name: "keystore",
Usage: "Directory for the keystore (default = inside the datadir)",
Category: flags.AccountCategory,
}
USBFlag = &cli.BoolFlag{
Name: "usb",
Usage: "Enable monitoring and management of USB hardware wallets",
Category: flags.AccountCategory,
}
SmartCardDaemonPathFlag = &cli.StringFlag{
Name: "pcscdpath",
Usage: "Path to the smartcard daemon (pcscd) socket file",
Value: pcsclite.PCSCDSockName,
Category: flags.AccountCategory,
}
NetworkIdFlag = &cli.Uint64Flag{
Name: "networkid",
Usage: "Explicitly set network ID (integer)(For testnets: use --sepolia, --holesky, --hoodi instead)",
Value: ethconfig.Defaults.NetworkId,
Category: flags.EthCategory,
}
MainnetFlag = &cli.BoolFlag{
Name: "mainnet",
Usage: "Ethereum mainnet",
Category: flags.EthCategory,
}
SepoliaFlag = &cli.BoolFlag{
Name: "sepolia",
Usage: "Sepolia network: pre-configured proof-of-stake test network",
Category: flags.EthCategory,
}
HoleskyFlag = &cli.BoolFlag{
Name: "holesky",
Usage: "Holesky network: pre-configured proof-of-stake test network",
Category: flags.EthCategory,
}
HoodiFlag = &cli.BoolFlag{
Name: "hoodi",
Usage: "Hoodi network: pre-configured proof-of-stake test network",
Category: flags.EthCategory,
}
// Dev mode
DeveloperFlag = &cli.BoolFlag{
Name: "dev",
Usage: "Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled",
Category: flags.DevCategory,
}
DeveloperPeriodFlag = &cli.Uint64Flag{
Name: "dev.period",
Usage: "Block period to use in developer mode (0 = mine only if transaction pending)",
Category: flags.DevCategory,
}
DeveloperGasLimitFlag = &cli.Uint64Flag{
Name: "dev.gaslimit",
Usage: "Initial block gas limit",
Value: 11500000,
Category: flags.DevCategory,
}
IdentityFlag = &cli.StringFlag{
Name: "identity",
Usage: "Custom node name",
Category: flags.NetworkingCategory,
}
ExitWhenSyncedFlag = &cli.BoolFlag{
Name: "exitwhensynced",
Usage: "Exits after block synchronisation completes",
Category: flags.EthCategory,
}
// Dump command options.
IterativeOutputFlag = &cli.BoolFlag{
Name: "iterative",
Usage: "Print streaming JSON iteratively, delimited by newlines",
Value: true,
}
ExcludeStorageFlag = &cli.BoolFlag{
Name: "nostorage",
Usage: "Exclude storage entries (save db lookups)",
}
IncludeIncompletesFlag = &cli.BoolFlag{
Name: "incompletes",
Usage: "Include accounts for which we don't have the address (missing preimage)",
}
ExcludeCodeFlag = &cli.BoolFlag{
Name: "nocode",
Usage: "Exclude contract code (save db lookups)",
}
StartKeyFlag = &cli.StringFlag{
Name: "start",
Usage: "Start position. Either a hash or address",
Value: "0x0000000000000000000000000000000000000000000000000000000000000000",
}
DumpLimitFlag = &cli.Uint64Flag{
Name: "limit",
Usage: "Max number of elements (0 = no limit)",
Value: 0,
}
AccountFlag = &cli.StringFlag{
Name: "account",
Usage: "Specifies the account address or hash to traverse a single storage trie",
}
OutputFileFlag = &cli.StringFlag{
Name: "output",
Usage: "Writes the result in json to the output",
Value: "",
}
SnapshotFlag = &cli.BoolFlag{
Name: "snapshot",
Usage: `Enables snapshot-database mode (default = enable)`,
Value: true,
Category: flags.EthCategory,
}
LightKDFFlag = &cli.BoolFlag{
Name: "lightkdf",
Usage: "Reduce key-derivation RAM & CPU usage at some expense of KDF strength",
Category: flags.AccountCategory,
}
EthRequiredBlocksFlag = &cli.StringFlag{
Name: "eth.requiredblocks",
Usage: "Comma separated block number-to-hash mappings to require for peering (<number>=<hash>)",
Category: flags.EthCategory,
}
BloomFilterSizeFlag = &cli.Uint64Flag{
Name: "bloomfilter.size",
Usage: "Megabytes of memory allocated to bloom-filter for pruning",
Value: 2048,
Category: flags.EthCategory,
}
OverrideOsaka = &cli.Uint64Flag{
Name: "override.osaka",
Usage: "Manually specify the Osaka fork timestamp, overriding the bundled setting",
Category: flags.EthCategory,
}
OverrideBPO1 = &cli.Uint64Flag{
Name: "override.bpo1",
Usage: "Manually specify the bpo1 fork timestamp, overriding the bundled setting",
Category: flags.EthCategory,
}
OverrideBPO2 = &cli.Uint64Flag{
Name: "override.bpo2",
Usage: "Manually specify the bpo2 fork timestamp, overriding the bundled setting",
Category: flags.EthCategory,
}
OverrideUBT = &cli.Uint64Flag{
Name: "override.ubt",
Usage: "Manually specify the UBT fork timestamp, overriding the bundled setting",
Category: flags.EthCategory,
}
OverrideGenesisFlag = &cli.StringFlag{
Name: "override.genesis",
Usage: "Load genesis block and configuration from file at this path",
Category: flags.EthCategory,
}
SyncModeFlag = &cli.StringFlag{
Name: "syncmode",
Usage: `Blockchain sync mode ("snap" or "full")`,
Value: ethconfig.Defaults.SyncMode.String(),
Category: flags.StateCategory,
}
GCModeFlag = &cli.StringFlag{
Name: "gcmode",
Usage: `Blockchain garbage collection mode ("full", "archive")`,
Value: "full",
Category: flags.StateCategory,
}
StateSchemeFlag = &cli.StringFlag{
Name: "state.scheme",
Usage: "Scheme to use for storing ethereum state ('hash' or 'path')",
Category: flags.StateCategory,
}
StateSizeTrackingFlag = &cli.BoolFlag{
Name: "state.size-tracking",
Usage: "Enable state size tracking, retrieve state size with debug_stateSize.",
Value: ethconfig.Defaults.EnableStateSizeTracking,
Category: flags.StateCategory,
}
SnapV2Flag = &cli.BoolFlag{
Name: "snap.v2",
Usage: "Enable the experimental snap/2 (EIP-8189, BAL-based) sync protocol (advertises and syncs via snap/2; not safe on public networks)",
Value: ethconfig.Defaults.SnapV2,
Category: flags.StateCategory,
}
BinTrieGroupDepthFlag = &cli.IntFlag{
Name: "bintrie.groupdepth",
Usage: "Number of levels per serialized group in binary trie (1-8, default 5). Lower values create smaller groups with more nodes.",
Value: 5,
Category: flags.StateCategory,
}
StateHistoryFlag = &cli.Uint64Flag{
Name: "history.state",
Usage: "Number of recent blocks to retain state history for, only relevant in state.scheme=path (default = 90,000 blocks, 0 = entire chain)",
Value: ethconfig.Defaults.StateHistory,
Category: flags.StateCategory,
}
TrienodeHistoryFlag = &cli.Int64Flag{
Name: "history.trienode",
Usage: "Number of recent blocks to retain trienode history for, only relevant in state.scheme=path (default/negative = disabled, 0 = entire chain)",
Value: ethconfig.Defaults.TrienodeHistory,
Category: flags.StateCategory,
}
TrienodeHistoryFullValueCheckpointFlag = &cli.UintFlag{
Name: "history.trienode.full-value-checkpoint",
Usage: "The frequency of full-value encoding. Every n-th node is stored in full-value format; all other nodes are stored as diffs relative to their predecessor",
Value: uint(ethconfig.Defaults.NodeFullValueCheckpoint),
Category: flags.StateCategory,
}
TransactionHistoryFlag = &cli.Uint64Flag{
Name: "history.transactions",
Usage: "Number of recent blocks to maintain transactions index for (default = about one year, 0 = entire chain)",
Value: ethconfig.Defaults.TransactionHistory,
Category: flags.StateCategory,
}
ChainHistoryFlag = &cli.StringFlag{
Name: "history.chain",
Usage: `Blockchain history retention ("all", "postmerge", or "postprague")`,
Value: ethconfig.Defaults.HistoryMode.String(),
Category: flags.StateCategory,
}
LogHistoryFlag = &cli.Uint64Flag{
Name: "history.logs",
Usage: "Number of recent blocks to maintain log search index for (default = about one year, 0 = entire chain)",
Value: ethconfig.Defaults.LogHistory,
Category: flags.StateCategory,
}
LogNoHistoryFlag = &cli.BoolFlag{
Name: "history.logs.disable",
Usage: "Do not maintain log search index",
Category: flags.StateCategory,
}
LogExportCheckpointsFlag = &cli.StringFlag{
Name: "history.logs.export",
Usage: "Export checkpoints to file in go source file format",
Category: flags.StateCategory,
Value: "",
}
// Beacon client light sync settings
BeaconApiFlag = &cli.StringSliceFlag{
Name: "beacon.api",
Usage: "Beacon node (CL) light client API URL. This flag can be given multiple times.",
Category: flags.BeaconCategory,
}
BeaconApiHeaderFlag = &cli.StringSliceFlag{
Name: "beacon.api.header",
Usage: "Pass custom HTTP header fields to the remote beacon node API in \"key:value\" format. This flag can be given multiple times.",
Category: flags.BeaconCategory,
}
BeaconThresholdFlag = &cli.IntFlag{
Name: "beacon.threshold",
Usage: "Beacon sync committee participation threshold",
Value: bparams.SyncCommitteeSupermajority,
Category: flags.BeaconCategory,
}
BeaconNoFilterFlag = &cli.BoolFlag{
Name: "beacon.nofilter",
Usage: "Disable future slot signature filter",
Category: flags.BeaconCategory,
}
BeaconConfigFlag = &cli.StringFlag{
Name: "beacon.config",
Usage: "Beacon chain config YAML file",
Category: flags.BeaconCategory,
}
BeaconGenesisRootFlag = &cli.StringFlag{
Name: "beacon.genesis.gvroot",
Usage: "Beacon chain genesis validators root",
Category: flags.BeaconCategory,
}
BeaconGenesisTimeFlag = &cli.Uint64Flag{
Name: "beacon.genesis.time",
Usage: "Beacon chain genesis time",
Category: flags.BeaconCategory,
}
BeaconCheckpointFlag = &cli.StringFlag{
Name: "beacon.checkpoint",
Usage: "Beacon chain weak subjectivity checkpoint block hash",
Category: flags.BeaconCategory,
}
BeaconCheckpointFileFlag = &cli.StringFlag{
Name: "beacon.checkpoint.file",
Usage: "Beacon chain weak subjectivity checkpoint import/export file",
Category: flags.BeaconCategory,
}
BlsyncApiFlag = &cli.StringFlag{
Name: "blsync.engine.api",
Usage: "Target EL engine API URL",
Category: flags.BeaconCategory,
}
BlsyncJWTSecretFlag = &flags.DirectoryFlag{
Name: "blsync.jwtsecret",
Usage: "Path to a JWT secret to use for target engine API endpoint",
Category: flags.BeaconCategory,
}
// Transaction pool settings
TxPoolLocalsFlag = &cli.StringFlag{
Name: "txpool.locals",
Usage: "Comma separated accounts to treat as locals (no flush, priority inclusion)",
Category: flags.TxPoolCategory,
}
TxPoolNoLocalsFlag = &cli.BoolFlag{
Name: "txpool.nolocals",
Usage: "Disables price exemptions for locally submitted transactions",
Category: flags.TxPoolCategory,
}
TxPoolJournalFlag = &cli.StringFlag{
Name: "txpool.journal",
Usage: "Disk journal for local transaction to survive node restarts",
Value: ethconfig.Defaults.TxPool.Journal,
Category: flags.TxPoolCategory,
}
TxPoolRejournalFlag = &cli.DurationFlag{
Name: "txpool.rejournal",
Usage: "Time interval to regenerate the local transaction journal",
Value: ethconfig.Defaults.TxPool.Rejournal,
Category: flags.TxPoolCategory,
}
TxPoolPriceLimitFlag = &cli.Uint64Flag{
Name: "txpool.pricelimit",
Usage: "Minimum gas price tip to enforce for acceptance into the pool",
Value: ethconfig.Defaults.TxPool.PriceLimit,
Category: flags.TxPoolCategory,
}
TxPoolPriceBumpFlag = &cli.Uint64Flag{
Name: "txpool.pricebump",
Usage: "Price bump percentage to replace an already existing transaction",
Value: ethconfig.Defaults.TxPool.PriceBump,
Category: flags.TxPoolCategory,
}
TxPoolAccountSlotsFlag = &cli.Uint64Flag{
Name: "txpool.accountslots",
Usage: "Minimum number of executable transaction slots guaranteed per account",
Value: ethconfig.Defaults.TxPool.AccountSlots,
Category: flags.TxPoolCategory,
}
TxPoolGlobalSlotsFlag = &cli.Uint64Flag{
Name: "txpool.globalslots",
Usage: "Maximum number of executable transaction slots for all accounts",
Value: ethconfig.Defaults.TxPool.GlobalSlots,
Category: flags.TxPoolCategory,
}
TxPoolAccountQueueFlag = &cli.Uint64Flag{
Name: "txpool.accountqueue",
Usage: "Maximum number of non-executable transaction slots permitted per account",
Value: ethconfig.Defaults.TxPool.AccountQueue,
Category: flags.TxPoolCategory,
}
TxPoolGlobalQueueFlag = &cli.Uint64Flag{
Name: "txpool.globalqueue",
Usage: "Maximum number of non-executable transaction slots for all accounts",
Value: ethconfig.Defaults.TxPool.GlobalQueue,
Category: flags.TxPoolCategory,
}
TxPoolLifetimeFlag = &cli.DurationFlag{
Name: "txpool.lifetime",
Usage: "Maximum amount of time non-executable transaction are queued",
Value: ethconfig.Defaults.TxPool.Lifetime,
Category: flags.TxPoolCategory,
}
// Blob transaction pool settings
BlobPoolDataDirFlag = &cli.StringFlag{
Name: "blobpool.datadir",
Usage: "Data directory to store blob transactions in",
Value: ethconfig.Defaults.BlobPool.Datadir,
Category: flags.BlobPoolCategory,
}
BlobPoolDataCapFlag = &cli.Uint64Flag{
Name: "blobpool.datacap",
Usage: "Disk space to allocate for pending blob transactions (soft limit)",
Value: ethconfig.Defaults.BlobPool.Datacap,
Category: flags.BlobPoolCategory,
}
BlobPoolPriceBumpFlag = &cli.Uint64Flag{
Name: "blobpool.pricebump",
Usage: "Price bump percentage to replace an already existing blob transaction",
Value: ethconfig.Defaults.BlobPool.PriceBump,
Category: flags.BlobPoolCategory,
}
// Performance tuning settings
CacheFlag = &cli.IntFlag{
Name: "cache",
Usage: "Megabytes of memory allocated to internal caching",
Value: 4096,
Category: flags.PerfCategory,
}
CacheDatabaseFlag = &cli.IntFlag{
Name: "cache.database",
Usage: "Percentage of cache memory allowance to use for database io",
Value: 50,
Category: flags.PerfCategory,
}
CacheTrieFlag = &cli.IntFlag{
Name: "cache.trie",
Usage: "Percentage of cache memory allowance to use for trie caching (default = 15% full mode, 30% archive mode)",
Value: 15,
Category: flags.PerfCategory,
}
CacheGCFlag = &cli.IntFlag{
Name: "cache.gc",
Usage: "Percentage of cache memory allowance to use for trie pruning (default = 25% full mode, 0% archive mode)",
Value: 25,
Category: flags.PerfCategory,
}
CacheSnapshotFlag = &cli.IntFlag{
Name: "cache.snapshot",
Usage: "Percentage of cache memory allowance to use for snapshot caching (default = 10% full mode, 20% archive mode)",
Value: 10,
Category: flags.PerfCategory,
}
CacheNoPrefetchFlag = &cli.BoolFlag{
Name: "cache.noprefetch",
Usage: "Disable heuristic state prefetch during block import (less CPU and disk IO, more time waiting for data)",
Category: flags.PerfCategory,
}
CachePreimagesFlag = &cli.BoolFlag{
Name: "cache.preimages",
Usage: "Enable recording the SHA3/keccak preimages of trie keys",
Category: flags.PerfCategory,
}
CacheLogSizeFlag = &cli.IntFlag{
Name: "cache.blocklogs",
Usage: "Size (in number of blocks) of the log cache for filtering",
Category: flags.PerfCategory,
Value: ethconfig.Defaults.FilterLogCacheSize,
}
FDLimitFlag = &cli.IntFlag{
Name: "fdlimit",
Usage: "Raise the open file descriptor resource limit (default = system fd limit)",
Category: flags.PerfCategory,
}
CryptoKZGFlag = &cli.StringFlag{
Name: "crypto.kzg",
Usage: "KZG library implementation to use; gokzg (recommended) or ckzg",
Value: "gokzg",
Category: flags.PerfCategory,
}
// Miner settings
MinerGasLimitFlag = &cli.Uint64Flag{
Name: "miner.gaslimit",
Usage: "Target gas ceiling for mined blocks",
Value: ethconfig.Defaults.Miner.GasCeil,
Category: flags.MinerCategory,
}
MinerGasPriceFlag = &flags.BigFlag{
Name: "miner.gasprice",
Usage: "Minimum gas price for mining a transaction",
Value: ethconfig.Defaults.Miner.GasPrice,
Category: flags.MinerCategory,
}
MinerExtraDataFlag = &cli.StringFlag{
Name: "miner.extradata",
Usage: "Block extra data set by the miner (default = client version)",
Category: flags.MinerCategory,
}
MinerRecommitIntervalFlag = &cli.DurationFlag{
Name: "miner.recommit",
Usage: "Time interval to recreate the block being mined",
Value: ethconfig.Defaults.Miner.Recommit,
Category: flags.MinerCategory,
}
MinerPendingFeeRecipientFlag = &cli.StringFlag{
Name: "miner.pending.feeRecipient",
Usage: "0x prefixed public address for the pending block producer (not used for actual block production)",
Category: flags.MinerCategory,
}
MinerMaxBlobsFlag = &cli.IntFlag{
Name: "miner.maxblobs",
Usage: "Maximum number of blobs per block (falls back to protocol maximum if unspecified)",
Category: flags.MinerCategory,
}
// Account settings
PasswordFileFlag = &cli.PathFlag{
Name: "password",
Usage: "Password file to use for non-interactive password input",
TakesFile: true,
Category: flags.AccountCategory,
}
ExternalSignerFlag = &cli.StringFlag{
Name: "signer",
Usage: "External signer (url or path to ipc file)",
Value: "",
Category: flags.AccountCategory,
}
// EVM settings
VMEnableDebugFlag = &cli.BoolFlag{
Name: "vmdebug",
Usage: "Record information useful for VM and contract debugging",
Category: flags.VMCategory,
}
VMTraceFlag = &cli.StringFlag{
Name: "vmtrace",
Usage: "Name of tracer which should record internal VM operations (costly)",
Category: flags.VMCategory,
}
VMTraceJsonConfigFlag = &cli.StringFlag{
Name: "vmtrace.jsonconfig",
Usage: "Tracer configuration (JSON)",
Value: "{}",
Category: flags.VMCategory,
}
VMWitnessStatsFlag = &cli.BoolFlag{
Name: "vmwitnessstats",
Usage: "Enable collection of witness trie access statistics (automatically enables witness generation)",
Category: flags.VMCategory,
}
VMStatelessSelfValidationFlag = &cli.BoolFlag{
Name: "stateless-self-validation",
Usage: "Generate execution witnesses and self-check against them (testing purpose)",
Category: flags.VMCategory,
}
// API options.
RPCGlobalGasCapFlag = &cli.Uint64Flag{
Name: "rpc.gascap",
Usage: "Sets a cap on gas that can be used in eth_call/estimateGas (0=infinite)",
Value: ethconfig.Defaults.RPCGasCap,
Category: flags.APICategory,
}
RPCGlobalEVMTimeoutFlag = &cli.DurationFlag{
Name: "rpc.evmtimeout",
Usage: "Sets a timeout used for eth_call (0=infinite)",
Value: ethconfig.Defaults.RPCEVMTimeout,
Category: flags.APICategory,
}
RPCGlobalTxFeeCapFlag = &cli.Float64Flag{
Name: "rpc.txfeecap",
Usage: "Sets a cap on transaction fee (in ether) that can be sent via the RPC APIs (0 = no cap)",
Value: ethconfig.Defaults.RPCTxFeeCap,
Category: flags.APICategory,
}
RPCGlobalLogQueryLimit = &cli.IntFlag{
Name: "rpc.logquerylimit",
Usage: "Maximum number of alternative addresses or topics allowed per search position in eth_getLogs filter criteria (0 = no cap)",
Value: ethconfig.Defaults.LogQueryLimit,
Category: flags.APICategory,
}
RPCTxSyncDefaultTimeoutFlag = &cli.DurationFlag{
Name: "rpc.txsync.defaulttimeout",
Usage: "Default timeout for eth_sendRawTransactionSync (e.g. 2s, 500ms)",
Value: ethconfig.Defaults.TxSyncDefaultTimeout,
Category: flags.APICategory,
}
RPCTxSyncMaxTimeoutFlag = &cli.DurationFlag{
Name: "rpc.txsync.maxtimeout",
Usage: "Maximum allowed timeout for eth_sendRawTransactionSync (e.g. 5m)",
Value: ethconfig.Defaults.TxSyncMaxTimeout,
Category: flags.APICategory,
}
RPCGlobalRangeLimitFlag = &cli.Uint64Flag{
Name: "rpc.rangelimit",
Usage: "Maximum block range (end - begin) allowed for range queries (0 = unlimited)",
Value: ethconfig.Defaults.RangeLimit,
Category: flags.APICategory,
}
// Authenticated RPC HTTP settings
AuthListenFlag = &cli.StringFlag{
Name: "authrpc.addr",
Usage: "Listening address for authenticated APIs",
Value: node.DefaultConfig.AuthAddr,
Category: flags.APICategory,
}
AuthPortFlag = &cli.IntFlag{
Name: "authrpc.port",
Usage: "Listening port for authenticated APIs",
Value: node.DefaultConfig.AuthPort,
Category: flags.APICategory,
}
AuthVirtualHostsFlag = &cli.StringFlag{
Name: "authrpc.vhosts",
Usage: "Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.",
Value: strings.Join(node.DefaultConfig.AuthVirtualHosts, ","),
Category: flags.APICategory,
}
JWTSecretFlag = &flags.DirectoryFlag{
Name: "authrpc.jwtsecret",
Usage: "Path to a JWT secret to use for authenticated RPC endpoints",
Category: flags.APICategory,
}
// Logging and debug settings
EthStatsURLFlag = &cli.StringFlag{
Name: "ethstats",
Usage: "Reporting URL of a ethstats service (nodename:secret@host:port)",
Category: flags.MetricsCategory,
}
NoCompactionFlag = &cli.BoolFlag{
Name: "nocompaction",
Usage: "Disables db compaction after import",
Category: flags.LoggingCategory,
}
LogSlowBlockFlag = &cli.DurationFlag{
Name: "debug.logslowblock",
Usage: "Block execution time threshold beyond which detailed statistics will be logged (0 logs all blocks, negative means disable)",
Value: ethconfig.Defaults.SlowBlockThreshold,
Category: flags.LoggingCategory,
}
// MISC settings
SyncTargetFlag = &cli.StringFlag{
Name: "synctarget",
Usage: `Hash of the block to full sync to (dev testing feature)`,
TakesFile: true,
Category: flags.MiscCategory,
}
// RPC settings
IPCDisabledFlag = &cli.BoolFlag{
Name: "ipcdisable",
Usage: "Disable the IPC-RPC server",
Category: flags.APICategory,
}
IPCPathFlag = &flags.DirectoryFlag{
Name: "ipcpath",
Usage: "Filename for IPC socket/pipe within the datadir (explicit paths escape it)",
Category: flags.APICategory,
}
HTTPEnabledFlag = &cli.BoolFlag{
Name: "http",
Usage: "Enable the HTTP-RPC server",
Category: flags.APICategory,
}
HTTPListenAddrFlag = &cli.StringFlag{
Name: "http.addr",
Usage: "HTTP-RPC server listening interface",
Value: node.DefaultHTTPHost,
Category: flags.APICategory,
}
HTTPPortFlag = &cli.IntFlag{
Name: "http.port",
Usage: "HTTP-RPC server listening port",
Value: node.DefaultHTTPPort,
Category: flags.APICategory,
}
HTTPCORSDomainFlag = &cli.StringFlag{
Name: "http.corsdomain",
Usage: "Comma separated list of domains from which to accept cross origin requests (browser enforced)",
Value: "",
Category: flags.APICategory,
}
HTTPVirtualHostsFlag = &cli.StringFlag{
Name: "http.vhosts",
Usage: "Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.",
Value: strings.Join(node.DefaultConfig.HTTPVirtualHosts, ","),
Category: flags.APICategory,
}
HTTPApiFlag = &cli.StringFlag{
Name: "http.api",
Usage: "API's offered over the HTTP-RPC interface",
Value: "",
Category: flags.APICategory,
}
HTTPPathPrefixFlag = &cli.StringFlag{
Name: "http.rpcprefix",
Usage: "HTTP path prefix on which JSON-RPC is served. Use '/' to serve on all paths.",
Value: "",
Category: flags.APICategory,
}
GraphQLEnabledFlag = &cli.BoolFlag{
Name: "graphql",
Usage: "Enable GraphQL on the HTTP-RPC server. Note that GraphQL can only be started if an HTTP server is started as well.",
Category: flags.APICategory,
}
GraphQLCORSDomainFlag = &cli.StringFlag{
Name: "graphql.corsdomain",
Usage: "Comma separated list of domains from which to accept cross origin requests (browser enforced)",
Value: "",
Category: flags.APICategory,
}
GraphQLVirtualHostsFlag = &cli.StringFlag{
Name: "graphql.vhosts",
Usage: "Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.",
Value: strings.Join(node.DefaultConfig.GraphQLVirtualHosts, ","),
Category: flags.APICategory,
}
WSEnabledFlag = &cli.BoolFlag{
Name: "ws",
Usage: "Enable the WS-RPC server",
Category: flags.APICategory,
}
WSListenAddrFlag = &cli.StringFlag{
Name: "ws.addr",
Usage: "WS-RPC server listening interface",
Value: node.DefaultWSHost,
Category: flags.APICategory,
}
WSPortFlag = &cli.IntFlag{
Name: "ws.port",
Usage: "WS-RPC server listening port",
Value: node.DefaultWSPort,
Category: flags.APICategory,
}
WSApiFlag = &cli.StringFlag{
Name: "ws.api",
Usage: "API's offered over the WS-RPC interface",
Value: "",
Category: flags.APICategory,
}
WSAllowedOriginsFlag = &cli.StringFlag{
Name: "ws.origins",
Usage: "Origins from which to accept websockets requests",
Value: "",
Category: flags.APICategory,
}
WSPathPrefixFlag = &cli.StringFlag{
Name: "ws.rpcprefix",
Usage: "HTTP path prefix on which JSON-RPC is served. Use '/' to serve on all paths.",
Value: "",
Category: flags.APICategory,
}
ExecFlag = &cli.StringFlag{
Name: "exec",
Usage: "Execute JavaScript statement",
Category: flags.APICategory,
}
PreloadJSFlag = &cli.StringFlag{
Name: "preload",
Usage: "Comma separated list of JavaScript files to preload into the console",
Category: flags.APICategory,
}
AllowUnprotectedTxs = &cli.BoolFlag{
Name: "rpc.allow-unprotected-txs",
Usage: "Allow for unprotected (non EIP155 signed) transactions to be submitted via RPC",
Category: flags.APICategory,
}
BatchRequestLimit = &cli.IntFlag{
Name: "rpc.batch-request-limit",
Usage: "Maximum number of requests in a batch",
Value: node.DefaultConfig.BatchRequestLimit,
Category: flags.APICategory,
}
BatchResponseMaxSize = &cli.IntFlag{
Name: "rpc.batch-response-max-size",
Usage: "Maximum number of bytes returned from a batched call",
Value: node.DefaultConfig.BatchResponseMaxSize,
Category: flags.APICategory,
}
// Network Settings
MaxPeersFlag = &cli.IntFlag{
Name: "maxpeers",
Usage: "Maximum number of network peers (network disabled if set to 0)",
Value: node.DefaultConfig.P2P.MaxPeers,
Category: flags.NetworkingCategory,
}
MaxPendingPeersFlag = &cli.IntFlag{
Name: "maxpendpeers",
Usage: "Maximum number of pending connection attempts (defaults used if set to 0)",
Value: node.DefaultConfig.P2P.MaxPendingPeers,
Category: flags.NetworkingCategory,
}
ListenPortFlag = &cli.IntFlag{
Name: "port",
Usage: "Network listening port",
Value: 30303,
Category: flags.NetworkingCategory,
}
BootnodesFlag = &cli.StringFlag{
Name: "bootnodes",
Usage: "Comma separated enode URLs for P2P discovery bootstrap",
Value: "",
Category: flags.NetworkingCategory,
}
NodeKeyFileFlag = &cli.StringFlag{
Name: "nodekey",
Usage: "P2P node key file",
Category: flags.NetworkingCategory,
}
NodeKeyHexFlag = &cli.StringFlag{
Name: "nodekeyhex",
Usage: "P2P node key as hex (for testing)",
Category: flags.NetworkingCategory,
}
NATFlag = &cli.StringFlag{
Name: "nat",
Usage: "NAT port mapping mechanism (any|none|upnp|pmp|pmp:<IP>|extip:<IP>|stun:<IP:PORT>)",
Value: "any",
Category: flags.NetworkingCategory,
}
NoDiscoverFlag = &cli.BoolFlag{
Name: "nodiscover",
Usage: "Disables the peer discovery mechanism (manual peer addition)",
Category: flags.NetworkingCategory,
}
DiscoveryV4Flag = &cli.BoolFlag{
Name: "discovery.v4",
Aliases: []string{"discv4"},
Usage: "Enables the V4 discovery mechanism",
Category: flags.NetworkingCategory,
Value: node.DefaultConfig.P2P.DiscoveryV4,
}
DiscoveryV5Flag = &cli.BoolFlag{
Name: "discovery.v5",
Aliases: []string{"discv5"},
Usage: "Enables the V5 discovery mechanism",
Category: flags.NetworkingCategory,
Value: node.DefaultConfig.P2P.DiscoveryV5,
}
NetrestrictFlag = &cli.StringFlag{
Name: "netrestrict",
Usage: "Restricts network communication to the given IP networks (CIDR masks)",
Category: flags.NetworkingCategory,
}
DNSDiscoveryFlag = &cli.StringFlag{
Name: "discovery.dns",
Usage: "Sets DNS discovery entry points (use \"\" to disable DNS)",
Category: flags.NetworkingCategory,
}
DiscoveryPortFlag = &cli.IntFlag{
Name: "discovery.port",
Usage: "Use a custom UDP port for P2P discovery",
Value: 30303,
Category: flags.NetworkingCategory,
}
// Console
JSpathFlag = &flags.DirectoryFlag{
Name: "jspath",
Usage: "JavaScript root path for `loadScript`",
Value: flags.DirectoryString("."),
Category: flags.APICategory,
}
HttpHeaderFlag = &cli.StringSliceFlag{
Name: "header",
Aliases: []string{"H"},
Usage: "Pass custom headers to the RPC server when using --" + RemoteDBFlag.Name + " or the geth attach console. This flag can be given multiple times.",
Category: flags.APICategory,
}
// Gas price oracle settings
GpoBlocksFlag = &cli.IntFlag{
Name: "gpo.blocks",
Usage: "Number of recent blocks to check for gas prices",
Value: ethconfig.Defaults.GPO.Blocks,
Category: flags.GasPriceCategory,
}
GpoPercentileFlag = &cli.IntFlag{
Name: "gpo.percentile",
Usage: "Suggested gas price is the given percentile of a set of recent transaction gas prices",
Value: ethconfig.Defaults.GPO.Percentile,
Category: flags.GasPriceCategory,
}
GpoMaxGasPriceFlag = &cli.Int64Flag{
Name: "gpo.maxprice",
Usage: "Maximum transaction priority fee (or gasprice before London fork) to be recommended by gpo",
Value: ethconfig.Defaults.GPO.MaxPrice.Int64(),
Category: flags.GasPriceCategory,
}
GpoIgnoreGasPriceFlag = &cli.Int64Flag{
Name: "gpo.ignoreprice",
Usage: "Gas price below which gpo will ignore transactions",
Value: ethconfig.Defaults.GPO.IgnorePrice.Int64(),
Category: flags.GasPriceCategory,
}
// Metrics flags
MetricsEnabledFlag = &cli.BoolFlag{
Name: "metrics",
Usage: "Enable metrics collection and reporting",
Category: flags.MetricsCategory,
}
// MetricsHTTPFlag defines the endpoint for a stand-alone metrics HTTP endpoint.
// Since the pprof service enables sensitive/vulnerable behavior, this allows a user
// to enable a public-OK metrics endpoint without having to worry about ALSO exposing
// other profiling behavior or information.
MetricsHTTPFlag = &cli.StringFlag{
Name: "metrics.addr",
Usage: `Enable stand-alone metrics HTTP server listening interface.`,
Category: flags.MetricsCategory,
}
MetricsPortFlag = &cli.IntFlag{
Name: "metrics.port",
Usage: `Metrics HTTP server listening port.
Please note that --` + MetricsHTTPFlag.Name + ` must be set to start the server.`,
Value: metrics.DefaultConfig.Port,
Category: flags.MetricsCategory,
}
MetricsEnableInfluxDBFlag = &cli.BoolFlag{
Name: "metrics.influxdb",
Usage: "Enable metrics export/push to an external InfluxDB database",
Category: flags.MetricsCategory,
}
MetricsInfluxDBEndpointFlag = &cli.StringFlag{
Name: "metrics.influxdb.endpoint",
Usage: "InfluxDB API endpoint to report metrics to",
Value: metrics.DefaultConfig.InfluxDBEndpoint,
Category: flags.MetricsCategory,
}
MetricsInfluxDBDatabaseFlag = &cli.StringFlag{
Name: "metrics.influxdb.database",
Usage: "InfluxDB database name to push reported metrics to",
Value: metrics.DefaultConfig.InfluxDBDatabase,
Category: flags.MetricsCategory,
}
MetricsInfluxDBUsernameFlag = &cli.StringFlag{
Name: "metrics.influxdb.username",
Usage: "Username to authorize access to the database",
Value: metrics.DefaultConfig.InfluxDBUsername,
Category: flags.MetricsCategory,
}
MetricsInfluxDBPasswordFlag = &cli.StringFlag{
Name: "metrics.influxdb.password",
Usage: "Password to authorize access to the database",
Value: metrics.DefaultConfig.InfluxDBPassword,
Category: flags.MetricsCategory,
}
// Tags are part of every measurement sent to InfluxDB. Queries on tags are faster in InfluxDB.
// For example `host` tag could be used so that we can group all nodes and average a measurement
// across all of them, but also so that we can select a specific node and inspect its measurements.
// https://docs.influxdata.com/influxdb/v1.4/concepts/key_concepts/#tag-key
MetricsInfluxDBTagsFlag = &cli.StringFlag{
Name: "metrics.influxdb.tags",
Usage: "Comma-separated InfluxDB tags (key/values) attached to all measurements",
Value: metrics.DefaultConfig.InfluxDBTags,
Category: flags.MetricsCategory,
}
MetricsInfluxDBIntervalFlag = &cli.DurationFlag{
Name: "metrics.influxdb.interval",
Usage: "Interval between metrics reports to InfluxDB (with time unit, e.g. 10s)",
Value: metrics.DefaultConfig.InfluxDBInterval,
Category: flags.MetricsCategory,
}
MetricsEnableInfluxDBV2Flag = &cli.BoolFlag{
Name: "metrics.influxdbv2",
Usage: "Enable metrics export/push to an external InfluxDB v2 database",
Category: flags.MetricsCategory,
}
MetricsInfluxDBTokenFlag = &cli.StringFlag{
Name: "metrics.influxdb.token",
Usage: "Token to authorize access to the database (v2 only)",
Value: metrics.DefaultConfig.InfluxDBToken,
Category: flags.MetricsCategory,
}
MetricsInfluxDBBucketFlag = &cli.StringFlag{
Name: "metrics.influxdb.bucket",
Usage: "InfluxDB bucket name to push reported metrics to (v2 only)",
Value: metrics.DefaultConfig.InfluxDBBucket,
Category: flags.MetricsCategory,
}
MetricsInfluxDBOrganizationFlag = &cli.StringFlag{
Name: "metrics.influxdb.organization",
Usage: "InfluxDB organization name (v2 only)",
Value: metrics.DefaultConfig.InfluxDBOrganization,
Category: flags.MetricsCategory,
}
// RPC Telemetry
RPCTelemetryFlag = &cli.BoolFlag{
Name: "rpc.telemetry",
Usage: "Enable RPC telemetry",
Category: flags.APICategory,
}
RPCTelemetryEndpointFlag = &cli.StringFlag{
Name: "rpc.telemetry.endpoint",
Usage: "Defines where RPC telemetry is sent (e.g., http://localhost:4318 or grpc://localhost:4317)",
Category: flags.APICategory,
}
RPCTelemetryUserFlag = &cli.StringFlag{
Name: "rpc.telemetry.username",
Usage: "Basic Auth username for OpenTelemetry",
Category: flags.APICategory,
}
RPCTelemetryPasswordFlag = &cli.StringFlag{
Name: "rpc.telemetry.password",
Usage: "Basic Auth password for OpenTelemetry",
Category: flags.APICategory,
}
RPCTelemetryInstanceIDFlag = &cli.StringFlag{
Name: "rpc.telemetry.instance-id",
Usage: "OpenTelemetry instance ID",
Category: flags.APICategory,
}
RPCTelemetryTagsFlag = &cli.StringFlag{
Name: "rpc.telemetry.tags",
Usage: "Comma-separated tags (key/values) added as attributes to the OpenTelemetry resource struct",
Category: flags.APICategory,
}
RPCTelemetrySampleRatioFlag = &cli.Float64Flag{
Name: "rpc.telemetry.sample-ratio",
Usage: "Defines the sampling ratio for RPC telemetry (0.0 to 1.0)",
Value: node.DefaultConfig.OpenTelemetry.SampleRatio,
Category: flags.APICategory,
}
// Era flags are a group of flags related to the era archive format.
EraFormatFlag = &cli.StringFlag{
Name: "era.format",
Usage: "Archive format: 'era1' or 'ere'",
}
core-geth validation — +275 -268 | | | |---|---| | File | [`flags.go`](https://github.com/etclabscore/core-geth/blob/v1.12.20/cmd/utils/flags.go) | | Symbol | `MinerEtherbaseFlag` | | Ref | `v1.12.20` |
--- a/core-geth/cmd/utils/flags.go
+++ b/etc/cmd/utils/flags.go
@@ -3,7 +3,7 @@
    DataDirFlag = &flags.DirectoryFlag{
        Name:     "datadir",
        Usage:    "Data directory for the databases and keystore",
-       Value:    flags.DirectoryString(vars.DefaultDataDir()),
+       Value:    flags.DirectoryString(node.DefaultDataDir()),
        Category: flags.EthCategory,
    }
    RemoteDBFlag = &cli.StringFlag{
@@ -22,7 +22,12 @@
        Usage:    "Root directory for ancient data (default = inside chaindata)",
        Category: flags.EthCategory,
    }
-   MinFreeDiskSpaceFlag = &flags.DirectoryFlag{
+   EraFlag = &flags.DirectoryFlag{
+       Name:     "datadir.era",
+       Usage:    "Root directory for era1 history (default = inside ancient/chain)",
+       Category: flags.EthCategory,
+   }
+   MinFreeDiskSpaceFlag = &cli.IntFlag{
        Name:     "datadir.minfreedisk",
        Usage:    "Minimum free disk space in MB, once reached triggers auto shut down (default = --cache.gc converted to MB, 0 = disabled)",
        Category: flags.EthCategory,
@@ -37,10 +42,6 @@
        Usage:    "Enable monitoring and management of USB hardware wallets",
        Category: flags.AccountCategory,
    }
-   USBPathIDFlag = &cli.Uint64Flag{
-       Name:  "usb.pathid",
-       Usage: "Specify USB path ID per SLIP-0044 (1=all testnets, 60=ETH mainnet, 61=ETC mainnet)",
-   }
    SmartCardDaemonPathFlag = &cli.StringFlag{
        Name:     "pcscdpath",
        Usage:    "Path to the smartcard daemon (pcscd) socket file",
@@ -49,49 +50,18 @@
    }
    NetworkIdFlag = &cli.Uint64Flag{
        Name:     "networkid",
-       Usage:    "Explicitly set network id (integer)(For testnets: use --goerli, --sepolia, --holesky instead)",
+       Usage:    "Explicitly set network ID (integer)(For testnets: use --sepolia, --holesky, --hoodi instead)",
        Value:    ethconfig.Defaults.NetworkId,
        Category: flags.EthCategory,
    }
-   EthProtocolsFlag = &cli.StringFlag{
-       Name:     "eth.protocols",
-       Usage:    "Sets the Ethereum Protocol versions (first is primary)",
-       Category: flags.EthCategory,
-       Value: strings.Join(func() (strings []string) {
-           for _, s := range ethconfig.Defaults.ProtocolVersions {
-               strings = append(strings, strconv.Itoa(int(s)))
-           }
-           return
-       }(), ","),
-   }
-   ClassicFlag = &cli.BoolFlag{
-       Name:     "classic",
-       Usage:    "Ethereum Classic network: pre-configured Ethereum Classic mainnet",
-       Category: flags.EthCategory,
-   }
    MainnetFlag = &cli.BoolFlag{
        Name:     "mainnet",
        Usage:    "Ethereum mainnet",
        Category: flags.EthCategory,
    }
-   MintMeFlag = &cli.BoolFlag{
-       Name:     "mintme",
-       Usage:    "MintMe.com Coin mainnet: pre-configured MintMe.com Coin mainnet",
-       Category: flags.EthCategory,
-   }
-   MordorFlag = &cli.BoolFlag{
-       Name:     "mordor",
-       Usage:    "Mordor network: Ethereum Classic's cross-client proof-of-work test network",
-       Category: flags.EthCategory,
-   }
-   GoerliFlag = &cli.BoolFlag{
-       Name:     "goerli",
-       Usage:    "Görli network: pre-configured proof-of-authority test network",
-       Category: flags.EthCategory,
-   }
    SepoliaFlag = &cli.BoolFlag{
        Name:     "sepolia",
-       Usage:    "Sepolia network: pre-configured proof-of-work test network",
+       Usage:    "Sepolia network: pre-configured proof-of-stake test network",
        Category: flags.EthCategory,
    }
    HoleskyFlag = &cli.BoolFlag{
@@ -99,6 +69,11 @@
        Usage:    "Holesky network: pre-configured proof-of-stake test network",
        Category: flags.EthCategory,
    }
+   HoodiFlag = &cli.BoolFlag{
+       Name:     "hoodi",
+       Usage:    "Hoodi network: pre-configured proof-of-stake test network",
+       Category: flags.EthCategory,
+   }
    // Dev mode
    DeveloperFlag = &cli.BoolFlag{
        Name:     "dev",
@@ -107,12 +82,7 @@
    }
    DeveloperPeriodFlag = &cli.Uint64Flag{
        Name:     "dev.period",
-       Usage:    "Block period for proof-of-authority network to use in developer mode (0 = mine only if transaction pending)",
-       Category: flags.DevCategory,
-   }
-   DeveloperPoWFlag = &cli.BoolFlag{
-       Name:     "dev.pow",
-       Usage:    "Ephemeral proof-of-work network with a pre-funded developer account, mining enabled",
+       Usage:    "Block period to use in developer mode (0 = mine only if transaction pending)",
        Category: flags.DevCategory,
    }
    DeveloperGasLimitFlag = &cli.Uint64Flag{
@@ -127,12 +97,6 @@
        Usage:    "Custom node name",
        Category: flags.NetworkingCategory,
    }
-   DocRootFlag = &flags.DirectoryFlag{
-       Name:     "docroot",
-       Usage:    "Document Root for HTTPClient file scheme",
-       Value:    flags.DirectoryString(flags.HomeDir()),
-       Category: flags.APICategory,
-   }
    ExitWhenSyncedFlag = &cli.BoolFlag{
        Name:     "exitwhensynced",
        Usage:    "Exits after block synchronisation completes",
@@ -167,8 +131,15 @@
        Usage: "Max number of elements (0 = no limit)",
        Value: 0,
    }
-
-   defaultSyncMode = ethconfig.Defaults.SyncMode
+   AccountFlag = &cli.StringFlag{
+       Name:  "account",
+       Usage: "Specifies the account address or hash to traverse a single storage trie",
+   }
+   OutputFileFlag = &cli.StringFlag{
+       Name:  "output",
+       Usage: "Writes the result in json to the output",
+       Value: "",
+   }
    SnapshotFlag    = &cli.BoolFlag{
        Name:     "snapshot",
        Usage:    `Enables snapshot-database mode (default = enable)`,
@@ -191,30 +162,40 @@
        Value:    2048,
        Category: flags.EthCategory,
    }
-   OverrideShanghai = &cli.Uint64Flag{
-       Name:     "override.shanghai",
-       Usage:    "Manually specify the Shanghai fork timestamp, overriding the bundled setting",
+   OverrideOsaka = &cli.Uint64Flag{
+       Name:     "override.osaka",
+       Usage:    "Manually specify the Osaka fork timestamp, overriding the bundled setting",
+       Category: flags.EthCategory,
+   }
+   OverrideBPO1 = &cli.Uint64Flag{
+       Name:     "override.bpo1",
+       Usage:    "Manually specify the bpo1 fork timestamp, overriding the bundled setting",
        Category: flags.EthCategory,
    }
-   OverrideCancun = &cli.Uint64Flag{
-       Name:     "override.cancun",
-       Usage:    "Manually specify the Cancun fork timestamp, overriding the bundled setting",
+   OverrideBPO2 = &cli.Uint64Flag{
+       Name:     "override.bpo2",
+       Usage:    "Manually specify the bpo2 fork timestamp, overriding the bundled setting",
        Category: flags.EthCategory,
    }
-   OverrideVerkle = &cli.Uint64Flag{
-       Name:     "override.verkle",
-       Usage:    "Manually specify the Verkle fork timestamp, overriding the bundled setting",
+   OverrideUBT = &cli.Uint64Flag{
+       Name:     "override.ubt",
+       Usage:    "Manually specify the UBT fork timestamp, overriding the bundled setting",
        Category: flags.EthCategory,
    }
-   SyncModeFlag = &flags.TextMarshalerFlag{
+   OverrideGenesisFlag = &cli.StringFlag{
+       Name:     "override.genesis",
+       Usage:    "Load genesis block and configuration from file at this path",
+       Category: flags.EthCategory,
+   }
+   SyncModeFlag = &cli.StringFlag{
        Name:     "syncmode",
        Usage:    `Blockchain sync mode ("snap" or "full")`,
-       Value:    &defaultSyncMode,
+       Value:    ethconfig.Defaults.SyncMode.String(),
        Category: flags.StateCategory,
    }
    GCModeFlag = &cli.StringFlag{
        Name:     "gcmode",
-       Usage:    `Blockchain garbage collection mode, only relevant in state.scheme=hash ("full", "archive")`,
+       Usage:    `Blockchain garbage collection mode ("full", "archive")`,
        Value:    "full",
        Category: flags.StateCategory,
    }
@@ -223,124 +204,128 @@
        Usage:    "Scheme to use for storing ethereum state ('hash' or 'path')",
        Category: flags.StateCategory,
    }
+   StateSizeTrackingFlag = &cli.BoolFlag{
+       Name:     "state.size-tracking",
+       Usage:    "Enable state size tracking, retrieve state size with debug_stateSize.",
+       Value:    ethconfig.Defaults.EnableStateSizeTracking,
+       Category: flags.StateCategory,
+   }
+   SnapV2Flag = &cli.BoolFlag{
+       Name:     "snap.v2",
+       Usage:    "Enable the experimental snap/2 (EIP-8189, BAL-based) sync protocol (advertises and syncs via snap/2; not safe on public networks)",
+       Value:    ethconfig.Defaults.SnapV2,
+       Category: flags.StateCategory,
+   }
+   BinTrieGroupDepthFlag = &cli.IntFlag{
+       Name:     "bintrie.groupdepth",
+       Usage:    "Number of levels per serialized group in binary trie (1-8, default 5). Lower values create smaller groups with more nodes.",
+       Value:    5,
+       Category: flags.StateCategory,
+   }
    StateHistoryFlag = &cli.Uint64Flag{
        Name:     "history.state",
-       Usage:    "Number of recent blocks to retain state history for (default = 90,000 blocks, 0 = entire chain)",
+       Usage:    "Number of recent blocks to retain state history for, only relevant in state.scheme=path (default = 90,000 blocks, 0 = entire chain)",
        Value:    ethconfig.Defaults.StateHistory,
        Category: flags.StateCategory,
    }
+   TrienodeHistoryFlag = &cli.Int64Flag{
+       Name:     "history.trienode",
+       Usage:    "Number of recent blocks to retain trienode history for, only relevant in state.scheme=path (default/negative = disabled, 0 = entire chain)",
+       Value:    ethconfig.Defaults.TrienodeHistory,
+       Category: flags.StateCategory,
+   }
+   TrienodeHistoryFullValueCheckpointFlag = &cli.UintFlag{
+       Name:     "history.trienode.full-value-checkpoint",
+       Usage:    "The frequency of full-value encoding. Every n-th node is stored in full-value format; all other nodes are stored as diffs relative to their predecessor",
+       Value:    uint(ethconfig.Defaults.NodeFullValueCheckpoint),
+       Category: flags.StateCategory,
+   }
    TransactionHistoryFlag = &cli.Uint64Flag{
        Name:     "history.transactions",
        Usage:    "Number of recent blocks to maintain transactions index for (default = about one year, 0 = entire chain)",
        Value:    ethconfig.Defaults.TransactionHistory,
        Category: flags.StateCategory,
    }
-   // Light server and client settings
-   LightServeFlag = &cli.IntFlag{
-       Name:     "light.serve",
-       Usage:    "Maximum percentage of time allowed for serving LES requests (multi-threaded processing allows values over 100)",
-       Value:    ethconfig.Defaults.LightServ,
-       Category: flags.LightCategory,
-   }
-   LightIngressFlag = &cli.IntFlag{
-       Name:     "light.ingress",
-       Usage:    "Incoming bandwidth limit for serving light clients (kilobytes/sec, 0 = unlimited)",
-       Value:    ethconfig.Defaults.LightIngress,
-       Category: flags.LightCategory,
-   }
-   LightEgressFlag = &cli.IntFlag{
-       Name:     "light.egress",
-       Usage:    "Outgoing bandwidth limit for serving light clients (kilobytes/sec, 0 = unlimited)",
-       Value:    ethconfig.Defaults.LightEgress,
-       Category: flags.LightCategory,
-   }
-   LightMaxPeersFlag = &cli.IntFlag{
-       Name:     "light.maxpeers",
-       Usage:    "Maximum number of light clients to serve, or light servers to attach to",
-       Value:    ethconfig.Defaults.LightPeers,
-       Category: flags.LightCategory,
-   }
-   UltraLightServersFlag = &cli.StringFlag{
-       Name:     "ulc.servers",
-       Usage:    "List of trusted ultra-light servers",
-       Value:    strings.Join(ethconfig.Defaults.UltraLightServers, ","),
-       Category: flags.LightCategory,
-   }
-   UltraLightFractionFlag = &cli.IntFlag{
-       Name:     "ulc.fraction",
-       Usage:    "Minimum % of trusted ultra-light servers required to announce a new head",
-       Value:    ethconfig.Defaults.UltraLightFraction,
-       Category: flags.LightCategory,
-   }
-   UltraLightOnlyAnnounceFlag = &cli.BoolFlag{
-       Name:     "ulc.onlyannounce",
-       Usage:    "Ultra light server sends announcements only",
-       Category: flags.LightCategory,
-   }
-   LightNoPruneFlag = &cli.BoolFlag{
-       Name:     "light.nopruning",
-       Usage:    "Disable ancient light chain data pruning",
-       Category: flags.LightCategory,
-   }
-   LightNoSyncServeFlag = &cli.BoolFlag{
-       Name:     "light.nosyncserve",
-       Usage:    "Enables serving light clients before syncing",
-       Category: flags.LightCategory,
-   }
-
-   // Ethash settings
-   EthashCacheDirFlag = &flags.DirectoryFlag{
-       Name:     "ethash.cachedir",
-       Usage:    "Directory to store the ethash verification caches (default = inside the datadir)",
-       Category: flags.EthashCategory,
-   }
-   EthashCachesInMemoryFlag = &cli.IntFlag{
-       Name:     "ethash.cachesinmem",
-       Usage:    "Number of recent ethash caches to keep in memory (16MB each)",
-       Value:    ethconfig.Defaults.Ethash.CachesInMem,
-       Category: flags.EthashCategory,
-   }
-   EthashCachesOnDiskFlag = &cli.IntFlag{
-       Name:     "ethash.cachesondisk",
-       Usage:    "Number of recent ethash caches to keep on disk (16MB each)",
-       Value:    ethconfig.Defaults.Ethash.CachesOnDisk,
-       Category: flags.EthashCategory,
-   }
-   EthashCachesLockMmapFlag = &cli.BoolFlag{
-       Name:     "ethash.cacheslockmmap",
-       Usage:    "Lock memory maps of recent ethash caches",
-       Category: flags.EthashCategory,
-   }
-   EthashDatasetDirFlag = &flags.DirectoryFlag{
-       Name:     "ethash.dagdir",
-       Usage:    "Directory to store the ethash mining DAGs",
-       Value:    flags.DirectoryString(ethconfig.Defaults.Ethash.DatasetDir),
-       Category: flags.EthashCategory,
-   }
-   EthashDatasetsInMemoryFlag = &cli.IntFlag{
-       Name:     "ethash.dagsinmem",
-       Usage:    "Number of recent ethash mining DAGs to keep in memory (1+GB each)",
-       Value:    ethconfig.Defaults.Ethash.DatasetsInMem,
-       Category: flags.EthashCategory,
-   }
-   EthashDatasetsOnDiskFlag = &cli.IntFlag{
-       Name:     "ethash.dagsondisk",
-       Usage:    "Number of recent ethash mining DAGs to keep on disk (1+GB each)",
-       Value:    ethconfig.Defaults.Ethash.DatasetsOnDisk,
-       Category: flags.EthashCategory,
-   }
-   EthashDatasetsLockMmapFlag = &cli.BoolFlag{
-       Name:     "ethash.dagslockmmap",
-       Usage:    "Lock memory maps for recent ethash mining DAGs",
-       Category: flags.EthashCategory,
-   }
-   EthashEpochLengthFlag = &cli.Int64Flag{
-       Name:     "epoch.length",
-       Usage:    "Sets epoch length for makecache & makedag commands",
-       Value:    30000,
-       Category: flags.EthashCategory,
+   ChainHistoryFlag = &cli.StringFlag{
+       Name:     "history.chain",
+       Usage:    `Blockchain history retention ("all", "postmerge", or "postprague")`,
+       Value:    ethconfig.Defaults.HistoryMode.String(),
+       Category: flags.StateCategory,
+   }
+   LogHistoryFlag = &cli.Uint64Flag{
+       Name:     "history.logs",
+       Usage:    "Number of recent blocks to maintain log search index for (default = about one year, 0 = entire chain)",
+       Value:    ethconfig.Defaults.LogHistory,
+       Category: flags.StateCategory,
+   }
+   LogNoHistoryFlag = &cli.BoolFlag{
+       Name:     "history.logs.disable",
+       Usage:    "Do not maintain log search index",
+       Category: flags.StateCategory,
+   }
+   LogExportCheckpointsFlag = &cli.StringFlag{
+       Name:     "history.logs.export",
+       Usage:    "Export checkpoints to file in go source file format",
+       Category: flags.StateCategory,
+       Value:    "",
+   }
+   // Beacon client light sync settings
+   BeaconApiFlag = &cli.StringSliceFlag{
+       Name:     "beacon.api",
+       Usage:    "Beacon node (CL) light client API URL. This flag can be given multiple times.",
+       Category: flags.BeaconCategory,
+   }
+   BeaconApiHeaderFlag = &cli.StringSliceFlag{
+       Name:     "beacon.api.header",
+       Usage:    "Pass custom HTTP header fields to the remote beacon node API in \"key:value\" format. This flag can be given multiple times.",
+       Category: flags.BeaconCategory,
+   }
+   BeaconThresholdFlag = &cli.IntFlag{
+       Name:     "beacon.threshold",
+       Usage:    "Beacon sync committee participation threshold",
+       Value:    bparams.SyncCommitteeSupermajority,
+       Category: flags.BeaconCategory,
+   }
+   BeaconNoFilterFlag = &cli.BoolFlag{
+       Name:     "beacon.nofilter",
+       Usage:    "Disable future slot signature filter",
+       Category: flags.BeaconCategory,
+   }
+   BeaconConfigFlag = &cli.StringFlag{
+       Name:     "beacon.config",
+       Usage:    "Beacon chain config YAML file",
+       Category: flags.BeaconCategory,
+   }
+   BeaconGenesisRootFlag = &cli.StringFlag{
+       Name:     "beacon.genesis.gvroot",
+       Usage:    "Beacon chain genesis validators root",
+       Category: flags.BeaconCategory,
+   }
+   BeaconGenesisTimeFlag = &cli.Uint64Flag{
+       Name:     "beacon.genesis.time",
+       Usage:    "Beacon chain genesis time",
+       Category: flags.BeaconCategory,
+   }
+   BeaconCheckpointFlag = &cli.StringFlag{
+       Name:     "beacon.checkpoint",
+       Usage:    "Beacon chain weak subjectivity checkpoint block hash",
+       Category: flags.BeaconCategory,
+   }
+   BeaconCheckpointFileFlag = &cli.StringFlag{
+       Name:     "beacon.checkpoint.file",
+       Usage:    "Beacon chain weak subjectivity checkpoint import/export file",
+       Category: flags.BeaconCategory,
+   }
+   BlsyncApiFlag = &cli.StringFlag{
+       Name:     "blsync.engine.api",
+       Usage:    "Target EL engine API URL",
+       Category: flags.BeaconCategory,
+   }
+   BlsyncJWTSecretFlag = &flags.DirectoryFlag{
+       Name:     "blsync.jwtsecret",
+       Usage:    "Path to a JWT secret to use for target engine API endpoint",
+       Category: flags.BeaconCategory,
    }
-
    // Transaction pool settings
    TxPoolLocalsFlag = &cli.StringFlag{
        Name:     "txpool.locals",
@@ -428,8 +413,8 @@
    // Performance tuning settings
    CacheFlag = &cli.IntFlag{
        Name:     "cache",
-       Usage:    "Megabytes of memory allocated to internal caching (default = 4096 mainnet full node, 128 light mode)",
-       Value:    1024,
+       Usage:    "Megabytes of memory allocated to internal caching",
+       Value:    4096,
        Category: flags.PerfCategory,
    }
    CacheDatabaseFlag = &cli.IntFlag{
@@ -485,27 +470,6 @@
    }

    // Miner settings
-   MiningEnabledFlag = &cli.BoolFlag{
-       Name:     "mine",
-       Usage:    "Enable mining",
-       Category: flags.MinerCategory,
-   }
-   MinerThreadsFlag = &cli.IntFlag{
-       Name:     "miner.threads",
-       Usage:    "Number of CPU threads to use for mining",
-       Value:    0,
-       Category: flags.MinerCategory,
-   }
-   MinerNotifyFlag = &cli.StringFlag{
-       Name:     "miner.notify",
-       Usage:    "Comma separated HTTP URL list to notify of new work packages",
-       Category: flags.MinerCategory,
-   }
-   MinerNotifyFullFlag = &cli.BoolFlag{
-       Name:     "miner.notify.full",
-       Usage:    "Notify with pending block headers instead of work packages",
-       Category: flags.MinerCategory,
-   }
    MinerGasLimitFlag = &cli.Uint64Flag{
        Name:     "miner.gaslimit",
        Usage:    "Target gas ceiling for mined blocks",
@@ -518,11 +482,6 @@
        Value:    ethconfig.Defaults.Miner.GasPrice,
        Category: flags.MinerCategory,
    }
-   MinerEtherbaseFlag = &cli.StringFlag{
-       Name:     "miner.etherbase",
-       Usage:    "0x prefixed public address for block mining rewards",
-       Category: flags.MinerCategory,
-   }
    MinerExtraDataFlag = &cli.StringFlag{
        Name:     "miner.extradata",
        Usage:    "Block extra data set by the miner (default = client version)",
@@ -534,25 +493,18 @@
        Value:    ethconfig.Defaults.Miner.Recommit,
        Category: flags.MinerCategory,
    }
-   MinerNoVerifyFlag = &cli.BoolFlag{
-       Name:     "miner.noverify",
-       Usage:    "Disable remote sealing verification",
+   MinerPendingFeeRecipientFlag = &cli.StringFlag{
+       Name:     "miner.pending.feeRecipient",
+       Usage:    "0x prefixed public address for the pending block producer (not used for actual block production)",
        Category: flags.MinerCategory,
    }
-   MinerNewPayloadTimeout = &cli.DurationFlag{
-       Name:     "miner.newpayload-timeout",
-       Usage:    "Specify the maximum time allowance for creating a new payload",
-       Value:    ethconfig.Defaults.Miner.NewPayloadTimeout,
+   MinerMaxBlobsFlag = &cli.IntFlag{
+       Name:     "miner.maxblobs",
+       Usage:    "Maximum number of blobs per block (falls back to protocol maximum if unspecified)",
        Category: flags.MinerCategory,
    }

    // Account settings
-   UnlockedAccountFlag = &cli.StringFlag{
-       Name:     "unlock",
-       Usage:    "Comma separated list of accounts to unlock",
-       Value:    "",
-       Category: flags.AccountCategory,
-   }
    PasswordFileFlag = &cli.PathFlag{
        Name:      "password",
        Usage:     "Password file to use for non-interactive password input",
@@ -565,19 +517,33 @@
        Value:    "",
        Category: flags.AccountCategory,
    }
-   InsecureUnlockAllowedFlag = &cli.BoolFlag{
-       Name:     "allow-insecure-unlock",
-       Usage:    "Allow insecure account unlocking when account-related RPCs are exposed by http",
-       Category: flags.AccountCategory,
-   }
-
    // EVM settings
    VMEnableDebugFlag = &cli.BoolFlag{
        Name:     "vmdebug",
        Usage:    "Record information useful for VM and contract debugging",
        Category: flags.VMCategory,
    }
-
+   VMTraceFlag = &cli.StringFlag{
+       Name:     "vmtrace",
+       Usage:    "Name of tracer which should record internal VM operations (costly)",
+       Category: flags.VMCategory,
+   }
+   VMTraceJsonConfigFlag = &cli.StringFlag{
+       Name:     "vmtrace.jsonconfig",
+       Usage:    "Tracer configuration (JSON)",
+       Value:    "{}",
+       Category: flags.VMCategory,
+   }
+   VMWitnessStatsFlag = &cli.BoolFlag{
+       Name:     "vmwitnessstats",
+       Usage:    "Enable collection of witness trie access statistics (automatically enables witness generation)",
+       Category: flags.VMCategory,
+   }
+   VMStatelessSelfValidationFlag = &cli.BoolFlag{
+       Name:     "stateless-self-validation",
+       Usage:    "Generate execution witnesses and self-check against them (testing purpose)",
+       Category: flags.VMCategory,
+   }
    // API options.
    RPCGlobalGasCapFlag = &cli.Uint64Flag{
        Name:     "rpc.gascap",
@@ -597,6 +563,30 @@
        Value:    ethconfig.Defaults.RPCTxFeeCap,
        Category: flags.APICategory,
    }
+   RPCGlobalLogQueryLimit = &cli.IntFlag{
+       Name:     "rpc.logquerylimit",
+       Usage:    "Maximum number of alternative addresses or topics allowed per search position in eth_getLogs filter criteria (0 = no cap)",
+       Value:    ethconfig.Defaults.LogQueryLimit,
+       Category: flags.APICategory,
+   }
+   RPCTxSyncDefaultTimeoutFlag = &cli.DurationFlag{
+       Name:     "rpc.txsync.defaulttimeout",
+       Usage:    "Default timeout for eth_sendRawTransactionSync (e.g. 2s, 500ms)",
+       Value:    ethconfig.Defaults.TxSyncDefaultTimeout,
+       Category: flags.APICategory,
+   }
+   RPCTxSyncMaxTimeoutFlag = &cli.DurationFlag{
+       Name:     "rpc.txsync.maxtimeout",
+       Usage:    "Maximum allowed timeout for eth_sendRawTransactionSync (e.g. 5m)",
+       Value:    ethconfig.Defaults.TxSyncMaxTimeout,
+       Category: flags.APICategory,
+   }
+   RPCGlobalRangeLimitFlag = &cli.Uint64Flag{
+       Name:     "rpc.rangelimit",
+       Usage:    "Maximum block range (end - begin) allowed for range queries (0 = unlimited)",
+       Value:    ethconfig.Defaults.RangeLimit,
+       Category: flags.APICategory,
+   }
    // Authenticated RPC HTTP settings
    AuthListenFlag = &cli.StringFlag{
        Name:     "authrpc.addr",
@@ -628,21 +618,17 @@
        Usage:    "Reporting URL of a ethstats service (nodename:secret@host:port)",
        Category: flags.MetricsCategory,
    }
-   FakePoWFlag = &cli.BoolFlag{
-       Name:     "fakepow",
-       Usage:    "Disables proof-of-work verification",
-       Category: flags.LoggingCategory, // FIXME(meowsbits) Logging, really? Not Developer?
-   }
-   FakePoWPoissonFlag = &cli.BoolFlag{
-       Name:     "fakepow.poisson",
-       Usage:    "Disables proof-of-work verification and adds mining delay (Poisson) based on --miner.threads",
-       Category: flags.LoggingCategory,
-   }
    NoCompactionFlag = &cli.BoolFlag{
        Name:     "nocompaction",
        Usage:    "Disables db compaction after import",
        Category: flags.LoggingCategory,
    }
+   LogSlowBlockFlag = &cli.DurationFlag{
+       Name:     "debug.logslowblock",
+       Usage:    "Block execution time threshold beyond which detailed statistics will be logged (0 logs all blocks, negative means disable)",
+       Value:    ethconfig.Defaults.SlowBlockThreshold,
+       Category: flags.LoggingCategory,
+   }

    // MISC settings
    SyncTargetFlag = &cli.StringFlag{
@@ -700,7 +686,7 @@
    }
    HTTPPathPrefixFlag = &cli.StringFlag{
        Name:     "http.rpcprefix",
-       Usage:    "HTTP path path prefix on which JSON-RPC is served. Use '/' to serve on all paths.",
+       Usage:    "HTTP path prefix on which JSON-RPC is served. Use '/' to serve on all paths.",
        Value:    "",
        Category: flags.APICategory,
    }
@@ -783,11 +769,6 @@
        Value:    node.DefaultConfig.BatchResponseMaxSize,
        Category: flags.APICategory,
    }
-   EnablePersonal = &cli.BoolFlag{
-       Name:     "rpc.enabledeprecatedpersonal",
-       Usage:    "Enables the (deprecated) personal namespace",
-       Category: flags.APICategory,
-   }

    // Network Settings
    MaxPeersFlag = &cli.IntFlag{
@@ -826,7 +807,7 @@
    }
    NATFlag = &cli.StringFlag{
        Name:     "nat",
-       Usage:    "NAT port mapping mechanism (any|none|upnp|pmp|pmp:<IP>|extip:<IP>)",
+       Usage:    "NAT port mapping mechanism (any|none|upnp|pmp|pmp:<IP>|extip:<IP>|stun:<IP:PORT>)",
        Value:    "any",
        Category: flags.NetworkingCategory,
    }
@@ -840,13 +821,14 @@
        Aliases:  []string{"discv4"},
        Usage:    "Enables the V4 discovery mechanism",
        Category: flags.NetworkingCategory,
-       Value:    true,
+       Value:    node.DefaultConfig.P2P.DiscoveryV4,
    }
    DiscoveryV5Flag = &cli.BoolFlag{
        Name:     "discovery.v5",
        Aliases:  []string{"discv5"},
-       Usage:    "Enables the experimental RLPx V5 (Topic Discovery) mechanism",
+       Usage:    "Enables the V5 discovery mechanism",
        Category: flags.NetworkingCategory,
+       Value:    node.DefaultConfig.P2P.DiscoveryV5,
    }
    NetrestrictFlag = &cli.StringFlag{
        Name:     "netrestrict",
@@ -911,12 +893,6 @@
        Usage:    "Enable metrics collection and reporting",
        Category: flags.MetricsCategory,
    }
-   MetricsEnabledExpensiveFlag = &cli.BoolFlag{
-       Name:     "metrics.expensive",
-       Usage:    "Enable expensive metrics collection and reporting",
-       Category: flags.MetricsCategory,
-   }
-
    // MetricsHTTPFlag defines the endpoint for a stand-alone metrics HTTP endpoint.
    // Since the pprof service enables sensitive/vulnerable behavior, this allows a user
    // to enable a public-OK metrics endpoint without having to worry about ALSO exposing
@@ -972,30 +948,12 @@
        Value:    metrics.DefaultConfig.InfluxDBTags,
        Category: flags.MetricsCategory,
    }
-   EWASMInterpreterFlag = &cli.StringFlag{
-       Name:  "vm.ewasm",
-       Usage: "External ewasm configuration (default = built-in interpreter)",
-       Value: "",
-   }
-   EVMInterpreterFlag = &cli.StringFlag{
-       Name:  "vm.evm",
-       Usage: "External EVM configuration (default = built-in interpreter)",
-       Value: "",
-   }
-   ECBP1100Flag = &cli.Uint64Flag{
-       Name:     "ecbp1100", // should have been override.ecbp1100, but maintained now for backwards compatibility
-       Usage:    "Manually specify the ECBP-1100 (MESS) block activation number, overriding the bundled setting",
-       Category: flags.EthCategory,
-   }
-   OverrideECBP1100DeactivateFlag = &cli.Uint64Flag{
-       Name:     "override.ecbp1100.deactivate",
-       Usage:    "Manually specify the ECBP-1100 (MESS) deactivation block number, overriding the bundled setting",
-       Category: flags.EthCategory,
-   }
-   ECBP1100NoDisableFlag = &cli.BoolFlag{
-       Name:     "ecbp1100.nodisable",
-       Usage:    "Short-circuit ECBP-1100 (MESS) disable mechanisms; (yields a permanent-once-activated state, deactivating auto-shutoff mechanisms)",
-       Category: flags.DeprecatedCategory,
+
+   MetricsInfluxDBIntervalFlag = &cli.DurationFlag{
+       Name:     "metrics.influxdb.interval",
+       Usage:    "Interval between metrics reports to InfluxDB (with time unit, e.g. 10s)",
+       Value:    metrics.DefaultConfig.InfluxDBInterval,
+       Category: flags.MetricsCategory,
    }

    MetricsEnableInfluxDBV2Flag = &cli.BoolFlag{
@@ -1024,4 +982,53 @@
        Value:    metrics.DefaultConfig.InfluxDBOrganization,
        Category: flags.MetricsCategory,
    }
+
+   // RPC Telemetry
+   RPCTelemetryFlag = &cli.BoolFlag{
+       Name:     "rpc.telemetry",
+       Usage:    "Enable RPC telemetry",
+       Category: flags.APICategory,
+   }
+
+   RPCTelemetryEndpointFlag = &cli.StringFlag{
+       Name:     "rpc.telemetry.endpoint",
+       Usage:    "Defines where RPC telemetry is sent (e.g., http://localhost:4318 or grpc://localhost:4317)",
+       Category: flags.APICategory,
+   }
+
+   RPCTelemetryUserFlag = &cli.StringFlag{
+       Name:     "rpc.telemetry.username",
+       Usage:    "Basic Auth username for OpenTelemetry",
+       Category: flags.APICategory,
+   }
+
+   RPCTelemetryPasswordFlag = &cli.StringFlag{
+       Name:     "rpc.telemetry.password",
+       Usage:    "Basic Auth password for OpenTelemetry",
+       Category: flags.APICategory,
+   }
+
+   RPCTelemetryInstanceIDFlag = &cli.StringFlag{
+       Name:     "rpc.telemetry.instance-id",
+       Usage:    "OpenTelemetry instance ID",
+       Category: flags.APICategory,
+   }
+
+   RPCTelemetryTagsFlag = &cli.StringFlag{
+       Name:     "rpc.telemetry.tags",
+       Usage:    "Comma-separated tags (key/values) added as attributes to the OpenTelemetry resource struct",
+       Category: flags.APICategory,
+   }
+
+   RPCTelemetrySampleRatioFlag = &cli.Float64Flag{
+       Name:     "rpc.telemetry.sample-ratio",
+       Usage:    "Defines the sampling ratio for RPC telemetry (0.0 to 1.0)",
+       Value:    node.DefaultConfig.OpenTelemetry.SampleRatio,
+       Category: flags.APICategory,
+   }
+   // Era flags are a group of flags related to the era archive format.
+   EraFormatFlag = &cli.StringFlag{
+       Name:  "era.format",
+       Usage: "Archive format: 'era1' or 'ere'",
+   }
 )

← CLI, Config & Genesis