Skip to content

EthashEpochLengthFlag

NEW-ETC — no upstream or core-geth original.

File flags_etc.go
Symbol EthashEpochLengthFlag
Ref etc/v1.17.3-full-node

--epoch.length flag (default 30000). Not present in pre-purge3 upstream; added by core-geth for ECIP-1099 (60000-block epochs). Shared by both makecache and makedag commands.

var (
    // ETC network flags
    ClassicFlag = &cli.BoolFlag{
        Name:     "classic",
        Usage:    "Ethereum Classic mainnet: proof-of-work network (ChainID 61)",
        Category: flags.EthCategory,
    }
    MordorFlag = &cli.BoolFlag{
        Name:     "mordor",
        Usage:    "Mordor network: Ethereum Classic proof-of-work test network (ChainID 63)",
        Category: flags.EthCategory,
    }

    // Ethash settings (for ETC PoW mining)
    EthashCacheDirFlag = &flags.DirectoryFlag{
        Name:     "ethash.cachedir",
        Usage:    "Directory to store the ethash verification caches (default = inside the datadir)",
        Category: flags.EthCategory,
    }
    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.EthCategory,
    }
    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.EthCategory,
    }
    EthashCachesLockMmapFlag = &cli.BoolFlag{
        Name:     "ethash.cacheslockmmap",
        Usage:    "Lock memory maps of recent ethash caches",
        Category: flags.EthCategory,
    }
    EthashDatasetDirFlag = &flags.DirectoryFlag{
        Name:     "ethash.dagdir",
        Usage:    "Directory to store the ethash mining DAGs",
        Value:    flags.DirectoryString(ethconfig.Defaults.Ethash.DatasetDir),
        Category: flags.EthCategory,
    }
    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.EthCategory,
    }
    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.EthCategory,
    }
    EthashDatasetsLockMmapFlag = &cli.BoolFlag{
        Name:     "ethash.dagslockmmap",
        Usage:    "Lock memory maps for recent ethash mining DAGs",
        Category: flags.EthCategory,
    }
    EthashEpochLengthFlag = &cli.Int64Flag{
        Name:     "epoch.length",
        Usage:    "Sets epoch length for makecache & makedag commands",
        Value:    30000,
        Category: flags.EthCategory,
    }

    // Mining flags (for PoW chains)
    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,
    }
    MinerNoVerifyFlag = &cli.BoolFlag{
        Name:     "miner.noverify",
        Usage:    "Disable remote mining solution verification",
        Category: flags.MinerCategory,
    }
    FakePoWFlag = &cli.BoolFlag{
        Name:     "fakepow",
        Usage:    "Disables proof-of-work verification",
        Category: flags.LoggingCategory,
    }

    // MESS (ECBP-1100) artificial finality flags
    MESSForceEnableFlag = &cli.BoolFlag{
        Name:     "mess-force-enable",
        Usage:    "Force enable MESS regardless of ECBP1100Transition config (emergency override)",
        Category: flags.EthCategory,
    }
    MESSForceDisableFlag = &cli.BoolFlag{
        Name:     "mess-force-disable",
        Usage:    "Force disable MESS regardless of ECBP1100Transition config",
        Category: flags.EthCategory,
    }

    // ETCFlags is the flag group of Ethereum Classic networks.
    ETCFlags = []cli.Flag{
        ClassicFlag,
        MordorFlag,
        MESSForceEnableFlag,
        MESSForceDisableFlag,
    }
)
core-geth validation — +28 -941 | | | |---|---| | File | [`flags.go`](https://github.com/etclabscore/core-geth/blob/v1.12.20/cmd/utils/flags.go) | | Symbol | `EthashEpochLengthFlag` | | Ref | `v1.12.20` |
--- a/core-geth/cmd/utils/flags.go
+++ b/etc/cmd/utils/flags_etc.go
@@ -1,495 +1,70 @@
 var (
-   // General settings
-   DataDirFlag = &flags.DirectoryFlag{
-       Name:     "datadir",
-       Usage:    "Data directory for the databases and keystore",
-       Value:    flags.DirectoryString(vars.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,
-   }
-   MinFreeDiskSpaceFlag = &flags.DirectoryFlag{
-       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,
-   }
-   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",
-       Value:    pcsclite.PCSCDSockName,
-       Category: flags.AccountCategory,
-   }
-   NetworkIdFlag = &cli.Uint64Flag{
-       Name:     "networkid",
-       Usage:    "Explicitly set network id (integer)(For testnets: use --goerli, --sepolia, --holesky 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
-       }(), ","),
-   }
+   // ETC network flags
    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",
+       Usage:    "Ethereum Classic mainnet: proof-of-work network (ChainID 61)",
        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",
-       Category: flags.EthCategory,
-   }
-   HoleskyFlag = &cli.BoolFlag{
-       Name:     "holesky",
-       Usage:    "Holesky 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 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",
-       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,
-   }
-   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",
-       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,
-   }
-
-   defaultSyncMode = ethconfig.Defaults.SyncMode
-   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,
-   }
-   OverrideShanghai = &cli.Uint64Flag{
-       Name:     "override.shanghai",
-       Usage:    "Manually specify the Shanghai 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",
-       Category: flags.EthCategory,
-   }
-   OverrideVerkle = &cli.Uint64Flag{
-       Name:     "override.verkle",
-       Usage:    "Manually specify the Verkle fork timestamp, overriding the bundled setting",
+       Usage:    "Mordor network: Ethereum Classic proof-of-work test network (ChainID 63)",
        Category: flags.EthCategory,
    }
-   SyncModeFlag = &flags.TextMarshalerFlag{
-       Name:     "syncmode",
-       Usage:    `Blockchain sync mode ("snap" or "full")`,
-       Value:    &defaultSyncMode,
-       Category: flags.StateCategory,
-   }
-   GCModeFlag = &cli.StringFlag{
-       Name:     "gcmode",
-       Usage:    `Blockchain garbage collection mode, only relevant in state.scheme=hash ("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,
-   }
-   StateHistoryFlag = &cli.Uint64Flag{
-       Name:     "history.state",
-       Usage:    "Number of recent blocks to retain state history for (default = 90,000 blocks, 0 = entire chain)",
-       Value:    ethconfig.Defaults.StateHistory,
-       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
+   // Ethash settings (for ETC PoW mining)
    EthashCacheDirFlag = &flags.DirectoryFlag{
        Name:     "ethash.cachedir",
        Usage:    "Directory to store the ethash verification caches (default = inside the datadir)",
-       Category: flags.EthashCategory,
+       Category: flags.EthCategory,
    }
    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,
+       Category: flags.EthCategory,
    }
    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,
+       Category: flags.EthCategory,
    }
    EthashCachesLockMmapFlag = &cli.BoolFlag{
        Name:     "ethash.cacheslockmmap",
        Usage:    "Lock memory maps of recent ethash caches",
-       Category: flags.EthashCategory,
+       Category: flags.EthCategory,
    }
    EthashDatasetDirFlag = &flags.DirectoryFlag{
        Name:     "ethash.dagdir",
        Usage:    "Directory to store the ethash mining DAGs",
        Value:    flags.DirectoryString(ethconfig.Defaults.Ethash.DatasetDir),
-       Category: flags.EthashCategory,
+       Category: flags.EthCategory,
    }
    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,
+       Category: flags.EthCategory,
    }
    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,
+       Category: flags.EthCategory,
    }
    EthashDatasetsLockMmapFlag = &cli.BoolFlag{
        Name:     "ethash.dagslockmmap",
        Usage:    "Lock memory maps for recent ethash mining DAGs",
-       Category: flags.EthashCategory,
+       Category: flags.EthCategory,
    }
    EthashEpochLengthFlag = &cli.Int64Flag{
        Name:     "epoch.length",
        Usage:    "Sets epoch length for makecache & makedag commands",
        Value:    30000,
-       Category: flags.EthashCategory,
-   }
-
-   // 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 (default = 4096 mainnet full node, 128 light mode)",
-       Value:    1024,
-       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,
+       Category: flags.EthCategory,
    }

-   // Miner settings
-   MiningEnabledFlag = &cli.BoolFlag{
-       Name:     "mine",
-       Usage:    "Enable mining",
-       Category: flags.MinerCategory,
-   }
+   // Mining flags (for PoW chains)
    MinerThreadsFlag = &cli.IntFlag{
        Name:     "miner.threads",
        Usage:    "Number of CPU threads to use for mining",
@@ -506,522 +81,34 @@
        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",
-       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,
-   }
-   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)",
-       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,
-   }
    MinerNoVerifyFlag = &cli.BoolFlag{
        Name:     "miner.noverify",
-       Usage:    "Disable remote sealing verification",
+       Usage:    "Disable remote mining solution verification",
        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,
-       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",
-       TakesFile: true,
-       Category:  flags.AccountCategory,
-   }
-   ExternalSignerFlag = &cli.StringFlag{
-       Name:     "signer",
-       Usage:    "External signer (url or path to ipc file)",
-       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,
-   }
-
-   // 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,
-   }
-   // 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,
-   }
    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,
-   }
-
-   // 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 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,
-   }
-   EnablePersonal = &cli.BoolFlag{
-       Name:     "rpc.enabledeprecatedpersonal",
-       Usage:    "Enables the (deprecated) personal namespace",
-       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>)",
-       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:    true,
-   }
-   DiscoveryV5Flag = &cli.BoolFlag{
-       Name:     "discovery.v5",
-       Aliases:  []string{"discv5"},
-       Usage:    "Enables the experimental RLPx V5 (Topic Discovery) mechanism",
-       Category: flags.NetworkingCategory,
-   }
-   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,
-   }
-   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
-   // 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,
-   }
-   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",
+   // MESS (ECBP-1100) artificial finality flags
+   MESSForceEnableFlag = &cli.BoolFlag{
+       Name:     "mess-force-enable",
+       Usage:    "Force enable MESS regardless of ECBP1100Transition config (emergency override)",
        Category: flags.EthCategory,
    }
-   OverrideECBP1100DeactivateFlag = &cli.Uint64Flag{
-       Name:     "override.ecbp1100.deactivate",
-       Usage:    "Manually specify the ECBP-1100 (MESS) deactivation block number, overriding the bundled setting",
+   MESSForceDisableFlag = &cli.BoolFlag{
+       Name:     "mess-force-disable",
+       Usage:    "Force disable MESS regardless of ECBP1100Transition config",
        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,
-   }
-
-   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,
+   // ETCFlags is the flag group of Ethereum Classic networks.
+   ETCFlags = []cli.Flag{
+       ClassicFlag,
+       MordorFlag,
+       MESSForceEnableFlag,
+       MESSForceDisableFlag,
    }
 )

← CLI, Config & Genesis