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¶
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'",
+ }
)