Skip to main content
Version: Next

Configuration

Nethermind is highly configurable. There are 3 ways of configuring it, listed by priority:

note

Given the above priority list, an option defined in a more priority way overrides the same option defined elsewhere if any.

The full list of configuration options can be displayed by running:

nethermind -h

Below is the list of the basic command line options followed by an exhaustive list of configuration options by namespace.

warning

The configuration options are case-sensitive and can be defined only once unless stated otherwise.

Basic command line options

  • -c, --config <value>

    The path to the configuration file or the file name (also without extension) of any of the configuration files in the configuration files directory. Defaults to mainnet.

    Available configurations

    Nethermind provides the following pre-built configurations named as the networks they are for. Their respective versions for archive nodes are suffixed _archive.

    • base-mainnet base-mainnet_archive
    • base-sepolia base-sepolia_archive
    • chiado chiado_archive
    • energyweb energyweb_archive
    • gnosis gnosis_archive
    • holesky holesky_archive
    • mainnet mainnet_archive
    • op-mainnet op-mainnet_archive
    • op-sepolia op-sepolia_archive
    • sepolia sepolia_archive
    • taiko-hekla taiko-helka_archive
    • taiko-mainnet taiko-mainnet_archive
    • volta volta_archive

    Alternatively, the configuration file can also be set by the NETHERMIND_CONFIG environment variable.

  • --configs-dir <path>

    The path to the configuration files directory. Defaults to configs.

    note

    This option is ignored if the -c, --config option is set to a path:

    # Ignored for
    -c ./mainnet.json
    -c path/to/mainnet.json
    # Respected for
    -c mainnet
    -c mainnet.json
  • --data-dir <path>

    The path to the Nethermind data directory. Defaults to Nethermind's current directory.

    warning

    The absolute paths set by Init.BaseDbPath, Init.LogDirectory, or KeyStore.KeyStoreDirectory options in a configuration file are not overridden by --data-dir.

  • --db-dir <path>

    The path to the Nethermind database directory. Defaults to db.

  • -?, -h, --help

    Shows the full list of available command line options.

  • -l, --log <level>

    Log level (severity). Allowed values: off trace debug info warn error. Defaults to info.

  • --logger-config <path>

    The path to the logging configuration file. Defaults to NLog.config.

  • --plugins-dir <path>

    The path to the Nethermind plugins directory. Defaults to plugins.

  • --version

    Shows the Nethermind version information.

Options by namespaces

Aura

  • Aura.AllowAuRaPrivateChains

    --aura-allowauraprivatechains <value>
    --Aura.AllowAuRaPrivateChains <value>

    Whether to allow private Aura-based chains only. Do not use with existing Aura-based chains. Allowed values: true false. Defaults to false.

  • Aura.ForceSealing

    --aura-forcesealing <value>
    --Aura.ForceSealing <value>

    Whether to seal empty blocks if mining. Allowed values: true false. Defaults to true.

  • Aura.Minimum2MlnGasPerBlockWhenUsingBlockGasLimitContract

    --aura-minimum2mlngasperblockwhenusingblockgaslimitcontract <value>
    --Aura.Minimum2MlnGasPerBlockWhenUsingBlockGasLimitContract <value>

    Whether to use 2M gas if the contract returns less than that when using BlockGasLimitContractTransitions. Allowed values: true false. Defaults to false.

  • Aura.TxPriorityConfigFilePath

    --aura-txpriorityconfigfilepath <value>
    --Aura.TxPriorityConfigFilePath <value>

    The path to the transaction priority rules file to use when selecting transactions from the transaction pool. Defaults to null.

  • Aura.TxPriorityContractAddress

    --aura-txprioritycontractaddress <value>
    --Aura.TxPriorityContractAddress <value>

    The address of the transaction priority contract to use when selecting transactions from the transaction pool. Defaults to null.

Blocks

  • Blocks.BlockProductionTimeoutMs

    --blocks-blockproductiontimeoutms <value>
    --Blocks.BlockProductionTimeoutMs <value>

    The block production timeout, in milliseconds. Defaults to 4000.

  • Blocks.ExtraData

    --blocks-extradata <value>
    --Blocks.ExtraData <value>

    The block header extra data up to 32 bytes in length. Defaults to Nethermind.

  • Blocks.GenesisTimeoutMs

    --blocks-genesistimeoutms <value>
    --Blocks.GenesisTimeoutMs <value>

    The genesis block load timeout, in milliseconds. Defaults to 40000.

  • Blocks.MinGasPrice

    --blocks-mingasprice <value>
    --Blocks.MinGasPrice <value>

    The minimum gas premium (or the gas price before the London hard fork) for transactions accepted by the block producer. Defaults to 1.

  • Blocks.PreWarmStateOnBlockProcessing

    --blocks-prewarmstateonblockprocessing <value>
    --Blocks.PreWarmStateOnBlockProcessing <value>

    Whether to pre-warm the state when processing blocks. This can lead to an up to 2x speed-up in the main loop block processing. Allowed values: true false. Defaults to True.

  • Blocks.RandomizedBlocks

    --blocks-randomizedblocks <value>
    --Blocks.RandomizedBlocks <value>

    Whether to change the difficulty of the block randomly within the constraints. Used in NethDev only. Allowed values: true false. Defaults to false.

  • Blocks.SecondsPerSlot

    --blocks-secondsperslot <value>
    --Blocks.SecondsPerSlot <value>

    The block time slot, in seconds. Defaults to 12.

  • Blocks.TargetBlockGasLimit

    --blocks-targetblockgaslimit <value>
    --Blocks.TargetBlockGasLimit <value>

    The block gas limit that the block producer should try to reach in the fastest possible way based on the protocol rules. If not specified, then the block producer should follow others. Defaults to null.

Bloom

  • Bloom.Index

    --bloom-index <value>
    --Bloom.Index <value>

    Whether to use the Bloom index. The Bloom index speeds up the RPC log searches. Allowed values: true false. Defaults to true.

  • Bloom.IndexLevelBucketSizes

    --bloom-indexlevelbucketsizes <value>
    --Bloom.IndexLevelBucketSizes <value>

    An array of multipliers for index levels. Can be tweaked per chain to boost performance. Defaults to [4, 8, 8].

  • Bloom.Migration

    --bloom-migration <value>
    --Bloom.Migration <value>

    Whether to migrate the previously downloaded blocks to the Bloom index. Allowed values: true false. Defaults to false.

  • Bloom.MigrationStatistics

    --bloom-migrationstatistics <value>
    --Bloom.MigrationStatistics <value>

    Whether the migration statistics should be calculated and output. Allowed values: true false. Defaults to false.

CensorshipDetector

  • CensorshipDetector.AddressesForCensorshipDetection

    --censorshipdetector-addressesforcensorshipdetection <value>
    --CensorshipDetector.AddressesForCensorshipDetection <value>

    The addresses to detect censorship for. Defaults to null.

  • CensorshipDetector.BlockCensorshipThreshold

    --censorshipdetector-blockcensorshipthreshold <value>
    --CensorshipDetector.BlockCensorshipThreshold <value>

    The number of the consecutive blocks with detected potential censorship to report. Defaults to 2.

  • CensorshipDetector.Enabled

    --censorshipdetector-enabled <value>
    --CensorshipDetector.Enabled <value>

    Whether to enable censorship detection. Allowed values: true false. Defaults to false.

EthStats

  • EthStats.Contact

    --ethstats-contact <value>
    --EthStats.Contact <value>

    The node owner contact details displayed on Ethstats. Defaults to hello@nethermind.io.

  • EthStats.Enabled

    --ethstats-enabled <value>
    --EthStats.Enabled <value>

    Whether to use Ethstats publishing. Allowed values: true false. Defaults to false.

  • EthStats.Name

    --ethstats-name <value>
    --EthStats.Name <value>

    The node name displayed on Ethstats. Defaults to Nethermind.

  • EthStats.Secret

    --ethstats-secret <value>
    --EthStats.Secret <value>

    The Ethstats secret. Defaults to secret.

  • EthStats.SendInterval

    --ethstats-sendinterval <value>
    --EthStats.SendInterval <value>

    The stats update interval, in seconds. Defaults to 15.

  • EthStats.Server

    --ethstats-server <value>
    --EthStats.Server <value>

    The Ethstats server URL. Defaults to ws://localhost:3000/api.

HealthChecks

  • HealthChecks.Enabled

    --healthchecks-enabled <value>
    --HealthChecks.Enabled <value>

    Whether to enable the health check. Allowed values: true false. Defaults to false.

  • HealthChecks.LowStorageCheckAwaitOnStartup

    --healthchecks-lowstoragecheckawaitonstartup <value>
    --HealthChecks.LowStorageCheckAwaitOnStartup <value>

    Whether to check for low disk space on startup and suspend until enough space is available. Allowed values: true false. Defaults to false.

  • HealthChecks.LowStorageSpaceShutdownThreshold

    --healthchecks-lowstoragespaceshutdownthreshold <value>
    --HealthChecks.LowStorageSpaceShutdownThreshold <value>

    The percentage of available disk space below which Nethermind shuts down. 0 to disable. Defaults to 1.

  • HealthChecks.LowStorageSpaceWarningThreshold

    --healthchecks-lowstoragespacewarningthreshold <value>
    --HealthChecks.LowStorageSpaceWarningThreshold <value>

    The percentage of available disk space below which a warning is displayed. 0 to disable. Defaults to 5.

  • HealthChecks.MaxIntervalClRequestTime

    --healthchecks-maxintervalclrequesttime <value>
    --HealthChecks.MaxIntervalClRequestTime <value>

    The max request interval, in seconds, in which the consensus client is assumed healthy. Defaults to 300.

  • HealthChecks.MaxIntervalWithoutProcessedBlock

    --healthchecks-maxintervalwithoutprocessedblock <value>
    --HealthChecks.MaxIntervalWithoutProcessedBlock <value>

    The max interval, in seconds, in which the block processing is assumed healthy. Defaults to null.

  • HealthChecks.MaxIntervalWithoutProducedBlock

    --healthchecks-maxintervalwithoutproducedblock <value>
    --HealthChecks.MaxIntervalWithoutProducedBlock <value>

    The max interval, in seconds, in which the block production is assumed healthy. Defaults to null.

  • HealthChecks.PollingInterval

    --healthchecks-pollinginterval <value>
    --HealthChecks.PollingInterval <value>

    The health check updates polling interval, in seconds. Defaults to 5.

  • HealthChecks.Slug

    --healthchecks-slug <value>
    --HealthChecks.Slug <value>

    The URL slug the health checks service is exposed at. Defaults to /health.

  • HealthChecks.UIEnabled

    --healthchecks-uienabled <value>
    --HealthChecks.UIEnabled <value>

    Whether to enable the health checks UI. Allowed values: true false. Defaults to false.

  • HealthChecks.WebhooksEnabled

    --healthchecks-webhooksenabled <value>
    --HealthChecks.WebhooksEnabled <value>

    Whether to enable web hooks. Allowed values: true false. Defaults to false.

  • HealthChecks.WebhooksPayload

    --healthchecks-webhookspayload <value>
    --HealthChecks.WebhooksPayload <value>

    An escaped JSON paylod to be sent to the web hook on failure. Defaults to:

    {
    "attachments": [
    {
    "color": "#FFCC00",
    "pretext": "Health Check Status :warning:",
    "fields": [
    {
    "title": "Details",
    "value": "More details available at /healthchecks-ui",
    "short": false
    },
    {
    "title": "Description",
    "value": "[[DESCRIPTIONS]]",
    "short": false
    }
    ]
    }
    ]
    }
  • HealthChecks.WebhooksRestorePayload

    --healthchecks-webhooksrestorepayload <value>
    --HealthChecks.WebhooksRestorePayload <value>

    An escaped JSON paylod to be sent to the web hook on recovery. Defaults to:

    {
    "attachments": [
    {
    "color": "#36a64f",
    "pretext": "Health Check Status :+1:",
    "fields": [
    {
    "title": "Details",
    "value": "More details available at /healthchecks-ui",
    "short": false
    },
    {
    "title": "description",
    "value": "The HealthCheck `[[LIVENESS]]` is recovered. Everything is up and running.",
    "short": false
    }
    ]
    }
    ]
    }
  • HealthChecks.WebhooksUri

    --healthchecks-webhooksuri <value>
    --HealthChecks.WebhooksUri <value>

    The web hook URL. Defaults to null.

Hive

  • Hive.BlocksDir

    --hive-blocksdir <value>
    --Hive.BlocksDir <value>

    The path to the directory with additional blocks. Defaults to /blocks.

  • Hive.ChainFile

    --hive-chainfile <value>
    --Hive.ChainFile <value>

    The path to the test chain spec file. Defaults to /chain.rlp.

  • Hive.Enabled

    --hive-enabled <value>
    --Hive.Enabled <value>

    Whether to enable Hive for debugging. Allowed values: true false. Defaults to false.

  • Hive.GenesisFilePath

    --hive-genesisfilepath <value>
    --Hive.GenesisFilePath <value>

    The path to the genesis block file. Defaults to /genesis.json.

  • Hive.KeysDir

    --hive-keysdir <value>
    --Hive.KeysDir <value>

    The path to the keystore directory. Defaults to /keys.

Init

  • Init.AutoDump

    --init-autodump <value>
    --Init.AutoDump <value>

    Auto-dump on bad blocks for diagnostics.

    Allowed values:

    • None: None.
    • Receipts: Dumps block receipts traces.
    • Parity: Dumps Parity-like traces.
    • Geth: Dumps Geth-like traces.
    • Rlp: Dumps RLP data to a .rlp file with the block hash in the file name.
    • RlpLog: Dumps RLP data to the log output.
    • Default: Combines the Receipts Rlp options.
    • All: Combines the Geth Parity Receipts Rlp options.

    Defaults to Default.

  • Init.BadBlocksStored

    --init-badblocksstored <value>
    --Init.BadBlocksStored <value>

    The maximum number of bad blocks observed on the network that will be stored on disk. Defaults to 100.

  • Init.BaseDbPath

    --init-basedbpath <value>
    --Init.BaseDbPath <value>

    The base path for all Nethermind databases. Defaults to db.

  • Init.ChainSpecPath

    --init-chainspecpath <value>
    --Init.ChainSpecPath <value>

    The path to the chain spec file. Defaults to chainspec/foundation.json.

  • Init.DiagnosticMode

    --init-diagnosticmode <value>
    --Init.DiagnosticMode <value>

    The diagnostic mode.

    Allowed values:

    • None: None.
    • MemDb: Uses an in-memory DB.
    • RpcDb: Uses a remote DB.
    • ReadOnlyDb: Uses a read-only DB.
    • VerifyRewards: Scans rewards for blocks and genesis.
    • VerifySupply: Scans and sums supply on all accounts.
    • VerifyTrie: Verifies if full state trie is stored.

    Defaults to None.

  • Init.DiscoveryEnabled

    --init-discoveryenabled <value>
    --Init.DiscoveryEnabled <value>

    Whether to enable the node discovery. If disabled, Nethermind doesn't look for other nodes beyond the bootnodes specified. Allowed values: true false. Defaults to true.

  • Init.EnableUnsecuredDevWallet

    --init-enableunsecureddevwallet <value>
    --Init.EnableUnsecuredDevWallet <value>

    Whether to enable the in-app wallet/keystore. Allowed values: true false. Defaults to false.

  • Init.GenesisHash

    --init-genesishash <value>
    --Init.GenesisHash <value>

    The hash of the genesis block. If not specified, the genesis block validity is not checked which is useful in the case of ad hoc test/private networks. Defaults to null.

  • Init.HiveChainSpecPath

    --init-hivechainspecpath <value>
    --Init.HiveChainSpecPath <value>

    The path to the chain spec file for Hive tests. Defaults to chainspec/test.json.

  • Init.IsMining

    --init-ismining <value>
    --Init.IsMining <value>

    Whether to seal/mine new blocks. Allowed values: true false. Defaults to false.

  • Init.KeepDevWalletInMemory

    --init-keepdevwalletinmemory <value>
    --Init.KeepDevWalletInMemory <value>

    Whether to create session-only accounts and delete them on shutdown. Allowed values: true false. Defaults to false.

  • Init.KzgSetupPath

    --init-kzgsetuppath <value>
    --Init.KzgSetupPath <value>

    The path to KZG trusted setup file. Defaults to null.

  • Init.LogDirectory

    --init-logdirectory <value>
    --Init.LogDirectory <value>

    The path to the Nethermind logs directory. Defaults to logs.

  • Init.LogFileName

    --init-logfilename <value>
    --Init.LogFileName <value>

    The name of the log file. Defaults to log.txt.

  • Init.LogRules

    --init-logrules <value>
    --Init.LogRules <value>

    The logs format as LogPath:LogLevel;* Defaults to null.

  • Init.MemoryHint

    --init-memoryhint <value>
    --Init.MemoryHint <value>

    The hint on the max memory limit, in bytes, to configure the database and networking memory allocations. Defaults to null.

  • Init.PeerManagerEnabled

    --init-peermanagerenabled <value>
    --Init.PeerManagerEnabled <value>

    Whether to connect to newly discovered peers. Allowed values: true false. Defaults to true.

  • Init.ProcessingEnabled

    --init-processingenabled <value>
    --Init.ProcessingEnabled <value>

    Whether to download/process new blocks. Allowed values: true false. Defaults to true.

  • Init.RpcDbUrl

    --init-rpcdburl <value>
    --Init.RpcDbUrl <value>

    The URL of the remote node used as a database source when DiagnosticMode is set to RpcDb.

  • Init.StaticNodesPath

    --init-staticnodespath <value>
    --Init.StaticNodesPath <value>

    The path to the static nodes file. Defaults to Data/static-nodes.json.

  • Init.WebSocketsEnabled

    --init-websocketsenabled <value>
    --Init.WebSocketsEnabled <value>

    Whether to enable WebSocket service for the default JSON-RPC port on startup. Allowed values: true false. Defaults to true.

JsonRpc

  • JsonRpc.AdditionalRpcUrls

    --jsonrpc-additionalrpcurls <value>
    --JsonRpc.AdditionalRpcUrls <value>

    An array of additional JSON-RPC URLs to listen at with protocol and JSON-RPC namespace list. For instance, [http://localhost:8546|http;ws|eth;web3]. Defaults to [].

  • JsonRpc.BufferResponses

    --jsonrpc-bufferresponses <value>
    --JsonRpc.BufferResponses <value>

    Whether to buffer responses before sending them. This allows using of Content-Length instead of Transfer-Encoding: chunked. Note that it may degrade performance on large responses. The max buffered response length is 2GB. Chunked responses can be larger. Allowed values: true false. Defaults to false.

  • JsonRpc.CallsFilterFilePath

    --jsonrpc-callsfilterfilepath <value>
    --JsonRpc.CallsFilterFilePath <value>

    The path to a file with the list of new-line-separated JSON-RPC calls. If specified, only the calls from that file are allowed. Defaults to Data/jsonrpc.filter.

  • JsonRpc.Enabled

    --jsonrpc-enabled <value>
    --JsonRpc.Enabled <value>

    Whether to enable the JSON-RPC service. Allowed values: true false. Defaults to false.

  • JsonRpc.EnabledModules

    --jsonrpc-enabledmodules <value>
    --JsonRpc.EnabledModules <value>

    An array of JSON-RPC namespaces to enable. For instance, [debug,eth].

    Built-in namespaces:

    • admin
    • client
    • debug
    • engine
    • eth
    • evm
    • health
    • net
    • parity
    • personal
    • proof
    • rpc
    • subscribe
    • trace
    • txpool
    • web3

    Defaults to [Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health,Rpc].

  • JsonRpc.EngineEnabledModules

    --jsonrpc-engineenabledmodules <value>
    --JsonRpc.EngineEnabledModules <value>

    An array of additional JSON-RPC URLs to listen at with protocol and JSON-RPC namespace list for Engine API. Defaults to [Net,Eth,Subscribe,Web3].

  • JsonRpc.EngineHost

    --jsonrpc-enginehost <value>
    --JsonRpc.EngineHost <value>

    The Engine API host. Defaults to 127.0.0.1.

  • JsonRpc.EnginePort

    --jsonrpc-engineport <value>
    --JsonRpc.EnginePort <value>

    The Engine API port. Defaults to null.

  • JsonRpc.EstimateErrorMargin

    --jsonrpc-estimateerrormargin <value>
    --JsonRpc.EstimateErrorMargin <value>

    The error margin used in the eth_estimateGas JSON-RPC method, in basis points. Defaults to 150.

  • JsonRpc.EthModuleConcurrentInstances

    --jsonrpc-ethmoduleconcurrentinstances <value>
    --JsonRpc.EthModuleConcurrentInstances <value>

    The number of concurrent instances for non-sharable calls:

    • eth_call
    • eth_estimateGas
    • eth_getLogs
    • eth_newBlockFilter
    • eth_newFilter
    • eth_newPendingTransactionFilter
    • eth_uninstallFilter

    This limits the load on the CPU and I/O to reasonable levels. If the limit is exceeded, HTTP 503 is returned along with the JSON-RPC error. Defaults to the number of logical processors.

  • JsonRpc.GasCap

    --jsonrpc-gascap <value>
    --JsonRpc.GasCap <value>

    The gas limit for eth_call and eth_estimateGas. Defaults to 100000000.

  • JsonRpc.Host

    --jsonrpc-host <value>
    --JsonRpc.Host <value>

    The JSON-RPC service host. Defaults to 127.0.0.1.

  • JsonRpc.IpcUnixDomainSocketPath

    --jsonrpc-ipcunixdomainsocketpath <value>
    --JsonRpc.IpcUnixDomainSocketPath <value>

    The path to connect a UNIX domain socket over.

  • JsonRpc.JwtSecretFile

    --jsonrpc-jwtsecretfile <value>
    --JsonRpc.JwtSecretFile <value>

    The path to the JWT secret file required for the Engine API authentication. Defaults to keystore/jwt-secret.

  • JsonRpc.MaxBatchResponseBodySize

    --jsonrpc-maxbatchresponsebodysize <value>
    --JsonRpc.MaxBatchResponseBodySize <value>

    The max batch size limit for batched JSON-RPC calls. Defaults to 33554432.

  • JsonRpc.MaxBatchSize

    --jsonrpc-maxbatchsize <value>
    --JsonRpc.MaxBatchSize <value>

    The max number of JSON-RPC requests in a batch. Defaults to 1024.

  • JsonRpc.MaxLoggedRequestParametersCharacters

    --jsonrpc-maxloggedrequestparameterscharacters <value>
    --JsonRpc.MaxLoggedRequestParametersCharacters <value>

    The max number of characters of a JSON-RPC request parameter printing to the log. Defaults to null.

  • JsonRpc.MaxLogsPerResponse

    --jsonrpc-maxlogsperresponse <value>
    --JsonRpc.MaxLogsPerResponse <value>

    The max number of logs per response for the eth_getLogs JSON-RPC method. 0 to lift the limit. Defaults to 20000.

  • JsonRpc.MaxRequestBodySize

    --jsonrpc-maxrequestbodysize <value>
    --JsonRpc.MaxRequestBodySize <value>

    The max length of HTTP request body, in bytes. Defaults to 30000000.

  • JsonRpc.MaxSimulateBlocksCap

    --jsonrpc-maxsimulateblockscap <value>
    --JsonRpc.MaxSimulateBlocksCap <value>

    The max block count limit for the eth_simulate JSON-RPC method. Defaults to 256.

  • JsonRpc.MethodsLoggingFiltering

    --jsonrpc-methodsloggingfiltering <value>
    --JsonRpc.MethodsLoggingFiltering <value>

    An array of the method names not to log. Defaults to [engine_newPayloadV1,engine_newPayloadV2,engine_newPayloadV3,engine_forkchoiceUpdatedV1,engine_forkchoiceUpdatedV2].

  • JsonRpc.Port

    --jsonrpc-port <value>
    --JsonRpc.Port <value>

    The JSON-RPC service HTTP port. Defaults to 8545.

  • JsonRpc.ReportIntervalSeconds

    --jsonrpc-reportintervalseconds <value>
    --JsonRpc.ReportIntervalSeconds <value>

    The interval, in seconds, between the JSON-RPC stats report log. Defaults to 300.

  • JsonRpc.RequestQueueLimit

    --jsonrpc-requestqueuelimit <value>
    --JsonRpc.RequestQueueLimit <value>

    The max number of concurrent requests in the queue for:

    • eth_call
    • eth_estimateGas
    • eth_getLogs
    • eth_newFilter
    • eth_newBlockFilter
    • eth_newPendingTransactionFilter
    • eth_uninstallFilter

    0 to lift the limit. Defaults to 500.

  • JsonRpc.RpcRecorderBaseFilePath

    --jsonrpc-rpcrecorderbasefilepath <value>
    --JsonRpc.RpcRecorderBaseFilePath <value>

    The path to the base file for diagnostic recording. Defaults to logs/rpc.{counter}.txt.

  • JsonRpc.RpcRecorderState

    --jsonrpc-rpcrecorderstate <value>
    --JsonRpc.RpcRecorderState <value>

    The diagnostic recording mode.

    Allowed values:

    • None: None.
    • Request: Records requests.
    • Response: Records responses.
    • All: Records both requests and responses.

    Defaults to None.

  • JsonRpc.Timeout

    --jsonrpc-timeout <value>
    --JsonRpc.Timeout <value>

    The request timeout, in milliseconds. Defaults to 20000.

  • JsonRpc.WebSocketsPort

    --jsonrpc-websocketsport <value>
    --JsonRpc.WebSocketsPort <value>

    The JSON-RPC service WebSockets port. Defaults to 8545.

KeyStore

  • KeyStore.BlockAuthorAccount

    --keystore-blockauthoraccount <value>
    --KeyStore.BlockAuthorAccount <value>

    An account to use as the block author (coinbase).

  • KeyStore.Cipher

    --keystore-cipher <value>
    --KeyStore.Cipher <value>

    See Web3 secret storage definition. Defaults to aes-128-ctr.

  • KeyStore.EnodeAccount

    --keystore-enodeaccount <value>
    --KeyStore.EnodeAccount <value>

    An account to use for networking (enode). If neither this nor the EnodeKeyFile option is specified, the key is autogenerated in node.key.plain file.

  • KeyStore.EnodeKeyFile

    --keystore-enodekeyfile <value>
    --KeyStore.EnodeKeyFile <value>

    The path to the key file to use by for networking (enode). If neither this nor the EnodeAccount is specified, the key is autogenerated in node.key.plain file.

  • KeyStore.IVSize

    --keystore-ivsize <value>
    --KeyStore.IVSize <value>

    See Web3 secret storage definition. Defaults to 16.

  • KeyStore.Kdf

    --keystore-kdf <value>
    --KeyStore.Kdf <value>

    See Web3 secret storage definition. Defaults to scrypt.

  • KeyStore.KdfparamsDklen

    --keystore-kdfparamsdklen <value>
    --KeyStore.KdfparamsDklen <value>

    See Web3 secret storage definition. Defaults to 32.

  • KeyStore.KdfparamsN

    --keystore-kdfparamsn <value>
    --KeyStore.KdfparamsN <value>

    See Web3 secret storage definition. Defaults to 262144.

  • KeyStore.KdfparamsP

    --keystore-kdfparamsp <value>
    --KeyStore.KdfparamsP <value>

    See Web3 secret storage definition. Defaults to 1.

  • KeyStore.KdfparamsR

    --keystore-kdfparamsr <value>
    --KeyStore.KdfparamsR <value>

    See Web3 secret storage definition. Defaults to 8.

  • KeyStore.KdfparamsSaltLen

    --keystore-kdfparamssaltlen <value>
    --KeyStore.KdfparamsSaltLen <value>

    See Web3 secret storage definition. Defaults to 32.

  • KeyStore.KeyStoreDirectory

    --keystore-keystoredirectory <value>
    --KeyStore.KeyStoreDirectory <value>

    The path to the keystore directory. Defaults to keystore.

  • KeyStore.KeyStoreEncoding

    --keystore-keystoreencoding <value>
    --KeyStore.KeyStoreEncoding <value>

    See Web3 secret storage definition. Defaults to UTF-8.

  • KeyStore.PasswordFiles

    --keystore-passwordfiles <value>
    --KeyStore.PasswordFiles <value>

    An array of password files paths used to unlock the accounts set with UnlockAccounts. Defaults to [].

  • KeyStore.Passwords

    --keystore-passwords <value>
    --KeyStore.Passwords <value>

    An array of passwords used to unlock the accounts set with UnlockAccounts. Defaults to [].

  • KeyStore.SymmetricEncrypterBlockSize

    --keystore-symmetricencrypterblocksize <value>
    --KeyStore.SymmetricEncrypterBlockSize <value>

    See Web3 secret storage definition. Defaults to 128.

  • KeyStore.SymmetricEncrypterKeySize

    --keystore-symmetricencrypterkeysize <value>
    --KeyStore.SymmetricEncrypterKeySize <value>

    See Web3 secret storage definition. Defaults to 128.

  • KeyStore.TestNodeKey

    --keystore-testnodekey <value>
    --KeyStore.TestNodeKey <value>

    A plaintext private key to use for testing purposes.

  • KeyStore.UnlockAccounts

    --keystore-unlockaccounts <value>
    --KeyStore.UnlockAccounts <value>

    An array of accounts to unlock on startup using passwords either in PasswordFiles and Passwords. Defaults to [].

Merge

  • Merge.BuilderRelayUrl

    --merge-builderrelayurl <value>
    --Merge.BuilderRelayUrl <value>

    The URL of a builder relay. If specified, blocks are sent to the relay. Defaults to null.

  • Merge.CollectionsPerDecommit

    --merge-collectionsperdecommit <value>
    --Merge.CollectionsPerDecommit <value>

    The number of requests to the garbage collector (GC) to release the process memory.

    Allowed values:

    • -1: No requests.
    • 0: Requests every time.
    • A positive number: Requests after that many Engine API calls.

    Defaults to 25.

  • Merge.CompactMemory

    --merge-compactmemory <value>
    --Merge.CompactMemory <value>

    The memory compaction mode. When set to Full, compacts the large object heap (LOH) if SweepMemory is set to Gen2.

    Allowed values:

    • No: Disables memory compaction.
    • Yes: Enables memory compaction.
    • Full: Enables memory compaction with the large object heap (LOH) if SweepMemory is set to Gen2.

    Defaults to Yes.

  • Merge.Enabled

    --merge-enabled <value>
    --Merge.Enabled <value>

    Whether to enable the Merge hard fork. Allowed values: true false. Defaults to true.

  • Merge.FinalTotalDifficulty

    --merge-finaltotaldifficulty <value>
    --Merge.FinalTotalDifficulty <value>

    The total difficulty of the last PoW block. Must be greater than or equal to the terminal total difficulty (TTD). Defaults to null.

  • Merge.PrioritizeBlockLatency

    --merge-prioritizeblocklatency <value>
    --Merge.PrioritizeBlockLatency <value>

    Whether to reduce block latency by disabling garbage collection during Engine API calls. Allowed values: true false. Defaults to true.

  • Merge.SweepMemory

    --merge-sweepmemory <value>
    --Merge.SweepMemory <value>

    The garbage collection (GC) mode between Engine API calls.

    Allowed values:

    • NoGC: Disables garbage collection.
    • Gen0: Enables garbage collection of generation 0.
    • Gen1: Enables garbage collection of generation 1.
    • Gen2: Enables garbage collection of generation 2.

    Defaults to Gen1.

  • Merge.TerminalBlockHash

    --merge-terminalblockhash <value>
    --Merge.TerminalBlockHash <value>

    The terminal PoW block hash used for the transition. Defaults to null.

  • Merge.TerminalBlockNumber

    --merge-terminalblocknumber <value>
    --Merge.TerminalBlockNumber <value>

    The terminal PoW block number used for the transition.

  • Merge.TerminalTotalDifficulty

    --merge-terminaltotaldifficulty <value>
    --Merge.TerminalTotalDifficulty <value>

    The terminal total difficulty (TTD) used for the transition. Defaults to null.

Metrics

  • Metrics.CountersEnabled

    --metrics-countersenabled <value>
    --Metrics.CountersEnabled <value>

    Whether to publish metrics using .NET diagnostics that can be collected with dotnet-counters. Allowed values: true false. Defaults to false.

  • Metrics.Enabled

    --metrics-enabled <value>
    --Metrics.Enabled <value>

    Whether to publish various metrics to Prometheus Pushgateway at a given interval. Allowed values: true false. Defaults to false.

  • Metrics.EnableDbSizeMetrics

    --metrics-enabledbsizemetrics <value>
    --Metrics.EnableDbSizeMetrics <value>

    Whether to publish database size metrics. Allowed values: true false. Defaults to true.

  • Metrics.ExposeHost

    --metrics-exposehost <value>
    --Metrics.ExposeHost <value>

    The IP address to expose Prometheus metrics at. The value of + means listening on all available hostnames. Setting this to localhost prevents remote access. Defaults to +.

  • Metrics.ExposePort

    --metrics-exposeport <value>
    --Metrics.ExposePort <value>

    The port to expose Prometheus metrics at. Defaults to null.

  • Metrics.IntervalSeconds

    --metrics-intervalseconds <value>
    --Metrics.IntervalSeconds <value>

    The frequency of pushing metrics to Prometheus, in seconds. Defaults to 5.

  • Metrics.NodeName

    --metrics-nodename <value>
    --Metrics.NodeName <value>

    The name to display on the Grafana dashboard. Defaults to "Nethermind".

  • Metrics.PushGatewayUrl

    --metrics-pushgatewayurl <value>
    --Metrics.PushGatewayUrl <value>

    The Prometheus Pushgateway instance URL.

Mining

  • Mining.Enabled

    --mining-enabled <value>
    --Mining.Enabled <value>

    Whether to produce blocks. Allowed values: true false. Defaults to false.

  • Mining.Signer

    --mining-signer <value>
    --Mining.Signer <value>

    The URL of an external signer like Clef. Defaults to null.

Network

  • Network.Bootnodes

    --network-bootnodes <value>
    --Network.Bootnodes <value>

    A comma-separated enode list to be used as boot nodes.

  • Network.DiagTracerEnabled

    --network-diagtracerenabled <value>
    --Network.DiagTracerEnabled <value>

    Whether to enable a verbose diagnostic tracing. Allowed values: true false. Defaults to false.

  • Network.DiscoveryDns

    --network-discoverydns <value>
    --Network.DiscoveryDns <value>

    Use tree is available through a DNS name. For the default of <chain name>.ethdisco.net, leave unspecified. Defaults to null.

  • Network.DiscoveryPort

    --network-discoveryport <value>
    --Network.DiscoveryPort <value>

    The UDP port number for incoming discovery connections. It's recommended to keep it the same as the TCP port (P2PPort) because other values have not been tested yet. Defaults to 30303.

  • Network.EnableUPnP

    --network-enableupnp <value>
    --Network.EnableUPnP <value>

    Whether to enable automatic port forwarding via UPnP. Allowed values: true false. Defaults to false.

  • Network.ExternalIp

    --network-externalip <value>
    --Network.ExternalIp <value>

    The external IP. Use only when the external IP cannot be resolved automatically. Defaults to null.

  • Network.LocalIp

    --network-localip <value>
    --Network.LocalIp <value>

    The local IP. Use only when the local IP cannot be resolved automatically. Defaults to null.

  • Network.MaxActivePeers

    --network-maxactivepeers <value>
    --Network.MaxActivePeers <value>

    The max allowed number of connected peers. Defaults to 50.

  • Network.MaxNettyArenaCount

    --network-maxnettyarenacount <value>
    --Network.MaxNettyArenaCount <value>

    The maximum DotNetty arena count. Increasing this on a high-core CPU without increasing the memory budget may reduce chunk size so much that it causes a huge memory allocation. Defaults to 8.

  • Network.NettyArenaOrder

    --network-nettyarenaorder <value>
    --Network.NettyArenaOrder <value>

    The size of the DotNetty arena order. -1 to depend on the memory hint. Defaults to -1.

  • Network.OnlyStaticPeers

    --network-onlystaticpeers <value>
    --Network.OnlyStaticPeers <value>

    Whether to use static peers only. Allowed values: true false. Defaults to false.

  • Network.P2PPort

    --network-p2pport <value>
    --Network.P2PPort <value>

    The TCP port for incoming P2P connections. Defaults to 30303.

  • Network.PriorityPeersMaxCount

    --network-prioritypeersmaxcount <value>
    --Network.PriorityPeersMaxCount <value>

    The max number of priority peers. Can be overridden by a plugin. Defaults to 0.

  • Network.StaticPeers

    --network-staticpeers <value>
    --Network.StaticPeers <value>

    A list of peers to keep connection for. Static peers are affected by MaxActivePeers. Defaults to null.

Optimism

  • Optimism.SequencerUrl

    --optimism-sequencerurl <value>
    --Optimism.SequencerUrl <value>

    The sequencer address. Defaults to null.

Pruning

  • Pruning.AvailableSpaceCheckEnabled

    --pruning-availablespacecheckenabled <value>
    --Pruning.AvailableSpaceCheckEnabled <value>

    Whether to enables available disk space check. Allowed values: true false. Defaults to true.

  • Pruning.CacheMb

    --pruning-cachemb <value>
    --Pruning.CacheMb <value>

    The in-memory cache size, in MB. The bigger the cache size, the bigger the disk space savings. Defaults to 1024.

  • Pruning.FullPruningCompletionBehavior

    --pruning-fullpruningcompletionbehavior <value>
    --Pruning.FullPruningCompletionBehavior <value>

    The action to take on pruning completion.

    Allowed values:

    • None: No action.
    • ShutdownOnSuccess: Shuts Nethermind down when pruning succeeds but leaves it running when fails.
    • AlwaysShutdown: Shuts Nethermind down when pruning completes, regardless of its status.

    Defaults to None.

  • Pruning.FullPruningDisableLowPriorityWrites

    --pruning-fullpruningdisablelowprioritywrites <value>
    --Pruning.FullPruningDisableLowPriorityWrites <value>

    Whether to disable low-priority for pruning writes. Full pruning uses low-priority write operations to prevent blocking block processing. If block processing is not high-priority, set this option to true for faster pruning. Allowed values: true false. Defaults to false.

  • Pruning.FullPruningMaxDegreeOfParallelism

    --pruning-fullpruningmaxdegreeofparallelism <value>
    --Pruning.FullPruningMaxDegreeOfParallelism <value>

    The max number of parallel tasks that can be used by full pruning.

    Allowed values:

    • -1: Uses the number of logical processors.
    • 0: Uses 25% of logical processors.
    • 1: Runs on a single thread.

    The recommended value depends on the type of the node:

    • If the node needs to be responsive (serves for RPC or validator), then the recommended value is 0 or -1.
    • If the node doesn't have many other responsibilities but needs to be able to follow the chain reliably without any delays and produce live logs, the 0 or 1 is recommended.
    • If the node doesn't have to be responsive, has very fast I/O (like NVMe) and the shortest pruning time is to be achieved, then -1 is recommended. Defaults to 0.
  • Pruning.FullPruningMemoryBudgetMb

    --pruning-fullpruningmemorybudgetmb <value>
    --Pruning.FullPruningMemoryBudgetMb <value>

    The memory budget, in MB, used for the trie visit. Increasing this value significantly reduces the IOPS requirement at the expense of memory usage. 0 to disable. Defaults to 4000.

  • Pruning.FullPruningMinimumDelayHours

    --pruning-fullpruningminimumdelayhours <value>
    --Pruning.FullPruningMinimumDelayHours <value>

    The minimum delay, in hours, between full pruning operations not to exhaust disk writes. Defaults to 240.

  • Pruning.FullPruningThresholdMb

    --pruning-fullpruningthresholdmb <value>
    --Pruning.FullPruningThresholdMb <value>

    The threshold, in MB, to trigger full pruning. Depends on Mode and FullPruningTrigger. Defaults to 256000.

  • Pruning.FullPruningTrigger

    --pruning-fullpruningtrigger <value>
    --Pruning.FullPruningTrigger <value>

    The full pruning trigger.

    Allowed values:

    • Manual: Does not trigger. Pruning can be triggered manually.
    • StateDbSize: Triggers when the state DB size is above the specified threshold.
    • VolumeFreeSpace: Triggers when the free disk space where the state DB is stored is below the specified threshold.

    Defaults to Manual.

  • Pruning.Mode

    --pruning-mode <value>
    --Pruning.Mode <value>

    The pruning mode.

    Allowed values:

    • None: No pruning (archive).
    • Memory: In-memory pruning.
    • Full: Full pruning.
    • Hybrid: Combined in-memory and full pruning.

    Defaults to Hybrid.

  • Pruning.PersistenceInterval

    --pruning-persistenceinterval <value>
    --Pruning.PersistenceInterval <value>

    The block persistence frequency. If set to N, it caches after each Nth block even if not required by cache memory usage. Defaults to 8192.

  • Pruning.PruningBoundary

    --pruning-pruningboundary <value>
    --Pruning.PruningBoundary <value>

    The number of past states before the state gets pruned. Used to determine how old of a state to keep from the head. Defaults to 64.

  • Pruning.TrackedPastKeyCountMemoryRatio

    --pruning-trackedpastkeycountmemoryratio <value>
    --Pruning.TrackedPastKeyCountMemoryRatio <value>

    The ratio of memory out of Pruning.CacheMb to allocate for the LRU cache, used to track past keys for live pruning. Defaults to 0.1.

Receipt

  • Receipt.CompactReceiptStore

    --receipt-compactreceiptstore <value>
    --Receipt.CompactReceiptStore <value>

    Whether to compact receipts database size at the expense of RPC performance. Allowed values: true false. Defaults to true.

  • Receipt.CompactTxIndex

    --receipt-compacttxindex <value>
    --Receipt.CompactTxIndex <value>

    Whether to compact receipts transaction index database size at the expense of RPC performance. Allowed values: true false. Defaults to true.

  • Receipt.ReceiptsMigration

    --receipt-receiptsmigration <value>
    --Receipt.ReceiptsMigration <value>

    Whether to migrate the receipts database to the new schema. Allowed values: true false. Defaults to false.

  • Receipt.StoreReceipts

    --receipt-storereceipts <value>
    --Receipt.StoreReceipts <value>

    Whether to store receipts after a new block is processed. This setting is independent from downloading receipts in fast sync mode. Allowed values: true false. Defaults to true.

  • Receipt.TxLookupLimit

    --receipt-txlookuplimit <value>
    --Receipt.TxLookupLimit <value>

    The number of recent blocks to maintain transaction index for. 0 to never remove indices, -1 to never index. Defaults to 2350000.

Seq

  • Seq.ApiKey

    --seq-apikey <value>
    --Seq.ApiKey <value>

    The Seq API key.

  • Seq.MinLevel

    --seq-minlevel <value>
    --Seq.MinLevel <value>

    The min log level to sent to Seq. Defaults to Off.

  • Seq.ServerUrl

    --seq-serverurl <value>
    --Seq.ServerUrl <value>

    The Seq instance URL. Defaults to http://localhost:5341.

Shutter

  • Shutter.BootnodeP2PAddresses

    --shutter-bootnodep2paddresses <value>
    --Shutter.BootnodeP2PAddresses <value>

    The p2p addresses of the Shutter Keyper network bootnodes.

  • Shutter.Enabled

    --shutter-enabled <value>
    --Shutter.Enabled <value>

    Whether to enable Shutter. Allowed values: true false. Defaults to false.

  • Shutter.InstanceID

    --shutter-instanceid <value>
    --Shutter.InstanceID <value>

    Instance ID of Shutter keyper set. Defaults to 0.

  • Shutter.KeyBroadcastContractAddress

    --shutter-keybroadcastcontractaddress <value>
    --Shutter.KeyBroadcastContractAddress <value>

    The address of the Shutter key broadcast contract. Defaults to null.

  • Shutter.KeyperSetManagerContractAddress

    --shutter-keypersetmanagercontractaddress <value>
    --Shutter.KeyperSetManagerContractAddress <value>

    The address of the Shutter keyper set manager contract. Defaults to null.

  • Shutter.P2PPort

    --shutter-p2pport <value>
    --Shutter.P2PPort <value>

    The port to connect to Shutter P2P network with. Defaults to 23102.

  • Shutter.SequencerContractAddress

    --shutter-sequencercontractaddress <value>
    --Shutter.SequencerContractAddress <value>

    The address of the Shutter sequencer contract. Defaults to null.

  • Shutter.ShutterKeyFile

    --shutter-shutterkeyfile <value>
    --Shutter.ShutterKeyFile <value>

    The filename to use for the Shutter P2P key. If this not specified, the key is autogenerated in shutter.key.plain file.

  • Shutter.ValidatorInfoFile

    --shutter-validatorinfofile <value>
    --Shutter.ValidatorInfoFile <value>

    The filepath of the validator info json file. Defaults to null.

  • Shutter.ValidatorRegistryContractAddress

    --shutter-validatorregistrycontractaddress <value>
    --Shutter.ValidatorRegistryContractAddress <value>

    The address of the Shutter validator registry contract. Defaults to null.

Snapshot

  • Snapshot.Checksum

    --snapshot-checksum <value>
    --Snapshot.Checksum <value>

    The SHA-256 checksum of the snapshot file. Defaults to null.

  • Snapshot.DownloadUrl

    --snapshot-downloadurl <value>
    --Snapshot.DownloadUrl <value>

    The URL of the snapshot file. Defaults to null.

  • Snapshot.Enabled

    --snapshot-enabled <value>
    --Snapshot.Enabled <value>

    Whether to enable the Snapshot plugin. Allowed values: true false. Defaults to false.

  • Snapshot.SnapshotDirectory

    --snapshot-snapshotdirectory <value>
    --Snapshot.SnapshotDirectory <value>

    The path to the directory to store the snapshot file. Defaults to snapshot.

  • Snapshot.SnapshotFileName

    --snapshot-snapshotfilename <value>
    --Snapshot.SnapshotFileName <value>

    The name of the snapshot file. Defaults to snapshot.zip.

Sync

  • Sync.AncientBodiesBarrier

    --sync-ancientbodiesbarrier <value>
    --Sync.AncientBodiesBarrier <value>

    The earliest body downloaded with fast sync when DownloadBodiesInFastSync is set to true. The actual value is determined as follows:

    max{ 1, min{ PivotNumber, AncientBodiesBarrier } }

    Defaults to 0.

  • Sync.AncientReceiptsBarrier

    --sync-ancientreceiptsbarrier <value>
    --Sync.AncientReceiptsBarrier <value>

    The earliest receipt downloaded with fast sync when DownloadReceiptsInFastSync is set to true. The actual value is determined as follows:

    max{ 1, min{ PivotNumber, max{ AncientBodiesBarrier, AncientReceiptsBarrier } } }

    Defaults to 0.

  • Sync.DownloadBodiesInFastSync

    --sync-downloadbodiesinfastsync <value>