Skip to content

Commit

Permalink
initial table
Browse files Browse the repository at this point in the history
  • Loading branch information
owenwahlgren committed Nov 7, 2024
1 parent b1c6e3b commit 7e90181
Show file tree
Hide file tree
Showing 2 changed files with 201 additions and 0 deletions.
1 change: 1 addition & 0 deletions content/docs/nodes/chain-configs/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"title": "Chain Configs",
"pages": [
"overview",
"subnet-evm",
"p-chain",
"x-chain",
"c-chain"
Expand Down
200 changes: 200 additions & 0 deletions content/docs/nodes/chain-configs/subnet-evm.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
---
title: Subnet-EVM
description: Configuration options available in the Subnet EVM codebase.
---

## Airdrop

| Option | Type | Description | Default |
|-----------|----------|----------------------------|---------|
| `airdrop` | `string` | Path to the airdrop file. | |

## Subnet EVM APIs

| Option | Type | Description | Default |
|-----------------------|----------|------------------------------|---------|
| `snowman-api-enabled` | `bool` | Enables the Snowman API. | `false` |
| `admin-api-enabled` | `bool` | Enables the Admin API. | `false` |
| `admin-api-dir` | `string` | Directory for the Admin API. | |
| `warp-api-enabled` | `bool` | Enables the Warp API. | `false` |

## Enabled Ethereum APIs

| Option | Type | Description | Default |
|-------------|------------|--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| `eth-apis` | `[]string` | A 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

| Option | Type | Description | Default |
|---------------------------------|------------|--------------------------------------------------------------------------------|--------------|
| `continuous-profiler-dir` | `string` | Directory to store profiler data. If set, creates a continuous profiler. | `""` (empty) |
| `continuous-profiler-frequency` | `Duration` | Frequency to run the continuous profiler if enabled. | `15m` |
| `continuous-profiler-max-files` | `int` | Maximum number of profiler files to maintain. | `5` |

## API Gas/Price Caps

| Option | Type | Description | Default |
|------------------|-----------|--------------------------------------------------------|------------|
| `rpc-gas-cap` | `uint64` | Maximum gas allowed in a transaction via the API. | `50000000` |
| `rpc-tx-fee-cap` | `float64` | Maximum transaction fee (in AVAX) allowed via the API. | `100.0` |

## Cache Settings

| Option | Type | Description | Default |
|-------------------------------|-------|--------------------------------------------------------------------|---------|
| `trie-clean-cache` | `int` | Size of the trie clean cache in MB. | `512` |
| `trie-dirty-cache` | `int` | Size of the trie dirty cache in MB. | `512` |
| `trie-dirty-commit-target` | `int` | Memory limit target in the dirty cache before performing a commit (MB). | `20` |
| `trie-prefetcher-parallelism` | `int` | Max concurrent disk reads the trie prefetcher should perform at once. | `16` |
| `snapshot-cache` | `int` | Size of the snapshot disk layer clean cache in MB. | `256` |

## Ethereum Settings

| Option | Type | Description | Default |
|---------------------------------|--------|-----------------------------------------------------|---------|
| `preimages-enabled` | `bool` | Enables preimage storage. | `false` |
| `snapshot-wait` | `bool` | Waits for snapshot generation before starting node. | `false` |
| `snapshot-verification-enabled` | `bool` | Enables snapshot verification. | `false` |

## Pruning Settings

| Option | Type | Description | Default |
|-----------------------------------|------------|----------------------------------------------------------------------------|---------|
| `pruning-enabled` | `bool` | If enabled, trie roots are only persisted every N blocks. | `true` |
| `accepted-queue-limit` | `int` | Maximum blocks to queue before blocking during acceptance. | `64` |
| `commit-interval` | `uint64` | Commit interval at which to persist EVM and atomic tries. | `4096` |
| `allow-missing-tries` | `bool` | Suppresses warnings for incomplete trie index if enabled. | `false` |
| `populate-missing-tries` | `*uint64` | Starting point for re-populating missing tries; disables if `nil`. | `nil` |
| `populate-missing-tries-parallelism` | `int` | Concurrent readers when re-populating missing tries on startup. | `1024` |
| `prune-warp-db-enabled` | `bool` | Determines if the warpDB should be cleared on startup. | `false` |

## Metric Settings

| Option | Type | Description | Default |
|----------------------------|--------|----------------------------------------------------------------------|---------|
| `metrics-expensive-enabled` | `bool` | Enables debug-level metrics that may impact performance. | `true` |

## API Settings

| Option | Type | Description | Default |
|---------------------|--------|-----------------------------|---------|
| `local-txs-enabled` | `bool` | Enables local transactions. | `false` |

### Transaction Pool Settings

| Option | Type | Description | Default |
|----------------------------|-----------|--------------------------------------------------------------------|-----------------------------------------------------|
| `tx-pool-price-limit` | `uint64` | Minimum gas price (in wei) for the transaction pool. | From `legacypool.DefaultConfig.PriceLimit` |
| `tx-pool-price-bump` | `uint64` | Minimum price bump percentage to replace an existing transaction. | From `legacypool.DefaultConfig.PriceBump` |
| `tx-pool-account-slots` | `uint64` | Max executable transaction slots per account. | From `legacypool.DefaultConfig.AccountSlots` |
| `tx-pool-global-slots` | `uint64` | Max executable transaction slots for all accounts. | From `legacypool.DefaultConfig.GlobalSlots` |
| `tx-pool-account-queue` | `uint64` | Max non-executable transaction slots per account. | From `legacypool.DefaultConfig.AccountQueue` |
| `tx-pool-global-queue` | `uint64` | Max non-executable transaction slots for all accounts. | From `legacypool.DefaultConfig.GlobalQueue` |
| `tx-pool-lifetime` | `Duration`| Maximum time a transaction can remain in the pool. | From `legacypool.DefaultConfig.Lifetime` |

### API Resource Limiting Settings

| Option | Type | Description | Default |
|------------------------------|------------------|-----------------------------------------------------|------------------|
| `api-max-duration` | `Duration` | Maximum API call duration. | `0` (no limit) |
| `ws-cpu-refill-rate` | `Duration` | CPU time refill rate for WebSocket connections. | `0` (no limit) |
| `ws-cpu-max-stored` | `Duration` | Max CPU time stored for WebSocket connections. | `0` (no limit) |
| `api-max-blocks-per-request` | `int64` | Max blocks per `getLogs` request. | `0` (no limit) |
| `allow-unfinalized-queries` | `bool` | Allows queries on unfinalized blocks. | `false` |
| `allow-unprotected-txs` | `bool` | Allows unprotected (non-EIP-155) transactions. | `false` |
| `allow-unprotected-tx-hashes`| `[]common.Hash` | List of unprotected transaction hashes allowed. | Includes EIP-1820 |

## Keystore Settings

| Option | Type | Description | Default |
|----------------------------------|----------|---------------------------------------------------------|--------------|
| `keystore-directory` | `string` | Directory for keystore files. | `""` (empty) |
| `keystore-external-signer` | `string` | External signer for keystore. | `""` (empty) |
| `keystore-insecure-unlock-allowed` | `bool` | Allows insecure unlock of the keystore. | `false` |

## Gossip Settings

| Option | Type | Description | Default |
|-------------------------------|-------------------|----------------------------------------------|------------------|
| `push-gossip-percent-stake` | `float64` | Percentage of stake to target when gossiping.| `0.9` |
| `push-gossip-num-validators` | `int` | Number of validators to gossip to. | `100` |
| `push-gossip-num-peers` | `int` | Number of peers to gossip to. | `0` |
| `push-regossip-num-validators`| `int` | Number of validators to re-gossip to. | `10` |
| `push-regossip-num-peers` | `int` | Number of peers to re-gossip to. | `0` |
| `push-gossip-frequency` | `Duration` | Frequency of gossiping. | `100ms` |
| `pull-gossip-frequency` | `Duration` | Frequency of pulling gossip. | `1s` |
| `regossip-frequency` | `Duration` | Frequency of re-gossiping. | `30s` |
| `priority-regossip-addresses` | `[]common.Address`| Addresses with priority for re-gossiping. | `[]` (empty) |

## Logging

| Option | Type | Description | Default |
|-------------------|----------|----------------------------------|----------|
| `log-level` | `string` | Logging level. | `"info"` |
| `log-json-format` | `bool` | If `true`, logs are in JSON format. | `false` |

## Fee Recipient

| Option | Type | Description | Default |
|-----------------|----------|--------------------------------------------------------------|--------------|
| `feeRecipient` | `string` | Address to receive transaction fees; must be empty if unsupported. | `""` (empty) |

## Offline Pruning Settings

| Option | Type | Description | Default |
|---------------------------------|----------|--------------------------------------------------|--------------|
| `offline-pruning-enabled` | `bool` | Enables offline pruning. | `false` |
| `offline-pruning-bloom-filter-size` | `uint64` | Bloom filter size for offline pruning in MB. | `512` |
| `offline-pruning-data-directory`| `string` | Data directory for offline pruning. | `""` (empty) |

## VM2VM Network

| Option | Type | Description | Default |
|--------------------------------|---------|--------------------------------------------|---------|
| `max-outbound-active-requests` | `int64` | Max number of outbound active requests. | `16` |

## Sync Settings

| Option | Type | Description | Default |
|------------------------------|-----------|------------------------------------------------------------------|---------------------------|
| `state-sync-enabled` | `bool` | Enables state synchronization. | `false` |
| `state-sync-skip-resume` | `bool` | Forces state sync to use highest available summary block. | `false` |
| `state-sync-server-trie-cache` | `int` | Cache size for state sync server trie in MB. | `64` |
| `state-sync-ids` | `string` | IDs for state sync. | `""` (empty) |
| `state-sync-commit-interval` | `uint64` | Commit interval for state sync. | `16384` (CommitInterval*4)|
| `state-sync-min-blocks` | `uint64` | Min blocks ahead of local last accepted to perform state sync. | `300000` |
| `state-sync-request-size` | `uint16` | Key/values per request during state sync. | `1024` |

## Database Settings

| Option | Type | Description | Default |
|----------------------------|-------------------|------------------------------------------------------------|--------------------|
| `inspect-database` | `bool` | Inspects the database on startup if enabled. | `false` |
| `skip-upgrade-check` | `bool` | Disables checking that upgrades occur before last accepted block. | `false` |
| `accepted-cache-size` | `int` | Depth to keep in the accepted headers and logs cache. | `32` |
| `transaction-history` | `uint64` | Max blocks from head whose transaction indices are reserved. | `0` (no limit) |
| `tx-lookup-limit` | `uint64` | **Deprecated**, use `transaction-history` instead. | |
| `skip-tx-indexing` | `bool` | Skips indexing transactions; useful for non-indexing nodes.| `false` |
| `warp-off-chain-messages` | `[]hexutil.Bytes` | Encoded off-chain messages to sign. | `[]` (empty list) |

## RPC Settings

| Option | Type | Description | Default |
|-------------------|----------|------------------------------------|----------------|
| `http-body-limit` | `uint64` | Limit for HTTP request body size. | Not specified |

## Database Configuration

| Option | Type | Description | Default |
|----------------------------|-----------|-------------------------------------------|----------------|
| `use-standalone-database` | `*PBool` | Use a standalone database. | `false` |
| `database-config` | `string` | Content of the database configuration. | `""` (empty) |
| `database-config-file` | `string` | Path to the database configuration file. | `""` (empty) |
| `database-type` | `string` | Type of database to use. | `"pebbledb"` |
| `database-path` | `string` | Path to the database. | `""` (empty) |
| `database-read-only` | `bool` | Opens 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.

0 comments on commit 7e90181

Please sign in to comment.