Configuration
Nethermind is highly configurable. There are 3 ways of configuring it, listed by priority:
- Command line options (aka arguments or flags)
- Environment variables
- Configuration file
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.
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
.noteThis 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.
warningThe absolute paths set by
Init.BaseDbPath
,Init.LogDirectory
, orKeyStore.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 toinfo
. -
--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
- CLI
- Environment variable
- Configuration file
--aura-allowauraprivatechains <value>
--Aura.AllowAuRaPrivateChains <value>NETHERMIND_AURACONFIG_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 tofalse
. -
Aura.ForceSealing
- CLI
- Environment variable
- Configuration file
--aura-forcesealing <value>
--Aura.ForceSealing <value>NETHERMIND_AURACONFIG_FORCESEALING=<value>
{
"Aura": {
"ForceSealing": <value>
}
}Whether to seal empty blocks if mining. Allowed values:
true
false
. Defaults totrue
. -
Aura.Minimum2MlnGasPerBlockWhenUsingBlockGasLimitContract
- CLI
- Environment variable
- Configuration file
--aura-minimum2mlngasperblockwhenusingblockgaslimitcontract <value>
--Aura.Minimum2MlnGasPerBlockWhenUsingBlockGasLimitContract <value>NETHERMIND_AURACONFIG_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 tofalse
. -
Aura.TxPriorityConfigFilePath
- CLI
- Environment variable
- Configuration file
--aura-txpriorityconfigfilepath <value>
--Aura.TxPriorityConfigFilePath <value>NETHERMIND_AURACONFIG_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
- CLI
- Environment variable
- Configuration file
--aura-txprioritycontractaddress <value>
--Aura.TxPriorityContractAddress <value>NETHERMIND_AURACONFIG_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
- CLI
- Environment variable
- Configuration file
--blocks-blockproductiontimeoutms <value>
--Blocks.BlockProductionTimeoutMs <value>NETHERMIND_BLOCKSCONFIG_BLOCKPRODUCTIONTIMEOUTMS=<value>
{
"Blocks": {
"BlockProductionTimeoutMs": <value>
}
}The block production timeout, in milliseconds. Defaults to
4000
. -
Blocks.ExtraData
- CLI
- Environment variable
- Configuration file
--blocks-extradata <value>
--Blocks.ExtraData <value>NETHERMIND_BLOCKSCONFIG_EXTRADATA=<value>
{
"Blocks": {
"ExtraData": <value>
}
}The block header extra data up to 32 bytes in length. Defaults to
Nethermind
. -
Blocks.GenesisTimeoutMs
- CLI
- Environment variable
- Configuration file
--blocks-genesistimeoutms <value>
--Blocks.GenesisTimeoutMs <value>NETHERMIND_BLOCKSCONFIG_GENESISTIMEOUTMS=<value>
{
"Blocks": {
"GenesisTimeoutMs": <value>
}
}The genesis block load timeout, in milliseconds. Defaults to
40000
. -
Blocks.MinGasPrice
- CLI
- Environment variable
- Configuration file
--blocks-mingasprice <value>
--Blocks.MinGasPrice <value>NETHERMIND_BLOCKSCONFIG_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
- CLI
- Environment variable
- Configuration file
--blocks-prewarmstateonblockprocessing <value>
--Blocks.PreWarmStateOnBlockProcessing <value>NETHERMIND_BLOCKSCONFIG_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 toTrue
. -
Blocks.RandomizedBlocks
- CLI
- Environment variable
- Configuration file
--blocks-randomizedblocks <value>
--Blocks.RandomizedBlocks <value>NETHERMIND_BLOCKSCONFIG_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 tofalse
. -
Blocks.SecondsPerSlot
- CLI
- Environment variable
- Configuration file
--blocks-secondsperslot <value>
--Blocks.SecondsPerSlot <value>NETHERMIND_BLOCKSCONFIG_SECONDSPERSLOT=<value>
{
"Blocks": {
"SecondsPerSlot": <value>
}
}The block time slot, in seconds. Defaults to
12
. -
Blocks.TargetBlockGasLimit
- CLI
- Environment variable
- Configuration file
--blocks-targetblockgaslimit <value>
--Blocks.TargetBlockGasLimit <value>NETHERMIND_BLOCKSCONFIG_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
- CLI
- Environment variable
- Configuration file
--bloom-index <value>
--Bloom.Index <value>NETHERMIND_BLOOMCONFIG_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 totrue
. -
Bloom.IndexLevelBucketSizes
- CLI
- Environment variable
- Configuration file
--bloom-indexlevelbucketsizes <value>
--Bloom.IndexLevelBucketSizes <value>NETHERMIND_BLOOMCONFIG_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
- CLI
- Environment variable
- Configuration file
--bloom-migration <value>
--Bloom.Migration <value>NETHERMIND_BLOOMCONFIG_MIGRATION=<value>
{
"Bloom": {
"Migration": <value>
}
}Whether to migrate the previously downloaded blocks to the Bloom index. Allowed values:
true
false
. Defaults tofalse
. -
Bloom.MigrationStatistics
- CLI
- Environment variable
- Configuration file
--bloom-migrationstatistics <value>
--Bloom.MigrationStatistics <value>NETHERMIND_BLOOMCONFIG_MIGRATIONSTATISTICS=<value>
{
"Bloom": {
"MigrationStatistics": <value>
}
}Whether the migration statistics should be calculated and output. Allowed values:
true
false
. Defaults tofalse
.
CensorshipDetector
-
CensorshipDetector.AddressesForCensorshipDetection
- CLI
- Environment variable
- Configuration file
--censorshipdetector-addressesforcensorshipdetection <value>
--CensorshipDetector.AddressesForCensorshipDetection <value>NETHERMIND_CENSORSHIPDETECTORCONFIG_ADDRESSESFORCENSORSHIPDETECTION=<value>
{
"CensorshipDetector": {
"AddressesForCensorshipDetection": <value>
}
}The addresses to detect censorship for. Defaults to
null
. -
CensorshipDetector.BlockCensorshipThreshold
- CLI
- Environment variable
- Configuration file
--censorshipdetector-blockcensorshipthreshold <value>
--CensorshipDetector.BlockCensorshipThreshold <value>NETHERMIND_CENSORSHIPDETECTORCONFIG_BLOCKCENSORSHIPTHRESHOLD=<value>
{
"CensorshipDetector": {
"BlockCensorshipThreshold": <value>
}
}The number of the consecutive blocks with detected potential censorship to report. Defaults to
2
. -
CensorshipDetector.Enabled
- CLI
- Environment variable
- Configuration file
--censorshipdetector-enabled <value>
--CensorshipDetector.Enabled <value>NETHERMIND_CENSORSHIPDETECTORCONFIG_ENABLED=<value>
{
"CensorshipDetector": {
"Enabled": <value>
}
}Whether to enable censorship detection. Allowed values:
true
false
. Defaults tofalse
.
EthStats
-
EthStats.Contact
- CLI
- Environment variable
- Configuration file
--ethstats-contact <value>
--EthStats.Contact <value>NETHERMIND_ETHSTATSCONFIG_CONTACT=<value>
{
"EthStats": {
"Contact": <value>
}
}The node owner contact details displayed on Ethstats. Defaults to
hello@nethermind.io
. -
EthStats.Enabled
- CLI
- Environment variable
- Configuration file
--ethstats-enabled <value>
--EthStats.Enabled <value>NETHERMIND_ETHSTATSCONFIG_ENABLED=<value>
{
"EthStats": {
"Enabled": <value>
}
}Whether to use Ethstats publishing. Allowed values:
true
false
. Defaults tofalse
. -
EthStats.Name
- CLI
- Environment variable
- Configuration file
--ethstats-name <value>
--EthStats.Name <value>NETHERMIND_ETHSTATSCONFIG_NAME=<value>
{
"EthStats": {
"Name": <value>
}
}The node name displayed on Ethstats. Defaults to
Nethermind
. -
EthStats.Secret
- CLI
- Environment variable
- Configuration file
--ethstats-secret <value>
--EthStats.Secret <value>NETHERMIND_ETHSTATSCONFIG_SECRET=<value>
{
"EthStats": {
"Secret": <value>
}
}The Ethstats secret. Defaults to
secret
. -
EthStats.SendInterval
- CLI
- Environment variable
- Configuration file
--ethstats-sendinterval <value>
--EthStats.SendInterval <value>NETHERMIND_ETHSTATSCONFIG_SENDINTERVAL=<value>
{
"EthStats": {
"SendInterval": <value>
}
}The stats update interval, in seconds. Defaults to
15
. -
EthStats.Server
- CLI
- Environment variable
- Configuration file
--ethstats-server <value>
--EthStats.Server <value>NETHERMIND_ETHSTATSCONFIG_SERVER=<value>
{
"EthStats": {
"Server": <value>
}
}The Ethstats server URL. Defaults to
ws://localhost:3000/api
.
HealthChecks
-
HealthChecks.Enabled
- CLI
- Environment variable
- Configuration file
--healthchecks-enabled <value>
--HealthChecks.Enabled <value>NETHERMIND_HEALTHCHECKSCONFIG_ENABLED=<value>
{
"HealthChecks": {
"Enabled": <value>
}
}Whether to enable the health check. Allowed values:
true
false
. Defaults tofalse
. -
HealthChecks.LowStorageCheckAwaitOnStartup
- CLI
- Environment variable
- Configuration file
--healthchecks-lowstoragecheckawaitonstartup <value>
--HealthChecks.LowStorageCheckAwaitOnStartup <value>NETHERMIND_HEALTHCHECKSCONFIG_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 tofalse
. -
HealthChecks.LowStorageSpaceShutdownThreshold
- CLI
- Environment variable
- Configuration file
--healthchecks-lowstoragespaceshutdownthreshold <value>
--HealthChecks.LowStorageSpaceShutdownThreshold <value>NETHERMIND_HEALTHCHECKSCONFIG_LOWSTORAGESPACESHUTDOWNTHRESHOLD=<value>
{
"HealthChecks": {
"LowStorageSpaceShutdownThreshold": <value>
}
}The percentage of available disk space below which Nethermind shuts down.
0
to disable. Defaults to1
. -
HealthChecks.LowStorageSpaceWarningThreshold
- CLI
- Environment variable
- Configuration file
--healthchecks-lowstoragespacewarningthreshold <value>
--HealthChecks.LowStorageSpaceWarningThreshold <value>NETHERMIND_HEALTHCHECKSCONFIG_LOWSTORAGESPACEWARNINGTHRESHOLD=<value>
{
"HealthChecks": {
"LowStorageSpaceWarningThreshold": <value>
}
}The percentage of available disk space below which a warning is displayed.
0
to disable. Defaults to5
. -
HealthChecks.MaxIntervalClRequestTime
- CLI
- Environment variable
- Configuration file
--healthchecks-maxintervalclrequesttime <value>
--HealthChecks.MaxIntervalClRequestTime <value>NETHERMIND_HEALTHCHECKSCONFIG_MAXINTERVALCLREQUESTTIME=<value>
{
"HealthChecks": {
"MaxIntervalClRequestTime": <value>
}
}The max request interval, in seconds, in which the consensus client is assumed healthy. Defaults to
300
. -
HealthChecks.MaxIntervalWithoutProcessedBlock
- CLI
- Environment variable
- Configuration file
--healthchecks-maxintervalwithoutprocessedblock <value>
--HealthChecks.MaxIntervalWithoutProcessedBlock <value>NETHERMIND_HEALTHCHECKSCONFIG_MAXINTERVALWITHOUTPROCESSEDBLOCK=<value>
{
"HealthChecks": {
"MaxIntervalWithoutProcessedBlock": <value>
}
}The max interval, in seconds, in which the block processing is assumed healthy. Defaults to
null
. -
HealthChecks.MaxIntervalWithoutProducedBlock
- CLI
- Environment variable
- Configuration file
--healthchecks-maxintervalwithoutproducedblock <value>
--HealthChecks.MaxIntervalWithoutProducedBlock <value>NETHERMIND_HEALTHCHECKSCONFIG_MAXINTERVALWITHOUTPRODUCEDBLOCK=<value>
{
"HealthChecks": {
"MaxIntervalWithoutProducedBlock": <value>
}
}The max interval, in seconds, in which the block production is assumed healthy. Defaults to
null
. -
HealthChecks.PollingInterval
- CLI
- Environment variable
- Configuration file
--healthchecks-pollinginterval <value>
--HealthChecks.PollingInterval <value>NETHERMIND_HEALTHCHECKSCONFIG_POLLINGINTERVAL=<value>
{
"HealthChecks": {
"PollingInterval": <value>
}
}The health check updates polling interval, in seconds. Defaults to
5
. -
HealthChecks.Slug
- CLI
- Environment variable
- Configuration file
--healthchecks-slug <value>
--HealthChecks.Slug <value>NETHERMIND_HEALTHCHECKSCONFIG_SLUG=<value>
{
"HealthChecks": {
"Slug": <value>
}
}The URL slug the health checks service is exposed at. Defaults to
/health
. -
HealthChecks.UIEnabled
- CLI
- Environment variable
- Configuration file
--healthchecks-uienabled <value>
--HealthChecks.UIEnabled <value>NETHERMIND_HEALTHCHECKSCONFIG_UIENABLED=<value>
{
"HealthChecks": {
"UIEnabled": <value>
}
}Whether to enable the health checks UI. Allowed values:
true
false
. Defaults tofalse
. -
HealthChecks.WebhooksEnabled
- CLI
- Environment variable
- Configuration file
--healthchecks-webhooksenabled <value>
--HealthChecks.WebhooksEnabled <value>NETHERMIND_HEALTHCHECKSCONFIG_WEBHOOKSENABLED=<value>
{
"HealthChecks": {
"WebhooksEnabled": <value>
}
}Whether to enable web hooks. Allowed values:
true
false
. Defaults tofalse
. -
HealthChecks.WebhooksPayload
- CLI
- Environment variable
- Configuration file
--healthchecks-webhookspayload <value>
--HealthChecks.WebhooksPayload <value>NETHERMIND_HEALTHCHECKSCONFIG_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
- CLI
- Environment variable
- Configuration file
--healthchecks-webhooksrestorepayload <value>
--HealthChecks.WebhooksRestorePayload <value>NETHERMIND_HEALTHCHECKSCONFIG_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
- CLI
- Environment variable
- Configuration file
--healthchecks-webhooksuri <value>
--HealthChecks.WebhooksUri <value>NETHERMIND_HEALTHCHECKSCONFIG_WEBHOOKSURI=<value>
{
"HealthChecks": {
"WebhooksUri": <value>
}
}The web hook URL. Defaults to
null
.
Hive
-
Hive.BlocksDir
- CLI
- Environment variable
- Configuration file
--hive-blocksdir <value>
--Hive.BlocksDir <value>NETHERMIND_HIVECONFIG_BLOCKSDIR=<value>
{
"Hive": {
"BlocksDir": <value>
}
}The path to the directory with additional blocks. Defaults to
/blocks
. -
Hive.ChainFile
- CLI
- Environment variable
- Configuration file
--hive-chainfile <value>
--Hive.ChainFile <value>NETHERMIND_HIVECONFIG_CHAINFILE=<value>
{
"Hive": {
"ChainFile": <value>
}
}The path to the test chain spec file. Defaults to
/chain.rlp
. -
Hive.Enabled
- CLI
- Environment variable
- Configuration file
--hive-enabled <value>
--Hive.Enabled <value>NETHERMIND_HIVECONFIG_ENABLED=<value>
{
"Hive": {
"Enabled": <value>
}
}Whether to enable Hive for debugging. Allowed values:
true
false
. Defaults tofalse
. -
Hive.GenesisFilePath
- CLI
- Environment variable
- Configuration file
--hive-genesisfilepath <value>
--Hive.GenesisFilePath <value>NETHERMIND_HIVECONFIG_GENESISFILEPATH=<value>
{
"Hive": {
"GenesisFilePath": <value>
}
}The path to the genesis block file. Defaults to
/genesis.json
. -
Hive.KeysDir
- CLI
- Environment variable
- Configuration file
--hive-keysdir <value>
--Hive.KeysDir <value>NETHERMIND_HIVECONFIG_KEYSDIR=<value>
{
"Hive": {
"KeysDir": <value>
}
}The path to the keystore directory. Defaults to
/keys
.
Init
-
Init.AutoDump
- CLI
- Environment variable
- Configuration file
--init-autodump <value>
--Init.AutoDump <value>NETHERMIND_INITCONFIG_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 theReceipts
Rlp
options.All
: Combines theGeth
Parity
Receipts
Rlp
options.
Defaults to
Default
. -
Init.BadBlocksStored
- CLI
- Environment variable
- Configuration file
--init-badblocksstored <value>
--Init.BadBlocksStored <value>NETHERMIND_INITCONFIG_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
- CLI
- Environment variable
- Configuration file
--init-basedbpath <value>
--Init.BaseDbPath <value>NETHERMIND_INITCONFIG_BASEDBPATH=<value>
{
"Init": {
"BaseDbPath": <value>
}
}The base path for all Nethermind databases. Defaults to
db
. -
Init.ChainSpecPath
- CLI
- Environment variable
- Configuration file
--init-chainspecpath <value>
--Init.ChainSpecPath <value>NETHERMIND_INITCONFIG_CHAINSPECPATH=<value>
{
"Init": {
"ChainSpecPath": <value>
}
}The path to the chain spec file. Defaults to
chainspec/foundation.json
. -
Init.DiagnosticMode
- CLI
- Environment variable
- Configuration file
--init-diagnosticmode <value>
--Init.DiagnosticMode <value>NETHERMIND_INITCONFIG_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
- CLI
- Environment variable
- Configuration file
--init-discoveryenabled <value>
--Init.DiscoveryEnabled <value>NETHERMIND_INITCONFIG_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 totrue
. -
Init.EnableUnsecuredDevWallet
- CLI
- Environment variable
- Configuration file
--init-enableunsecureddevwallet <value>
--Init.EnableUnsecuredDevWallet <value>NETHERMIND_INITCONFIG_ENABLEUNSECUREDDEVWALLET=<value>
{
"Init": {
"EnableUnsecuredDevWallet": <value>
}
}Whether to enable the in-app wallet/keystore. Allowed values:
true
false
. Defaults tofalse
. -
Init.GenesisHash
- CLI
- Environment variable
- Configuration file
--init-genesishash <value>
--Init.GenesisHash <value>NETHERMIND_INITCONFIG_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
- CLI
- Environment variable
- Configuration file
--init-hivechainspecpath <value>
--Init.HiveChainSpecPath <value>NETHERMIND_INITCONFIG_HIVECHAINSPECPATH=<value>
{
"Init": {
"HiveChainSpecPath": <value>
}
}The path to the chain spec file for Hive tests. Defaults to
chainspec/test.json
. -
Init.IsMining
- CLI
- Environment variable
- Configuration file
--init-ismining <value>
--Init.IsMining <value>NETHERMIND_INITCONFIG_ISMINING=<value>
{
"Init": {
"IsMining": <value>
}
}Whether to seal/mine new blocks. Allowed values:
true
false
. Defaults tofalse
. -
Init.KeepDevWalletInMemory
- CLI
- Environment variable
- Configuration file
--init-keepdevwalletinmemory <value>
--Init.KeepDevWalletInMemory <value>NETHERMIND_INITCONFIG_KEEPDEVWALLETINMEMORY=<value>
{
"Init": {
"KeepDevWalletInMemory": <value>
}
}Whether to create session-only accounts and delete them on shutdown. Allowed values:
true
false
. Defaults tofalse
. -
Init.KzgSetupPath
- CLI
- Environment variable
- Configuration file
--init-kzgsetuppath <value>
--Init.KzgSetupPath <value>NETHERMIND_INITCONFIG_KZGSETUPPATH=<value>
{
"Init": {
"KzgSetupPath": <value>
}
}The path to KZG trusted setup file. Defaults to
null
. -
Init.LogDirectory
- CLI
- Environment variable
- Configuration file
--init-logdirectory <value>
--Init.LogDirectory <value>NETHERMIND_INITCONFIG_LOGDIRECTORY=<value>
{
"Init": {
"LogDirectory": <value>
}
}The path to the Nethermind logs directory. Defaults to
logs
. -
Init.LogFileName
- CLI
- Environment variable
- Configuration file
--init-logfilename <value>
--Init.LogFileName <value>NETHERMIND_INITCONFIG_LOGFILENAME=<value>
{
"Init": {
"LogFileName": <value>
}
}The name of the log file. Defaults to
log.txt
. -
Init.LogRules
- CLI
- Environment variable
- Configuration file
--init-logrules <value>
--Init.LogRules <value>NETHERMIND_INITCONFIG_LOGRULES=<value>
{
"Init": {
"LogRules": <value>
}
}The logs format as
LogPath:LogLevel;*
Defaults tonull
. -
Init.MemoryHint
- CLI
- Environment variable
- Configuration file
--init-memoryhint <value>
--Init.MemoryHint <value>NETHERMIND_INITCONFIG_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
- CLI
- Environment variable
- Configuration file
--init-peermanagerenabled <value>
--Init.PeerManagerEnabled <value>NETHERMIND_INITCONFIG_PEERMANAGERENABLED=<value>
{
"Init": {
"PeerManagerEnabled": <value>
}
}Whether to connect to newly discovered peers. Allowed values:
true
false
. Defaults totrue
. -
Init.ProcessingEnabled
- CLI
- Environment variable
- Configuration file
--init-processingenabled <value>
--Init.ProcessingEnabled <value>NETHERMIND_INITCONFIG_PROCESSINGENABLED=<value>
{
"Init": {
"ProcessingEnabled": <value>
}
}Whether to download/process new blocks. Allowed values:
true
false
. Defaults totrue
. -
Init.RpcDbUrl
- CLI
- Environment variable
- Configuration file
--init-rpcdburl <value>
--Init.RpcDbUrl <value>NETHERMIND_INITCONFIG_RPCDBURL=<value>
{
"Init": {
"RpcDbUrl": <value>
}
}The URL of the remote node used as a database source when
DiagnosticMode
is set toRpcDb
. -
Init.StaticNodesPath
- CLI
- Environment variable
- Configuration file
--init-staticnodespath <value>
--Init.StaticNodesPath <value>NETHERMIND_INITCONFIG_STATICNODESPATH=<value>
{
"Init": {
"StaticNodesPath": <value>
}
}The path to the static nodes file. Defaults to
Data/static-nodes.json
. -
Init.WebSocketsEnabled
- CLI
- Environment variable
- Configuration file
--init-websocketsenabled <value>
--Init.WebSocketsEnabled <value>NETHERMIND_INITCONFIG_WEBSOCKETSENABLED=<value>
{
"Init": {
"WebSocketsEnabled": <value>
}
}Whether to enable WebSocket service for the default JSON-RPC port on startup. Allowed values:
true
false
. Defaults totrue
.
JsonRpc
-
JsonRpc.AdditionalRpcUrls
- CLI
- Environment variable
- Configuration file
--jsonrpc-additionalrpcurls <value>
--JsonRpc.AdditionalRpcUrls <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-bufferresponses <value>
--JsonRpc.BufferResponses <value>NETHERMIND_JSONRPCCONFIG_BUFFERRESPONSES=<value>
{
"JsonRpc": {
"BufferResponses": <value>
}
}Whether to buffer responses before sending them. This allows using of
Content-Length
instead ofTransfer-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 tofalse
. -
JsonRpc.CallsFilterFilePath
- CLI
- Environment variable
- Configuration file
--jsonrpc-callsfilterfilepath <value>
--JsonRpc.CallsFilterFilePath <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-enabled <value>
--JsonRpc.Enabled <value>NETHERMIND_JSONRPCCONFIG_ENABLED=<value>
{
"JsonRpc": {
"Enabled": <value>
}
}Whether to enable the JSON-RPC service. Allowed values:
true
false
. Defaults tofalse
. -
JsonRpc.EnabledModules
- CLI
- Environment variable
- Configuration file
--jsonrpc-enabledmodules <value>
--JsonRpc.EnabledModules <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-engineenabledmodules <value>
--JsonRpc.EngineEnabledModules <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-enginehost <value>
--JsonRpc.EngineHost <value>NETHERMIND_JSONRPCCONFIG_ENGINEHOST=<value>
{
"JsonRpc": {
"EngineHost": <value>
}
}The Engine API host. Defaults to
127.0.0.1
. -
JsonRpc.EnginePort
- CLI
- Environment variable
- Configuration file
--jsonrpc-engineport <value>
--JsonRpc.EnginePort <value>NETHERMIND_JSONRPCCONFIG_ENGINEPORT=<value>
{
"JsonRpc": {
"EnginePort": <value>
}
}The Engine API port. Defaults to
null
. -
JsonRpc.EstimateErrorMargin
- CLI
- Environment variable
- Configuration file
--jsonrpc-estimateerrormargin <value>
--JsonRpc.EstimateErrorMargin <value>NETHERMIND_JSONRPCCONFIG_ESTIMATEERRORMARGIN=<value>
{
"JsonRpc": {
"EstimateErrorMargin": <value>
}
}The error margin used in the
eth_estimateGas
JSON-RPC method, in basis points. Defaults to150
. -
JsonRpc.EthModuleConcurrentInstances
- CLI
- Environment variable
- Configuration file
--jsonrpc-ethmoduleconcurrentinstances <value>
--JsonRpc.EthModuleConcurrentInstances <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-gascap <value>
--JsonRpc.GasCap <value>NETHERMIND_JSONRPCCONFIG_GASCAP=<value>
{
"JsonRpc": {
"GasCap": <value>
}
}The gas limit for
eth_call
andeth_estimateGas
. Defaults to100000000
. -
JsonRpc.Host
- CLI
- Environment variable
- Configuration file
--jsonrpc-host <value>
--JsonRpc.Host <value>NETHERMIND_JSONRPCCONFIG_HOST=<value>
{
"JsonRpc": {
"Host": <value>
}
}The JSON-RPC service host. Defaults to
127.0.0.1
. -
JsonRpc.IpcUnixDomainSocketPath
- CLI
- Environment variable
- Configuration file
--jsonrpc-ipcunixdomainsocketpath <value>
--JsonRpc.IpcUnixDomainSocketPath <value>NETHERMIND_JSONRPCCONFIG_IPCUNIXDOMAINSOCKETPATH=<value>
{
"JsonRpc": {
"IpcUnixDomainSocketPath": <value>
}
}The path to connect a UNIX domain socket over.
-
JsonRpc.JwtSecretFile
- CLI
- Environment variable
- Configuration file
--jsonrpc-jwtsecretfile <value>
--JsonRpc.JwtSecretFile <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-maxbatchresponsebodysize <value>
--JsonRpc.MaxBatchResponseBodySize <value>NETHERMIND_JSONRPCCONFIG_MAXBATCHRESPONSEBODYSIZE=<value>
{
"JsonRpc": {
"MaxBatchResponseBodySize": <value>
}
}The max batch size limit for batched JSON-RPC calls. Defaults to
33554432
. -
JsonRpc.MaxBatchSize
- CLI
- Environment variable
- Configuration file
--jsonrpc-maxbatchsize <value>
--JsonRpc.MaxBatchSize <value>NETHERMIND_JSONRPCCONFIG_MAXBATCHSIZE=<value>
{
"JsonRpc": {
"MaxBatchSize": <value>
}
}The max number of JSON-RPC requests in a batch. Defaults to
1024
. -
JsonRpc.MaxLoggedRequestParametersCharacters
- CLI
- Environment variable
- Configuration file
--jsonrpc-maxloggedrequestparameterscharacters <value>
--JsonRpc.MaxLoggedRequestParametersCharacters <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-maxlogsperresponse <value>
--JsonRpc.MaxLogsPerResponse <value>NETHERMIND_JSONRPCCONFIG_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 to20000
. -
JsonRpc.MaxRequestBodySize
- CLI
- Environment variable
- Configuration file
--jsonrpc-maxrequestbodysize <value>
--JsonRpc.MaxRequestBodySize <value>NETHERMIND_JSONRPCCONFIG_MAXREQUESTBODYSIZE=<value>
{
"JsonRpc": {
"MaxRequestBodySize": <value>
}
}The max length of HTTP request body, in bytes. Defaults to
30000000
. -
JsonRpc.MaxSimulateBlocksCap
- CLI
- Environment variable
- Configuration file
--jsonrpc-maxsimulateblockscap <value>
--JsonRpc.MaxSimulateBlocksCap <value>NETHERMIND_JSONRPCCONFIG_MAXSIMULATEBLOCKSCAP=<value>
{
"JsonRpc": {
"MaxSimulateBlocksCap": <value>
}
}The max block count limit for the
eth_simulate
JSON-RPC method. Defaults to256
. -
JsonRpc.MethodsLoggingFiltering
- CLI
- Environment variable
- Configuration file
--jsonrpc-methodsloggingfiltering <value>
--JsonRpc.MethodsLoggingFiltering <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-port <value>
--JsonRpc.Port <value>NETHERMIND_JSONRPCCONFIG_PORT=<value>
{
"JsonRpc": {
"Port": <value>
}
}The JSON-RPC service HTTP port. Defaults to
8545
. -
JsonRpc.ReportIntervalSeconds
- CLI
- Environment variable
- Configuration file
--jsonrpc-reportintervalseconds <value>
--JsonRpc.ReportIntervalSeconds <value>NETHERMIND_JSONRPCCONFIG_REPORTINTERVALSECONDS=<value>
{
"JsonRpc": {
"ReportIntervalSeconds": <value>
}
}The interval, in seconds, between the JSON-RPC stats report log. Defaults to
300
. -
JsonRpc.RequestQueueLimit
- CLI
- Environment variable
- Configuration file
--jsonrpc-requestqueuelimit <value>
--JsonRpc.RequestQueueLimit <value>NETHERMIND_JSONRPCCONFIG_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 to500
. -
JsonRpc.RpcRecorderBaseFilePath
- CLI
- Environment variable
- Configuration file
--jsonrpc-rpcrecorderbasefilepath <value>
--JsonRpc.RpcRecorderBaseFilePath <value>NETHERMIND_JSONRPCCONFIG_RPCRECORDERBASEFILEPATH=<value>
{
"JsonRpc": {
"RpcRecorderBaseFilePath": <value>
}
}The path to the base file for diagnostic recording. Defaults to
logs/rpc.{counter}.txt
. -
JsonRpc.RpcRecorderState
- CLI
- Environment variable
- Configuration file
--jsonrpc-rpcrecorderstate <value>
--JsonRpc.RpcRecorderState <value>NETHERMIND_JSONRPCCONFIG_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
- CLI
- Environment variable
- Configuration file
--jsonrpc-timeout <value>
--JsonRpc.Timeout <value>NETHERMIND_JSONRPCCONFIG_TIMEOUT=<value>
{
"JsonRpc": {
"Timeout": <value>
}
}The request timeout, in milliseconds. Defaults to
20000
. -
JsonRpc.WebSocketsPort
- CLI
- Environment variable
- Configuration file
--jsonrpc-websocketsport <value>
--JsonRpc.WebSocketsPort <value>NETHERMIND_JSONRPCCONFIG_WEBSOCKETSPORT=<value>
{
"JsonRpc": {
"WebSocketsPort": <value>
}
}The JSON-RPC service WebSockets port. Defaults to
8545
.
KeyStore
-
KeyStore.BlockAuthorAccount
- CLI
- Environment variable
- Configuration file
--keystore-blockauthoraccount <value>
--KeyStore.BlockAuthorAccount <value>NETHERMIND_KEYSTORECONFIG_BLOCKAUTHORACCOUNT=<value>
{
"KeyStore": {
"BlockAuthorAccount": <value>
}
}An account to use as the block author (coinbase).
-
KeyStore.Cipher
- CLI
- Environment variable
- Configuration file
--keystore-cipher <value>
--KeyStore.Cipher <value>NETHERMIND_KEYSTORECONFIG_CIPHER=<value>
{
"KeyStore": {
"Cipher": <value>
}
}See Web3 secret storage definition. Defaults to
aes-128-ctr
. -
KeyStore.EnodeAccount
- CLI
- Environment variable
- Configuration file
--keystore-enodeaccount <value>
--KeyStore.EnodeAccount <value>NETHERMIND_KEYSTORECONFIG_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 innode.key.plain
file. -
KeyStore.EnodeKeyFile
- CLI
- Environment variable
- Configuration file
--keystore-enodekeyfile <value>
--KeyStore.EnodeKeyFile <value>NETHERMIND_KEYSTORECONFIG_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 innode.key.plain
file. -
KeyStore.IVSize
- CLI
- Environment variable
- Configuration file
--keystore-ivsize <value>
--KeyStore.IVSize <value>NETHERMIND_KEYSTORECONFIG_IVSIZE=<value>
{
"KeyStore": {
"IVSize": <value>
}
}See Web3 secret storage definition. Defaults to
16
. -
KeyStore.Kdf
- CLI
- Environment variable
- Configuration file
--keystore-kdf <value>
--KeyStore.Kdf <value>NETHERMIND_KEYSTORECONFIG_KDF=<value>
{
"KeyStore": {
"Kdf": <value>
}
}See Web3 secret storage definition. Defaults to
scrypt
. -
KeyStore.KdfparamsDklen
- CLI
- Environment variable
- Configuration file
--keystore-kdfparamsdklen <value>
--KeyStore.KdfparamsDklen <value>NETHERMIND_KEYSTORECONFIG_KDFPARAMSDKLEN=<value>
{
"KeyStore": {
"KdfparamsDklen": <value>
}
}See Web3 secret storage definition. Defaults to
32
. -
KeyStore.KdfparamsN
- CLI
- Environment variable
- Configuration file
--keystore-kdfparamsn <value>
--KeyStore.KdfparamsN <value>NETHERMIND_KEYSTORECONFIG_KDFPARAMSN=<value>
{
"KeyStore": {
"KdfparamsN": <value>
}
}See Web3 secret storage definition. Defaults to
262144
. -
KeyStore.KdfparamsP
- CLI
- Environment variable
- Configuration file
--keystore-kdfparamsp <value>
--KeyStore.KdfparamsP <value>NETHERMIND_KEYSTORECONFIG_KDFPARAMSP=<value>
{
"KeyStore": {
"KdfparamsP": <value>
}
}See Web3 secret storage definition. Defaults to
1
. -
KeyStore.KdfparamsR
- CLI
- Environment variable
- Configuration file
--keystore-kdfparamsr <value>
--KeyStore.KdfparamsR <value>NETHERMIND_KEYSTORECONFIG_KDFPARAMSR=<value>
{
"KeyStore": {
"KdfparamsR": <value>
}
}See Web3 secret storage definition. Defaults to
8
. -
KeyStore.KdfparamsSaltLen
- CLI
- Environment variable
- Configuration file
--keystore-kdfparamssaltlen <value>
--KeyStore.KdfparamsSaltLen <value>NETHERMIND_KEYSTORECONFIG_KDFPARAMSSALTLEN=<value>
{
"KeyStore": {
"KdfparamsSaltLen": <value>
}
}See Web3 secret storage definition. Defaults to
32
. -
KeyStore.KeyStoreDirectory
- CLI
- Environment variable
- Configuration file
--keystore-keystoredirectory <value>
--KeyStore.KeyStoreDirectory <value>NETHERMIND_KEYSTORECONFIG_KEYSTOREDIRECTORY=<value>
{
"KeyStore": {
"KeyStoreDirectory": <value>
}
}The path to the keystore directory. Defaults to
keystore
. -
KeyStore.KeyStoreEncoding
- CLI
- Environment variable
- Configuration file
--keystore-keystoreencoding <value>
--KeyStore.KeyStoreEncoding <value>NETHERMIND_KEYSTORECONFIG_KEYSTOREENCODING=<value>
{
"KeyStore": {
"KeyStoreEncoding": <value>
}
}See Web3 secret storage definition. Defaults to
UTF-8
. -
KeyStore.PasswordFiles
- CLI
- Environment variable
- Configuration file
--keystore-passwordfiles <value>
--KeyStore.PasswordFiles <value>NETHERMIND_KEYSTORECONFIG_PASSWORDFILES=<value>
{
"KeyStore": {
"PasswordFiles": <value>
}
}An array of password files paths used to unlock the accounts set with
UnlockAccounts
. Defaults to[]
. -
KeyStore.Passwords
- CLI
- Environment variable
- Configuration file
--keystore-passwords <value>
--KeyStore.Passwords <value>NETHERMIND_KEYSTORECONFIG_PASSWORDS=<value>
{
"KeyStore": {
"Passwords": <value>
}
}An array of passwords used to unlock the accounts set with
UnlockAccounts
. Defaults to[]
. -
KeyStore.SymmetricEncrypterBlockSize
- CLI
- Environment variable
- Configuration file
--keystore-symmetricencrypterblocksize <value>
--KeyStore.SymmetricEncrypterBlockSize <value>NETHERMIND_KEYSTORECONFIG_SYMMETRICENCRYPTERBLOCKSIZE=<value>
{
"KeyStore": {
"SymmetricEncrypterBlockSize": <value>
}
}See Web3 secret storage definition. Defaults to
128
. -
KeyStore.SymmetricEncrypterKeySize
- CLI
- Environment variable
- Configuration file
--keystore-symmetricencrypterkeysize <value>
--KeyStore.SymmetricEncrypterKeySize <value>NETHERMIND_KEYSTORECONFIG_SYMMETRICENCRYPTERKEYSIZE=<value>
{
"KeyStore": {
"SymmetricEncrypterKeySize": <value>
}
}See Web3 secret storage definition. Defaults to
128
. -
KeyStore.TestNodeKey
- CLI
- Environment variable
- Configuration file
--keystore-testnodekey <value>
--KeyStore.TestNodeKey <value>NETHERMIND_KEYSTORECONFIG_TESTNODEKEY=<value>
{
"KeyStore": {
"TestNodeKey": <value>
}
}A plaintext private key to use for testing purposes.
-
KeyStore.UnlockAccounts
- CLI
- Environment variable
- Configuration file
--keystore-unlockaccounts <value>
--KeyStore.UnlockAccounts <value>NETHERMIND_KEYSTORECONFIG_UNLOCKACCOUNTS=<value>
{
"KeyStore": {
"UnlockAccounts": <value>
}
}An array of accounts to unlock on startup using passwords either in
PasswordFiles
andPasswords
. Defaults to[]
.
Merge
-
Merge.BuilderRelayUrl
- CLI
- Environment variable
- Configuration file
--merge-builderrelayurl <value>
--Merge.BuilderRelayUrl <value>NETHERMIND_MERGECONFIG_BUILDERRELAYURL=<value>
{
"Merge": {
"BuilderRelayUrl": <value>
}
}The URL of a builder relay. If specified, blocks are sent to the relay. Defaults to
null
. -
Merge.CollectionsPerDecommit
- CLI
- Environment variable
- Configuration file
--merge-collectionsperdecommit <value>
--Merge.CollectionsPerDecommit <value>NETHERMIND_MERGECONFIG_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
- CLI
- Environment variable
- Configuration file
--merge-compactmemory <value>
--Merge.CompactMemory <value>NETHERMIND_MERGECONFIG_COMPACTMEMORY=<value>
{
"Merge": {
"CompactMemory": <value>
}
}The memory compaction mode. When set to
Full
, compacts the large object heap (LOH) ifSweepMemory
is set toGen2
.Allowed values:
No
: Disables memory compaction.Yes
: Enables memory compaction.Full
: Enables memory compaction with the large object heap (LOH) ifSweepMemory
is set toGen2
.
Defaults to
Yes
. -
Merge.Enabled
- CLI
- Environment variable
- Configuration file
--merge-enabled <value>
--Merge.Enabled <value>NETHERMIND_MERGECONFIG_ENABLED=<value>
{
"Merge": {
"Enabled": <value>
}
}Whether to enable the Merge hard fork. Allowed values:
true
false
. Defaults totrue
. -
Merge.FinalTotalDifficulty
- CLI
- Environment variable
- Configuration file
--merge-finaltotaldifficulty <value>
--Merge.FinalTotalDifficulty <value>NETHERMIND_MERGECONFIG_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
- CLI
- Environment variable
- Configuration file
--merge-prioritizeblocklatency <value>
--Merge.PrioritizeBlockLatency <value>NETHERMIND_MERGECONFIG_PRIORITIZEBLOCKLATENCY=<value>
{
"Merge": {
"PrioritizeBlockLatency": <value>
}
}Whether to reduce block latency by disabling garbage collection during Engine API calls. Allowed values:
true
false
. Defaults totrue
. -
Merge.SweepMemory
- CLI
- Environment variable
- Configuration file
--merge-sweepmemory <value>
--Merge.SweepMemory <value>NETHERMIND_MERGECONFIG_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
- CLI
- Environment variable
- Configuration file
--merge-terminalblockhash <value>
--Merge.TerminalBlockHash <value>NETHERMIND_MERGECONFIG_TERMINALBLOCKHASH=<value>
{
"Merge": {
"TerminalBlockHash": <value>
}
}The terminal PoW block hash used for the transition. Defaults to
null
. -
Merge.TerminalBlockNumber
- CLI
- Environment variable
- Configuration file
--merge-terminalblocknumber <value>
--Merge.TerminalBlockNumber <value>NETHERMIND_MERGECONFIG_TERMINALBLOCKNUMBER=<value>
{
"Merge": {
"TerminalBlockNumber": <value>
}
}The terminal PoW block number used for the transition.
-
Merge.TerminalTotalDifficulty
- CLI
- Environment variable
- Configuration file
--merge-terminaltotaldifficulty <value>
--Merge.TerminalTotalDifficulty <value>NETHERMIND_MERGECONFIG_TERMINALTOTALDIFFICULTY=<value>
{
"Merge": {
"TerminalTotalDifficulty": <value>
}
}The terminal total difficulty (TTD) used for the transition. Defaults to
null
.
Metrics
-
Metrics.CountersEnabled
- CLI
- Environment variable
- Configuration file
--metrics-countersenabled <value>
--Metrics.CountersEnabled <value>NETHERMIND_METRICSCONFIG_COUNTERSENABLED=<value>
{
"Metrics": {
"CountersEnabled": <value>
}
}Whether to publish metrics using .NET diagnostics that can be collected with dotnet-counters. Allowed values:
true
false
. Defaults tofalse
. -
Metrics.Enabled
- CLI
- Environment variable
- Configuration file
--metrics-enabled <value>
--Metrics.Enabled <value>NETHERMIND_METRICSCONFIG_ENABLED=<value>
{
"Metrics": {
"Enabled": <value>
}
}Whether to publish various metrics to Prometheus Pushgateway at a given interval. Allowed values:
true
false
. Defaults tofalse
. -
Metrics.EnableDbSizeMetrics
- CLI
- Environment variable
- Configuration file
--metrics-enabledbsizemetrics <value>
--Metrics.EnableDbSizeMetrics <value>NETHERMIND_METRICSCONFIG_ENABLEDBSIZEMETRICS=<value>
{
"Metrics": {
"EnableDbSizeMetrics": <value>
}
}Whether to publish database size metrics. Allowed values:
true
false
. Defaults totrue
. -
Metrics.ExposeHost
- CLI
- Environment variable
- Configuration file
--metrics-exposehost <value>
--Metrics.ExposeHost <value>NETHERMIND_METRICSCONFIG_EXPOSEHOST=<value>
{
"Metrics": {
"ExposeHost": <value>
}
}The IP address to expose Prometheus metrics at. The value of
+
means listening on all available hostnames. Setting this tolocalhost
prevents remote access. Defaults to+
. -
Metrics.ExposePort
- CLI
- Environment variable
- Configuration file
--metrics-exposeport <value>
--Metrics.ExposePort <value>NETHERMIND_METRICSCONFIG_EXPOSEPORT=<value>
{
"Metrics": {
"ExposePort": <value>
}
}The port to expose Prometheus metrics at. Defaults to
null
. -
Metrics.IntervalSeconds
- CLI
- Environment variable
- Configuration file
--metrics-intervalseconds <value>
--Metrics.IntervalSeconds <value>NETHERMIND_METRICSCONFIG_INTERVALSECONDS=<value>
{
"Metrics": {
"IntervalSeconds": <value>
}
}The frequency of pushing metrics to Prometheus, in seconds. Defaults to
5
. -
Metrics.NodeName
- CLI
- Environment variable
- Configuration file
--metrics-nodename <value>
--Metrics.NodeName <value>NETHERMIND_METRICSCONFIG_NODENAME=<value>
{
"Metrics": {
"NodeName": <value>
}
}The name to display on the Grafana dashboard. Defaults to
"Nethermind"
. -
Metrics.PushGatewayUrl
- CLI
- Environment variable
- Configuration file
--metrics-pushgatewayurl <value>
--Metrics.PushGatewayUrl <value>NETHERMIND_METRICSCONFIG_PUSHGATEWAYURL=<value>
{
"Metrics": {
"PushGatewayUrl": <value>
}
}The Prometheus Pushgateway instance URL.
Mining
-
Mining.Enabled
- CLI
- Environment variable
- Configuration file
--mining-enabled <value>
--Mining.Enabled <value>NETHERMIND_MININGCONFIG_ENABLED=<value>
{
"Mining": {
"Enabled": <value>
}
}Whether to produce blocks. Allowed values:
true
false
. Defaults tofalse
. -
Mining.Signer
- CLI
- Environment variable
- Configuration file
--mining-signer <value>
--Mining.Signer <value>NETHERMIND_MININGCONFIG_SIGNER=<value>
{
"Mining": {
"Signer": <value>
}
}The URL of an external signer like Clef. Defaults to
null
.
Network
-
Network.Bootnodes
- CLI
- Environment variable
- Configuration file
--network-bootnodes <value>
--Network.Bootnodes <value>NETHERMIND_NETWORKCONFIG_BOOTNODES=<value>
{
"Network": {
"Bootnodes": <value>
}
}A comma-separated enode list to be used as boot nodes.
-
Network.DiagTracerEnabled
- CLI
- Environment variable
- Configuration file
--network-diagtracerenabled <value>
--Network.DiagTracerEnabled <value>NETHERMIND_NETWORKCONFIG_DIAGTRACERENABLED=<value>
{
"Network": {
"DiagTracerEnabled": <value>
}
}Whether to enable a verbose diagnostic tracing. Allowed values:
true
false
. Defaults tofalse
. -
Network.DiscoveryDns
- CLI
- Environment variable
- Configuration file
--network-discoverydns <value>
--Network.DiscoveryDns <value>NETHERMIND_NETWORKCONFIG_DISCOVERYDNS=<value>
{
"Network": {
"DiscoveryDns": <value>
}
}Use tree is available through a DNS name. For the default of
<chain name>.ethdisco.net
, leave unspecified. Defaults tonull
. -
Network.DiscoveryPort
- CLI
- Environment variable
- Configuration file
--network-discoveryport <value>
--Network.DiscoveryPort <value>NETHERMIND_NETWORKCONFIG_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 to30303
. -
Network.EnableUPnP
- CLI
- Environment variable
- Configuration file
--network-enableupnp <value>
--Network.EnableUPnP <value>NETHERMIND_NETWORKCONFIG_ENABLEUPNP=<value>
{
"Network": {
"EnableUPnP": <value>
}
}Whether to enable automatic port forwarding via UPnP. Allowed values:
true
false
. Defaults tofalse
. -
Network.ExternalIp
- CLI
- Environment variable
- Configuration file
--network-externalip <value>
--Network.ExternalIp <value>NETHERMIND_NETWORKCONFIG_EXTERNALIP=<value>
{
"Network": {
"ExternalIp": <value>
}
}The external IP. Use only when the external IP cannot be resolved automatically. Defaults to
null
. -
Network.LocalIp