logoDeveloper Hub
Chain Configs

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.

Last updated on

On this page

Edit on Github