Subnet-EVM

Configuration options available in the Subnet EVM codebase.

These are the configuration options available in the Subnet-EVM codebase. To set these values, you need to create a configuration file at ~/.avalanchego/configs/chains/<chainID>/config.json.

For the AvalancheGo node configuration options, see the AvalancheGo Configuration page.

Airdrop

OptionTypeDescriptionDefault
airdropstringPath to the airdrop file.

Subnet EVM APIs

OptionTypeDescriptionDefault
snowman-api-enabledboolEnables the Snowman API.false
admin-api-enabledboolEnables the Admin API.false
admin-api-dirstringDirectory for the performance profiling in Admin API.
warp-api-enabledboolEnables the Warp API.false
validators-api-enabledboolEnables the Validators API.true

Enabled Ethereum APIs

OptionTypeDescriptionDefault
eth-apis[]stringA list of Ethereum APIs to enable. If none is specified, the default list is used."eth", "eth-filter", "net", "web3", "internal-eth", "internal-blockchain", "internal-transaction"

Continuous Profiler

OptionTypeDescriptionDefault
continuous-profiler-dirstringDirectory to store profiler data. If set, creates a continuous profiler."" (empty)
continuous-profiler-frequencyDurationFrequency to run the continuous profiler if enabled.15m
continuous-profiler-max-filesintMaximum number of profiler files to maintain.5

API Gas/Price Caps

OptionTypeDescriptionDefault
rpc-gas-capuint64Maximum gas allowed in a transaction via the API.50000000
rpc-tx-fee-capfloat64Maximum transaction fee (in AVAX) allowed via the API.100.0

Cache Settings

OptionTypeDescriptionDefault
trie-clean-cacheintSize of the trie clean cache in MB.512
trie-dirty-cacheintSize of the trie dirty cache in MB.512
trie-dirty-commit-targetintMemory limit target in the dirty cache before performing a commit (MB).20
trie-prefetcher-parallelismintMax concurrent disk reads the trie prefetcher should perform at once.16
snapshot-cacheintSize of the snapshot disk layer clean cache in MB.256

Ethereum Settings

OptionTypeDescriptionDefault
preimages-enabledboolEnables preimage storage.false
snapshot-waitboolWaits for snapshot generation before starting node.false
snapshot-verification-enabledboolEnables snapshot verification.false

Pruning Settings

OptionTypeDescriptionDefault
pruning-enabledboolIf enabled, trie roots are only persisted every N blocks.true
accepted-queue-limitintMaximum blocks to queue before blocking during acceptance.64
commit-intervaluint64Commit interval at which to persist EVM and atomic tries.4096
allow-missing-triesboolSuppresses warnings for incomplete trie index if enabled.false
populate-missing-tries*uint64Starting point for re-populating missing tries; disables if nil.nil
populate-missing-tries-parallelismintConcurrent readers when re-populating missing tries on startup.1024
prune-warp-db-enabledboolDetermines if the warpDB should be cleared on startup.false

Metric Settings

OptionTypeDescriptionDefault
metrics-expensive-enabledboolEnables debug-level metrics that may impact performance.true

Transaction Pool Settings

OptionTypeDescriptionDefault
tx-pool-price-limituint64Minimum gas price (in wei) for the transaction pool.1
tx-pool-price-bumpuint64Minimum price bump percentage to replace an existing transaction.10
tx-pool-account-slotsuint64Max executable transaction slots per account.16
tx-pool-global-slotsuint64Max executable transaction slots for all accounts.From legacypool.DefaultConfig.GlobalSlots
tx-pool-account-queueuint64Max non-executable transaction slots per account.From legacypool.DefaultConfig.AccountQueue
tx-pool-global-queueuint64Max non-executable transaction slots for all accounts.1024
tx-pool-lifetimeDurationMaximum time a transaction can remain in the pool.10 Minutes
local-txs-enabledboolEnables local transactions.false

API Resource Limiting Settings

OptionTypeDescriptionDefault
api-max-durationDurationMaximum API call duration.0 (no limit)
ws-cpu-refill-rateDurationCPU time refill rate for WebSocket connections.0 (no limit)
ws-cpu-max-storedDurationMax CPU time stored for WebSocket connections.0 (no limit)
api-max-blocks-per-requestint64Max blocks per getLogs request.0 (no limit)
allow-unfinalized-queriesboolAllows queries on unfinalized blocks.false
allow-unprotected-txsboolAllows unprotected (non-EIP-155) transactions.false
allow-unprotected-tx-hashes[]common.HashList of unprotected transaction hashes allowed.Includes EIP-1820

Keystore Settings

OptionTypeDescriptionDefault
keystore-directorystringDirectory for keystore files."" (empty)
keystore-external-signerstringExternal signer for keystore."" (empty)
keystore-insecure-unlock-allowedboolAllows insecure unlock of the keystore.false

Gossip Settings

OptionTypeDescriptionDefault
push-gossip-percent-stakefloat64Percentage of stake to target when gossiping.0.9
push-gossip-num-validatorsintNumber of validators to gossip to.100
push-gossip-num-peersintNumber of peers to gossip to.0
push-regossip-num-validatorsintNumber of validators to re-gossip to.10
push-regossip-num-peersintNumber of peers to re-gossip to.0
push-gossip-frequencyDurationFrequency of gossiping.100ms
pull-gossip-frequencyDurationFrequency of pulling gossip.1s
regossip-frequencyDurationFrequency of re-gossiping.30s
priority-regossip-addresses[]common.AddressAddresses with priority for re-gossiping.[] (empty)

Logging

OptionTypeDescriptionDefault
log-levelstringLogging level."info"
log-json-formatboolIf true, logs are in JSON format.false

Fee Recipient

OptionTypeDescriptionDefault
feeRecipientstringAddress to receive transaction fees; must be empty if unsupported."" (empty)

Offline Pruning Settings

OptionTypeDescriptionDefault
offline-pruning-enabledboolEnables offline pruning.false
offline-pruning-bloom-filter-sizeuint64Bloom filter size for offline pruning in MB.512
offline-pruning-data-directorystringData directory for offline pruning."" (empty)

VM2VM Network

OptionTypeDescriptionDefault
max-outbound-active-requestsint64Max number of outbound active requests.16

Sync Settings

OptionTypeDescriptionDefault
state-sync-enabledboolEnables state synchronization.false
state-sync-skip-resumeboolForces state sync to use highest available summary block.false
state-sync-server-trie-cacheintCache size for state sync server trie in MB.64
state-sync-idsstringNode IDs for state sync."" (empty)
state-sync-commit-intervaluint64Commit interval for state sync.16384 (CommitInterval*4)
state-sync-min-blocksuint64Min blocks ahead of local last accepted to perform state sync.300000
state-sync-request-sizeuint16Key/values per request during state sync.1024

Database Settings

OptionTypeDescriptionDefault
inspect-databaseboolInspects the database on startup if enabled.false
skip-upgrade-checkboolDisables checking that upgrades occur before last accepted block.false
accepted-cache-sizeintDepth to keep in the accepted headers and logs cache.32
transaction-historyuint64Max blocks from head whose transaction indices are reserved.0 (no limit)
tx-lookup-limituint64Deprecated, use transaction-history instead.
skip-tx-indexingboolSkips indexing transactions; useful for non-indexing nodes.false
warp-off-chain-messages[]hexutil.BytesEncoded off-chain messages to sign.[] (empty list)

RPC Settings

OptionTypeDescriptionDefault
http-body-limituint64Limit for HTTP request body size.Not specified

Standalone Database Configuration

OptionTypeDescriptionDefault
use-standalone-database*PBoolUse a standalone database. By default Subnet-EVM uses a standalone database if no block was accepted.nil
database-configstringContent of the database configuration."" (empty)
database-config-filestringPath to the database configuration file."" (empty)
database-typestringType of database to use."pebbledb"
database-pathstringPath to the database."" (empty)
database-read-onlyboolOpens the database in read-only mode.false

Note: Durations can be specified using time units, e.g., 15m for 15 minutes, 100ms for 100 milliseconds.

Is this guide helpful?

Privacy Policy

We respect your privacy and are committed to protecting your personal data. This privacy policy will inform you about how we look after your personal data and tell you about your privacy rights.

Read full policy