Limits gas for transactions in CheckTx mode to prevent DoS attacks.When set to 0, any gas amount is accepted which can lead to mempool spam.Source:server/config/config.go:141Testnet Default: Set by evmd/cmd/evmd/cmd/testnet.go:303
Enables SHA3 preimage recording in the VM for debugging tools to reverse hash lookups.Increases memory usage when enabled.Source:server/config/config.go:143
EIP-155 replay protection chain ID.Must match the expected network chain ID. Used for transaction signing validation.Source:server/config/config.go:145Used in:x/vm/genesis.go:22
Minimum priority fee (tip) required for transaction inclusion in mempool.Transactions with tips below this value may be rejected. Set to 0 to disable filtering.Flag:EVMMinTipSource:server/config/config.go:150Type: Converted to uint256.Int internally
Address for go-ethereum metrics server.Emits EVM-specific metrics in Prometheus format on a separate server from Cosmos SDK metrics.Source:server/config/config.go:152New in: v0.5.0
EVM mempool configuration for transaction pool management.
New in v0.5.0: Mempool configuration is now fully exposed in app.toml and can be adjusted without code changes. Previously, these settings were hardcoded.
Minimum gas price to enforce for acceptance into the pool (in wei).Transactions with gas prices below this value are rejected from the mempool.Source:server/config/config.go:160Validation: Must be at least 1
Minimum price bump percentage to replace an already existing transaction (nonce).When replacing a transaction with the same nonce, the new transaction must have a gas price at least this percentage higher.Source:server/config/config.go:162Example:10 = require 10% higher gas price
Validation: Must be at least 1
Number of executable transaction slots guaranteed per account.Each account is guaranteed to have this many pending transactions in the executable queue.Source:server/config/config.go:164Validation: Must be at least 1
Maximum number of executable transaction slots for all accounts.Total capacity for all pending executable transactions across all accounts (4096 + 1024 = 5120).Source:server/config/config.go:166Validation: Must be at least 1
Maximum number of non-executable transaction slots permitted per account.For transactions with gaps in nonce sequence (future transactions).Source:server/config/config.go:168Validation: Must be at least 1
Maximum number of non-executable transaction slots for all accounts.Total capacity for queued (non-executable) transactions across all accounts.Source:server/config/config.go:170Validation: Must be at least 1
Maximum amount of time non-executable transactions are queued.Transactions that remain non-executable longer than this duration are removed from the mempool.Source:server/config/config.go:172Format: Go duration string (e.g., "1h30m", "30m0s", "24h0m0s")
Validation: Must be at least 1ns
Enable the JSON-RPC server.Must be true for Ethereum compatibility.Source:server/config/config.go:169Testnet configuration:evmd/cmd/evmd/cmd/testnet.go:303
Gas limit for eth_call/estimateGas operations (25M gas).Set to 0 for unlimited.Source:server/config/config.go:157Enforced:rpc/namespaces/ethereum/eth/api.go:1039
Allow insecure account unlocking when personal namespace is enabled.Source:server/config/config.go:159
CLI flags and environment variables for runtime configuration. These parameters can be set via command line or environment variables to override configuration file settings.
Context: These are EVM-specific runtime parameters that complement the standard Cosmos SDK flags. They control chain initialization and runtime behavior specific to EVM functionality.
EIP-155 replay protection chain ID for Ethereum compatibility. Must be unique across all EVM networks.CLI Flag:--evm.evm-chain-idEnvironment:EVMD_EVM_CHAIN_IDUsage:evmd start --evm.evm-chain-id 9000Config Alternative: Set in app.toml under [evm] evm-chain-id
Minimum priority fee (in wei) required for mempool inclusion.CLI Flag:--evm.min-tipEnvironment:EVMD_EVM_MIN_TIPUsage:evmd start --evm.min-tip 1000000000Config Alternative: Set in app.toml under [evm] min-tip
Maximum gas limit for transactions in CheckTx validation mode.CLI Flag:--evm.max-tx-gas-wantedEnvironment:EVMD_MAX_TX_GAS_WANTEDUsage:evmd start --evm.max-tx-gas-wanted 50000000Config Alternative: Set in app.toml under [evm] max-tx-gas-wanted
Complete app.toml with EVM-specific sections highlighted.
Complete Application Configuration
# This is a TOML config file.# For more information, see https://github.com/toml-lang/toml################################################################################## Base Configuration ################################################################################### The minimum gas prices a validator is willing to accept for processing a# transaction. A transaction's fees must meet the minimum of any denomination# specified in this config (e.g. 0.25token1,0.0001token2).minimum-gas-prices = "0atest"# The maximum gas a query coming over rest/grpc may consume.# If this is set to zero, the query can consume an unbounded amount of gas.query-gas-limit = "0"# default: the last 362880 states are kept, pruning at 10 block intervals# nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node)# everything: 2 latest states will be kept; pruning at 10 block intervals.# custom: allow pruning options to be manually specified through 'pruning-keep-recent', and 'pruning-interval'pruning = "default"# These are applied if and only if the pruning strategy is custom.pruning-keep-recent = "0"pruning-interval = "0"# HaltHeight contains a non-zero block height at which a node will gracefully# halt and shutdown that can be used to assist upgrades and testing.## Note: Commitment of state will be attempted on the corresponding block.halt-height = 0# HaltTime contains a non-zero minimum block time (in Unix seconds) at which# a node will gracefully halt and shutdown that can be used to assist upgrades# and testing.## Note: Commitment of state will be attempted on the corresponding block.halt-time = 0# MinRetainBlocks defines the minimum block height offset from the current# block being committed, such that all blocks past this offset are pruned# from CometBFT. It is used as part of the process of determining the# ResponseCommit.RetainHeight value during ABCI Commit. A value of 0 indicates# that no blocks should be pruned.## This configuration value is only responsible for pruning CometBFT blocks.# It has no bearing on application state pruning which is determined by the# "pruning-*" configurations.## Note: CometBFT block pruning is dependant on this parameter in conjunction# with the unbonding (safety threshold) period, state pruning and state sync# snapshot parameters to determine the correct minimum value of# ResponseCommit.RetainHeight.min-retain-blocks = 0# InterBlockCache enables inter-block caching.inter-block-cache = true# IndexEvents defines the set of events in the form {eventType}.{attributeKey},# which informs CometBFT what to index. If empty, all events will be indexed.## Example:# ["message.sender", "message.recipient"]index-events = []# IavlCacheSize set the size of the iavl tree cache (in number of nodes).iavl-cache-size = 781250# IAVLDisableFastNode enables or disables the fast node feature of IAVL.# Default is false.iavl-disable-fastnode = false# AppDBBackend defines the database backend type to use for the application and snapshots DBs.# An empty string indicates that a fallback will be used.# The fallback is the db_backend value set in CometBFT's config.toml.app-db-backend = ""################################################################################## Telemetry Configuration ##################################################################################[telemetry]# Prefixed with keys to separate services.service-name = ""# Enabled enables the application telemetry functionality. When enabled,# an in-memory sink is also enabled by default. Operators may also enabled# other sinks such as Prometheus.enabled = true# Enable prefixing gauge values with hostname.enable-hostname = false# Enable adding hostname to labels.enable-hostname-label = false# Enable adding service to labels.enable-service-label = false# PrometheusRetentionTime, when positive, enables a Prometheus metrics sink.prometheus-retention-time = 1000000000000# GlobalLabels defines a global set of name/value label tuples applied to all# metrics emitted using the wrapper functions defined in telemetry package.## Example:# [["chain_id", "cosmoshub-1"]]global-labels = []# MetricsSink defines the type of metrics sink to use.metrics-sink = ""# StatsdAddr defines the address of a statsd server to send metrics to.# Only utilized if MetricsSink is set to "statsd" or "dogstatsd".statsd-addr = ""# DatadogHostname defines the hostname to use when emitting metrics to# Datadog. Only utilized if MetricsSink is set to "dogstatsd".datadog-hostname = ""################################################################################## API Configuration ##################################################################################[api]# Enable defines if the API server should be enabled.enable = true# Swagger defines if swagger documentation should automatically be registered.swagger = false# Address defines the API server to listen on.address = "tcp://localhost:1317"# MaxOpenConnections defines the number of maximum open connections.max-open-connections = 1000# RPCReadTimeout defines the CometBFT RPC read timeout (in seconds).rpc-read-timeout = 10# RPCWriteTimeout defines the CometBFT RPC write timeout (in seconds).rpc-write-timeout = 0# RPCMaxBodyBytes defines the CometBFT maximum request body (in bytes).rpc-max-body-bytes = 1000000# EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk).enabled-unsafe-cors = false################################################################################## gRPC Configuration ##################################################################################[grpc]# Enable defines if the gRPC server should be enabled.enable = true# Address defines the gRPC server address to bind to.address = "localhost:9090"# MaxRecvMsgSize defines the max message size in bytes the server can receive.# The default value is 10MB.max-recv-msg-size = "10485760"# MaxSendMsgSize defines the max message size in bytes the server can send.# The default value is math.MaxInt32.max-send-msg-size = "2147483647"################################################################################## gRPC Web Configuration ##################################################################################[grpc-web]# GRPCWebEnable defines if the gRPC-web should be enabled.# NOTE: gRPC must also be enabled, otherwise, this configuration is a no-op.# NOTE: gRPC-Web uses the same address as the API server.enable = true################################################################################## State Sync Configuration ################################################################################### State sync snapshots allow other nodes to rapidly join the network without replaying historical# blocks, instead downloading and applying a snapshot of the application state at a given height.[state-sync]# snapshot-interval specifies the block interval at which local state sync snapshots are# taken (0 to disable).snapshot-interval = 0# snapshot-keep-recent specifies the number of recent snapshots to keep and serve (0 to keep all).snapshot-keep-recent = 2################################################################################## State Streaming ################################################################################### Streaming allows nodes to stream state to external systems.[streaming]# streaming.abci specifies the configuration for the ABCI Listener streaming service.[streaming.abci]# List of kv store keys to stream out via gRPC.# The store key names MUST match the module's StoreKey name.## Example:# ["acc", "bank", "gov", "staking", "mint"[,...]]# ["*"] to expose all keys.keys = []# The plugin name used for streaming via gRPC.# Streaming is only enabled if this is set.# Supported plugins: abciplugin = ""# stop-node-on-err specifies whether to stop the node on message delivery error.stop-node-on-err = true################################################################################## Mempool ##################################################################################[mempool]# Setting max-txs to 0 will allow for a unbounded amount of transactions in the mempool.# Setting max_txs to negative 1 (-1) will disable transactions from being inserted into the mempool (no-op mempool).# Setting max_txs to a positive number (> 0) will limit the number of transactions in the mempool, by the specified amount.## Note, this configuration only applies to SDK built-in app-side mempool# implementations.max-txs = -1################################################################################## EVM Configuration ##################################################################################[evm]# Tracer defines the 'vm.Tracer' type that the EVM will use when the node is run in# debug mode. To enable tracing use the '--evm.tracer' flag when starting your node.# Valid types are: json|struct|access_list|markdowntracer = ""# MaxTxGasWanted defines the gas wanted for each eth tx returned in ante handler in check tx mode.max-tx-gas-wanted = 0# EnablePreimageRecording enables tracking of SHA3 preimages in the VMcache-preimage = false# EVMChainID is the EIP-155 compatible replay protection chain ID. This is separate from the Cosmos chain ID.evm-chain-id = 262144# MinTip defines the minimum priority fee for the mempool.min-tip = 0# Geth metrics server addressgeth-metrics-address = "127.0.0.1:8100"# Mempool configuration for EVM transactions[evm.mempool]# PriceLimit is the minimum gas price to enforce for acceptance into the pool (in wei)price-limit = 1# PriceBump is the minimum price bump percentage to replace an already existing transaction (nonce)price-bump = 10# AccountSlots is the number of executable transaction slots guaranteed per accountaccount-slots = 16# GlobalSlots is the maximum number of executable transaction slots for all accountsglobal-slots = 5120# AccountQueue is the maximum number of non-executable transaction slots permitted per accountaccount-queue = 64# GlobalQueue is the maximum number of non-executable transaction slots for all accountsglobal-queue = 1024# Lifetime is the maximum amount of time non-executable transaction are queuedlifetime = "3h0m0s"################################################################################## JSON RPC Configuration ##################################################################################[json-rpc]# Enable defines if the JSONRPC server should be enabled.enable = true# Address defines the EVM RPC HTTP server address to bind to.address = "127.0.0.1:8545"# Address defines the EVM WebSocket server address to bind to.ws-address = "127.0.0.1:8546"# WSOrigins defines the allowed origins for WebSocket connections.# Example: ["localhost", "127.0.0.1", "myapp.example.com"]ws-origins = ["127.0.0.1", "localhost"]# API defines a list of JSON-RPC namespaces that should be enabled# Example: "eth,txpool,personal,net,debug,web3"api = "eth,net,web3"# GasCap sets a cap on gas that can be used in eth_call/estimateGas (0=infinite). Default: 25,000,000.gas-cap = 25000000# Allow insecure account unlocking when account-related RPCs are exposed by httpallow-insecure-unlock = true# EVMTimeout is the global timeout for eth_call. Default: 5s.evm-timeout = "5s"# TxFeeCap is the global tx-fee cap for send transaction. Default: 1eth.txfee-cap = 1# FilterCap sets the global cap for total number of filters that can be createdfilter-cap = 200# FeeHistoryCap sets the global cap for total number of blocks that can be fetchedfeehistory-cap = 100# LogsCap defines the max number of results can be returned from single 'eth_getLogs' query.logs-cap = 10000# BlockRangeCap defines the max block range allowed for 'eth_getLogs' query.block-range-cap = 10000# HTTPTimeout is the read/write timeout of http json-rpc server.http-timeout = "30s"# HTTPIdleTimeout is the idle timeout of http json-rpc server.http-idle-timeout = "2m0s"# AllowUnprotectedTxs restricts unprotected (non EIP155 signed) transactions to be submitted via# the node's RPC when the global parameter is disabled.allow-unprotected-txs = false# MaxOpenConnections sets the maximum number of simultaneous connections# for the server listener.max-open-connections = 0# EnableIndexer enables the custom transaction indexer for the EVM (ethereum transactions).enable-indexer = false# MetricsAddress defines the EVM Metrics server address to bind to. Pass --metrics in CLI to enable# Prometheus metrics path: /debug/metrics/prometheusmetrics-address = "127.0.0.1:6065"# Maximum number of requests in a batch.batch-request-limit = 1000# Maximum number of bytes returned from a batched call.batch-response-max-size = 25000000# Enabled profiling in the debug namespaceenable-profiling = false################################################################################## TLS Configuration ##################################################################################[tls]# Certificate path defines the cert.pem file path for the TLS configuration.certificate-path = ""# Key path defines the key.pem file path for the TLS configuration.key-path = ""
Lines (130-260): are EVM-specific configuration sections added by Cosmos EVMLines (1-129): are Base Cosmos SDK parametersKey EVM sections:
[evm]: EVM runtime settings (lines 645-670)
[evm.mempool]: Mempool configuration (lines 672-694, new in v0.5.0)
[json-rpc]: Ethereum JSON-RPC server (lines 700-747)
[tls]: TLS configuration (lines 753-760)
Template sources:
SDK config: cosmos-sdk/server/config/toml.go
EVM config: evm/server/config/toml.go
Blockchain initialization parameters set during chain genesis. These EVM-specific parameters configure the initial state and behavior of the EVM module.
Context: These parameters are set once during chain initialization and typically cannot be changed without governance proposals or network upgrades. They control fundamental EVM behavior and compatibility.
access_control: Permissions for contract creation and execution
Fee Market Parameters:
base_fee: Initial EIP-1559 base fee value
base_fee_change_denominator: Rate of base fee adjustment
elasticity_multiplier: Block utilization threshold for fee changes
Consensus Parameters:
max_gas: Maximum gas per block (critical for mempool configuration)
Production validator node configuration and security considerations.
Critical Security Notice: Validator nodes should NEVER expose RPC/API ports publicly. Only dedicated RPC nodes (non-validators) should serve public traffic.
State Sync Consideration: If validators need to quickly sync using state sync, they may temporarily enable RPC on a private network segment to serve snapshots to each other. This should be done on a separate internal interface, never exposed publicly.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Cosmos Docs","description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.","colors":{"primary":"#000000","light":"#cccccc","dark":"#0E0E0E"},"logo":{"light":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos-wordmark-dark.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=cd248dfba0e2e05e30786f2bb3f64fe9","dark":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos-wordmark.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=bec1c5143607bae16714a74214e59936"},"favicon":{"light":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=894cf1378c2e13292b5729f71ffcdfa3","dark":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos-dark.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=84a9ac891f12ecddec2f5bbc50774eb1"},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#F1F1F1","dark":"#000000"}},"navbar":{"links":[{"href":"/sdk/latest/learn","label":"Cosmos SDK"},{"href":"/evm/latest/documentation/overview","label":"Cosmos EVM"},{"href":"https://ibcprotocol.dev/docs","label":"IBC"},{"href":"/cometbft/latest/docs/README","label":"CometBFT"}]},"footer":{"socials":{"twitter":"https://twitter.com/cosmos","github":"https://github.com/cosmos","discord":"https://discord.gg/interchain","website":"https://cosmos.network"},"links":[{"header":"Technology","items":[{"label":"Cosmos SDK","href":"/sdk/latest/learn"},{"label":"Cosmos EVM","href":"/evm"},{"label":"IBC","href":"https://ibcprotocol.dev/docs"},{"label":"CometBFT","href":"/cometbft"},{"label":"Cosmos Github","href":"https://github.com/cosmos"},{"label":"Cosmos HackerOne","href":"https://hackerone.com/cosmos"},{"label":"Skip Go","href":"/skip-go/general/getting-started"},{"label":"Cosmos Hub","href":"/hub/latest"}]},{"header":"Get In Touch","items":[{"label":"Developer Discord","href":"https://discord.gg/interchain"},{"label":"Community Telegram","href":"https://t.me/CosmosOG"},{"label":"Contact Us","href":"https://www.cosmoslabs.io/contact"},{"label":"Cosmos Website","href":"https://cosmos.network/"}]},{"header":"Legal","items":[{"label":"Privacy","href":"https://cosmos.network/privacy-policy"},{"label":"Trademark","href":"https://cosmos.network/trademark"},{"label":"Security Policy","href":"/sdk/latest/security/security-policy"},{"label":"Security Audits","href":"/sdk/latest/security/audits"},{"label":"Bug Bounty Program","href":"/sdk/latest/security/bug-bounty"}]}]},"search":{"prompt":"Search..."},"seo":{"metatags":{"description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.","og:description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.","twitter:description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains."}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}},"latex":true},"integrations":{"gtm":{"tagId":"GTM-5XMZ695Z"}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"The page you are looking for has either moved or doesn't exist anymore.\n\nPlease create an issue on the [Cosmos Docs GitHub repository](https://github.com/cosmos/docs/issues/new) to report the problem and it will be fixed as soon as possible."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cosmos-docs","hasAudioNarration":false,"actualSubdomain":"cosmos-docs","customDomains":["docs.cosmos.network","cosmos.network"],"gitSource":{"type":"github","owner":"cosmos","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4d7a84af72709c3cb8597","collectionId":"935d4ee8-69ed-48ea-88d5-81d6941678d2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4d7a84af72709c3cb8597"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4d7a84af72709c3cb8597","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Cosmos SDK","count":629},{"language":"default","tag":"API Reference","count":401},{"language":"default","tag":"CometBFT","count":236},{"language":"default","tag":"REST (gRPC Gateway)","count":216},{"language":"default","tag":"Documentation","count":154},{"language":"default","tag":"RPC Methods","count":120},{"language":"default","tag":"Cosmos Hub","count":106},{"language":"default","tag":"Info","count":91},{"language":"default","tag":"Architecture Reference","count":70},{"language":"default","tag":"Learn","count":69}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0NSDulI.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh2dSDulI.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0dSDulI.woff2) format('woff2');\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3tSDulI.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bhZ_Wmh2uX.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh09SDulI.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3dSD.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0NSDulI.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh2dSDulI.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0dSDulI.woff2) format('woff2');\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3tSDulI.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bhZ_Wmh2uX.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh09SDulI.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3dSD.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--background-light: 255 255 255}.bg-primary\\/10{background-color:#40b3ff}.dark .bg-primary\\/10{background-color:#4251fa}.bg-primary\\/10.text-primary,.bg-primary\\/10 .text-primary{color:white}.dark\\:bg-primary-light\\/10:is(.dark *){background-color:#4251fa}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}body:has(#custom-index-content) header,body:has(#custom-index-content) #navbar,body:has(#custom-index-content) #header,body:has(#custom-index-content) nav[aria-label],body:has(#custom-index-content) button#search-bar-entry,body:has(#custom-index-content) button#search-bar-entry-mobile,body:has(#custom-index-content) #search-bar-entry,body:has(#custom-index-content) #search-bar-entry-mobile,body:has(#custom-index-content) .chat-assistant-floating-input,body:has(#custom-index-content) *:has(>.chat-assistant-floating-input){display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;position:absolute!important;left:-99999px!important;pointer-events:none!important}body:has(#custom-index-content) #custom-index-content{font-family:'The Future', sans-serif}body:has(#custom-index-content) #custom-index-content h1,body:has(#custom-index-content) #custom-index-content h2,body:has(#custom-index-content) #custom-index-content h3,body:has(#custom-index-content) #custom-index-content p,body:has(#custom-index-content) #custom-index-content a{font-family:'The Future', sans-serif}@media (max-width: 768px){button[aria-label=\"More actions\"]{display:none!important}#custom-index-content{margin-top:-120px}}@media (min-width: 769px) and (max-width: 1023px){#custom-index-content{margin-top:-120px}}.prose p a,.prose li a,.prose ul a,.prose span a,.prose div[data-callout-type] a,.prose .callout a,.prose .info a,.prose .note a,.prose .warning a,.prose .tip a,.prose .steps a,.prose .step a,.prose [role=\"listitem\"] a{border-bottom-color:#0E0E0E!important;text-decoration-color:#0E0E0E!important}.dark .prose p a,.dark .prose li a,.dark .prose ul a,.dark .prose span a,.dark .prose div[data-callout-type] a,.dark .prose .callout a,.dark .prose .info a,.dark .prose .note a,.dark .prose .warning a,.dark .prose .tip a,.dark .prose .steps a,.dark .prose .step a,.dark .prose [role=\"listitem\"] a{border-bottom-color:#cccccc!important;text-decoration-color:#cccccc!important}.highlighted-card-bg{background-color:#FFB84D;position:relative;overflow:hidden;transition:box-shadow 0.3s ease-in-out}.highlighted-card-bg:hover{box-shadow:0 0 30px rgba(255, 184, 77, 0.5),\n 0 0 60px rgba(255, 184, 77, 0.3),\n 0 10px 40px rgba(255, 184, 77, 0.2)}.highlighted-card-bg::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(\n 45deg,\n transparent 30%,\n rgba(255, 255, 255, 0.4) 50%,\n transparent 70%\n );transform:translateX(-100%) translateY(-100%) rotate(45deg);transition:transform 0.6s ease-in-out}.highlighted-card-bg:hover::before{transform:translateX(100%) translateY(100%) rotate(45deg)}@layer utilities{body:has(#custom-index-content) #footer{display:flex!important}}pre,pre code,code{font-family:'Fira Code', 'Cascadia Code', 'JetBrains Mono', monospace!important}"}],"page":{"pagePath":"evm/next/documentation/getting-started/network-operators/node-configuration","slug":"/evm/next/documentation/getting-started/network-operators/node-configuration","pageMetadata":{"noindex":true,"canonical":"https://docs.cosmos.network/evm/latest/documentation/getting-started/network-operators/node-configuration","title":"Node Configuration","description":"Complete reference for configuring Cosmos EVM nodes, JSON-RPC settings, and command-line options","mode":"wide","href":"/evm/next/documentation/getting-started/network-operators/node-configuration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Complete reference for configuring Cosmos EVM nodes, JSON-RPC settings, and command-line options\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,input:`input`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Note,ParamField,Tab,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Configure EVM-specific settings in `,_jsx(_components.code,{children:`~/.evmd/config/app.toml`}),`. This guide covers parameters unique to the EVM implementation.`]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`EVM`,id:`evm`,children:[_jsx(_components.p,{children:`EVM execution environment configuration.`}),_jsxs(ParamField,{body:`tracer`,type:`string`,default:``,id:`param-tracer`,children:[_jsx(_components.p,{children:`Controls VM execution tracing for debugging.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Valid Options:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"\"`}),` - Disabled (default)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"json\"`}),` - Full execution trace in JSON format, used by debug_traceTransaction RPC`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"struct\"`}),` - Go struct format for programmatic processing`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"access_list\"`}),` - Generates EIP-2930 access lists for gas optimization`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"markdown\"`}),` - Human-readable format for manual analysis`]}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:139`}),`\n`,_jsx(_components.strong,{children:`Implementation:`}),` `,_jsx(_components.code,{children:`x/vm/keeper/state_transition.go:150-157`})]})]}),_jsxs(ParamField,{body:`max-tx-gas-wanted`,type:`number`,default:`0`,id:`param-max-tx-gas-wanted`,children:[_jsx(_components.p,{children:`Limits gas for transactions in CheckTx mode to prevent DoS attacks.`}),_jsx(_components.p,{children:`When set to 0, any gas amount is accepted which can lead to mempool spam.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:141`}),`\n`,_jsx(_components.strong,{children:`Testnet Default:`}),` Set by `,_jsx(_components.code,{children:`evmd/cmd/evmd/cmd/testnet.go:303`})]})]}),_jsxs(ParamField,{body:`cache-preimage`,type:`boolean`,default:`false`,id:`param-cache-preimage`,children:[_jsx(_components.p,{children:`Enables SHA3 preimage recording in the VM for debugging tools to reverse hash lookups.`}),_jsx(_components.p,{children:`Increases memory usage when enabled.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:143`})]})]}),_jsxs(ParamField,{body:`evm-chain-id`,type:`number`,default:`262144`,id:`param-evm-chain-id`,children:[_jsx(_components.p,{children:`EIP-155 replay protection chain ID.`}),_jsx(_components.p,{children:`Must match the expected network chain ID. Used for transaction signing validation.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:145`}),`\n`,_jsx(_components.strong,{children:`Used in:`}),` `,_jsx(_components.code,{children:`x/vm/genesis.go:22`})]})]}),_jsxs(ParamField,{body:`min-tip`,type:`number`,default:`0`,id:`param-min-tip`,children:[_jsx(_components.p,{children:`Minimum priority fee (tip) required for transaction inclusion in mempool.`}),_jsx(_components.p,{children:`Transactions with tips below this value may be rejected. Set to 0 to disable filtering.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Flag:`}),` `,_jsx(_components.code,{children:`EVMMinTip`}),`\n`,_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:150`}),`\n`,_jsx(_components.strong,{children:`Type:`}),` Converted to `,_jsx(_components.code,{children:`uint256.Int`}),` internally`]})]}),_jsxs(ParamField,{body:`geth-metrics-address`,type:`string`,default:`127.0.0.1:8100`,id:`param-geth-metrics-address`,children:[_jsx(_components.p,{children:`Address for go-ethereum metrics server.`}),_jsx(_components.p,{children:`Emits EVM-specific metrics in Prometheus format on a separate server from Cosmos SDK metrics.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:152`}),`\n`,_jsx(_components.strong,{children:`New in:`}),` v0.5.0`]})]})]}),_jsxs(Tab,{title:`Mempool`,id:`mempool`,\"data-child-heading-ids\":`[\"configuration-examples\"]`,children:[_jsx(_components.p,{children:`EVM mempool configuration for transaction pool management.`}),_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`New in v0.5.0`}),`: Mempool configuration is now fully exposed in `,_jsx(_components.code,{children:`app.toml`}),` and can be adjusted without code changes. Previously, these settings were hardcoded.`]})}),_jsxs(ParamField,{body:`price-limit`,type:`number`,default:`1`,id:`param-price-limit`,children:[_jsx(_components.p,{children:`Minimum gas price to enforce for acceptance into the pool (in wei).`}),_jsx(_components.p,{children:`Transactions with gas prices below this value are rejected from the mempool.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:160`}),`\n`,_jsx(_components.strong,{children:`Validation:`}),` Must be at least 1`]})]}),_jsxs(ParamField,{body:`price-bump`,type:`number`,default:`10`,id:`param-price-bump`,children:[_jsx(_components.p,{children:`Minimum price bump percentage to replace an already existing transaction (nonce).`}),_jsx(_components.p,{children:`When replacing a transaction with the same nonce, the new transaction must have a gas price at least this percentage higher.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:162`}),`\n`,_jsx(_components.strong,{children:`Example:`}),` `,_jsx(_components.code,{children:`10`}),` = require 10% higher gas price\n`,_jsx(_components.strong,{children:`Validation:`}),` Must be at least 1`]})]}),_jsxs(ParamField,{body:`account-slots`,type:`number`,default:`16`,id:`param-account-slots`,children:[_jsx(_components.p,{children:`Number of executable transaction slots guaranteed per account.`}),_jsx(_components.p,{children:`Each account is guaranteed to have this many pending transactions in the executable queue.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:164`}),`\n`,_jsx(_components.strong,{children:`Validation:`}),` Must be at least 1`]})]}),_jsxs(ParamField,{body:`global-slots`,type:`number`,default:`5120`,id:`param-global-slots`,children:[_jsx(_components.p,{children:`Maximum number of executable transaction slots for all accounts.`}),_jsx(_components.p,{children:`Total capacity for all pending executable transactions across all accounts (4096 + 1024 = 5120).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:166`}),`\n`,_jsx(_components.strong,{children:`Validation:`}),` Must be at least 1`]})]}),_jsxs(ParamField,{body:`account-queue`,type:`number`,default:`64`,id:`param-account-queue`,children:[_jsx(_components.p,{children:`Maximum number of non-executable transaction slots permitted per account.`}),_jsx(_components.p,{children:`For transactions with gaps in nonce sequence (future transactions).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:168`}),`\n`,_jsx(_components.strong,{children:`Validation:`}),` Must be at least 1`]})]}),_jsxs(ParamField,{body:`global-queue`,type:`number`,default:`1024`,id:`param-global-queue`,children:[_jsx(_components.p,{children:`Maximum number of non-executable transaction slots for all accounts.`}),_jsx(_components.p,{children:`Total capacity for queued (non-executable) transactions across all accounts.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:170`}),`\n`,_jsx(_components.strong,{children:`Validation:`}),` Must be at least 1`]})]}),_jsxs(ParamField,{body:`lifetime`,type:`string`,default:`3h0m0s`,id:`param-lifetime`,children:[_jsx(_components.p,{children:`Maximum amount of time non-executable transactions are queued.`}),_jsx(_components.p,{children:`Transactions that remain non-executable longer than this duration are removed from the mempool.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:172`}),`\n`,_jsx(_components.strong,{children:`Format:`}),` Go duration string (e.g., `,_jsx(_components.code,{children:`\"1h30m\"`}),`, `,_jsx(_components.code,{children:`\"30m0s\"`}),`, `,_jsx(_components.code,{children:`\"24h0m0s\"`}),`)\n`,_jsx(_components.strong,{children:`Validation:`}),` Must be at least 1ns`]})]}),_jsx(Heading,{level:`3`,id:`configuration-examples`,children:`Configuration Examples`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`High-Throughput Chain:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`evm`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`.`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`mempool`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`global-slots = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`10240`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`global-queue = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`2048`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`price-limit = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`100000000`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # 0.1 gwei minimum`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`lifetime = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"6h0m0s\"`})]}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Low-Resource Node:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`evm`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`.`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`mempool`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`global-slots = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`2048`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`global-queue = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`512`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`lifetime = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"1h0m0s\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`account-slots = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`8`})]}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Strict Spam Protection:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`evm`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`.`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`mempool`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`price-limit = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1000000000`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # 1 gwei minimum`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`price-bump = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`25`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # 25% replacement cost`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`lifetime = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"30m0s\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`account-slots = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`4`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`JSON-RPC`,id:`json-rpc`,\"data-child-heading-ids\":`[\"core-settings\",\"resource-limits\",\"connection-settings\",\"features\",\"security\"]`,children:[_jsx(_components.p,{children:`Ethereum JSON-RPC server configuration.`}),_jsx(Heading,{level:`2`,id:`core-settings`,children:`Core Settings`}),_jsxs(ParamField,{body:`enable`,type:`boolean`,default:`false`,id:`param-enable`,children:[_jsx(_components.p,{children:`Enable the JSON-RPC server.`}),_jsxs(_components.p,{children:[`Must be `,_jsx(_components.code,{children:`true`}),` for Ethereum compatibility.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:169`}),`\n`,_jsx(_components.strong,{children:`Testnet configuration:`}),` `,_jsx(_components.code,{children:`evmd/cmd/evmd/cmd/testnet.go:303`})]})]}),_jsxs(ParamField,{body:`address`,type:`string`,default:`127.0.0.1:8545`,id:`param-address`,children:[_jsx(_components.p,{children:`HTTP server bind address using standard Ethereum RPC port.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:153`})]})]}),_jsxs(ParamField,{body:`ws-address`,type:`string`,default:`127.0.0.1:8546`,id:`param-ws-address`,children:[_jsx(_components.p,{children:`WebSocket server address for eth_subscribe methods.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:155`}),`\n`,_jsx(_components.strong,{children:`Implementation:`}),` `,_jsx(_components.code,{children:`rpc/stream/rpc.go`})]})]}),_jsxs(ParamField,{body:`api`,type:`string`,default:`eth,net,web3`,id:`param-api`,children:[_jsx(_components.p,{children:`JSON-RPC namespaces to enable.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Available namespaces:`}),` `,_jsx(_components.code,{children:`web3`}),`, `,_jsx(_components.code,{children:`eth`}),`, `,_jsx(_components.code,{children:`personal`}),`, `,_jsx(_components.code,{children:`net`}),`, `,_jsx(_components.code,{children:`txpool`}),`, `,_jsx(_components.code,{children:`debug`}),`, `,_jsx(_components.code,{children:`miner`})]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:151`}),`\n`,_jsx(_components.strong,{children:`Namespace implementations:`}),` `,_jsx(_components.code,{children:`rpc/namespaces/`})]})]}),_jsxs(ParamField,{body:`ws-origins`,type:`string[]`,default:`['127.0.0.1', 'localhost']`,id:`param-ws-origins`,children:[_jsx(_components.p,{children:`Allowed CORS origins for WebSocket connections.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:195`})]})]}),_jsx(Heading,{level:`2`,id:`resource-limits`,children:`Resource Limits`}),_jsxs(ParamField,{body:`gas-cap`,type:`number`,default:`25000000`,id:`param-gas-cap`,children:[_jsx(_components.p,{children:`Gas limit for eth_call/estimateGas operations (25M gas).`}),_jsx(_components.p,{children:`Set to 0 for unlimited.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:157`}),`\n`,_jsx(_components.strong,{children:`Enforced:`}),` `,_jsx(_components.code,{children:`rpc/namespaces/ethereum/eth/api.go:1039`})]})]}),_jsxs(ParamField,{body:`txfee-cap`,type:`number`,default:`1`,id:`param-txfee-cap`,children:[_jsx(_components.p,{children:`Maximum transaction fee cap in ether for eth_sendTransaction.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:163`}),`\n`,_jsx(_components.strong,{children:`Enforced:`}),` `,_jsx(_components.code,{children:`rpc/namespaces/ethereum/eth/api.go:1586`})]})]}),_jsxs(ParamField,{body:`filter-cap`,type:`number`,default:`200`,id:`param-filter-cap`,children:[_jsx(_components.p,{children:`Maximum concurrent filters per connection.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:165`}),`\n`,_jsx(_components.strong,{children:`Implementation:`}),` `,_jsx(_components.code,{children:`rpc/namespaces/ethereum/eth/filters/`})]})]}),_jsxs(ParamField,{body:`feehistory-cap`,type:`number`,default:`100`,id:`param-feehistory-cap`,children:[_jsx(_components.p,{children:`Maximum blocks that can be fetched for eth_feeHistory.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:167`})]})]}),_jsxs(ParamField,{body:`logs-cap`,type:`number`,default:`10000`,id:`param-logs-cap`,children:[_jsx(_components.p,{children:`Maximum logs returned from a single eth_getLogs query.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:171`}),`\n`,_jsx(_components.strong,{children:`Enforced:`}),` `,_jsx(_components.code,{children:`rpc/namespaces/ethereum/eth/filters/api.go:442`})]})]}),_jsxs(ParamField,{body:`block-range-cap`,type:`number`,default:`10000`,id:`param-block-range-cap`,children:[_jsx(_components.p,{children:`Maximum block range allowed for eth_getLogs queries.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:173`}),`\n`,_jsx(_components.strong,{children:`Enforced:`}),` `,_jsx(_components.code,{children:`rpc/namespaces/ethereum/eth/filters/filter.go:268`})]})]}),_jsx(Heading,{level:`2`,id:`connection-settings`,children:`Connection Settings`}),_jsxs(ParamField,{body:`batch-request-limit`,type:`number`,default:`1000`,id:`param-batch-request-limit`,children:[_jsx(_components.p,{children:`Maximum number of requests in a batch (go-ethereum standard).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:182`})]})]}),_jsxs(ParamField,{body:`batch-response-max-size`,type:`number`,default:`25000000`,id:`param-batch-response-max-size`,children:[_jsx(_components.p,{children:`Maximum bytes returned from a batched call (25MB).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:184`})]})]}),_jsxs(ParamField,{body:`http-timeout`,type:`string`,default:`30s`,id:`param-http-timeout`,children:[_jsx(_components.p,{children:`Read/write timeout for HTTP JSON-RPC server.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:175`})]})]}),_jsxs(ParamField,{body:`http-idle-timeout`,type:`string`,default:`120s`,id:`param-http-idle-timeout`,children:[_jsx(_components.p,{children:`Idle timeout for HTTP connections.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:177`})]})]}),_jsxs(ParamField,{body:`max-open-connections`,type:`number`,default:`0`,id:`param-max-open-connections`,children:[_jsx(_components.p,{children:`Maximum simultaneous connections for the server listener.`}),_jsx(_components.p,{children:`Set to 0 for unlimited.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:187`})]})]}),_jsxs(ParamField,{body:`evm-timeout`,type:`string`,default:`5s`,id:`param-evm-timeout`,children:[_jsx(_components.p,{children:`Global timeout for eth_call operations.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:161`})]})]}),_jsx(Heading,{level:`2`,id:`features`,children:`Features`}),_jsxs(ParamField,{body:`enable-indexer`,type:`boolean`,default:`false`,id:`param-enable-indexer`,children:[_jsx(_components.p,{children:`Enable custom transaction indexer for EVM transactions.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Required for:`}),` `,_jsx(_components.code,{children:`eth_getLogs`}),`, `,_jsx(_components.code,{children:`eth_getTransactionReceipt`})]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:189`}),`\n`,_jsx(_components.strong,{children:`Testnet default:`}),` `,_jsx(_components.code,{children:`evmd/cmd/evmd/cmd/testnet.go:303`})]})]}),_jsxs(ParamField,{body:`enable-profiling`,type:`boolean`,default:`false`,id:`param-enable-profiling`,children:[_jsx(_components.p,{children:`Enable pprof endpoints in debug namespace.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:197`})]})]}),_jsxs(ParamField,{body:`metrics-address`,type:`string`,default:`127.0.0.1:6065`,id:`param-metrics-address`,children:[_jsx(_components.p,{children:`Prometheus metrics server address.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Metrics path:`}),` `,_jsx(_components.code,{children:`/debug/metrics/prometheus`})]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:191`})]})]}),_jsx(Heading,{level:`2`,id:`security`,children:`Security`}),_jsxs(ParamField,{body:`allow-unprotected-txs`,type:`boolean`,default:`false`,id:`param-allow-unprotected-txs`,children:[_jsx(_components.p,{children:`Allow non-EIP155 signed transactions to be submitted.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:180`})]})]}),_jsxs(ParamField,{body:`allow-insecure-unlock`,type:`boolean`,default:`true`,id:`param-allow-insecure-unlock`,children:[_jsx(_components.p,{children:`Allow insecure account unlocking when personal namespace is enabled.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Source:`}),` `,_jsx(_components.code,{children:`server/config/config.go:159`})]})]})]}),_jsxs(Tab,{title:`Runtime Flags`,id:`runtime-flags`,children:[_jsx(_components.p,{children:`CLI flags and environment variables for runtime configuration. These parameters can be set via command line or environment variables to override configuration file settings.`}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Context`}),`: These are EVM-specific runtime parameters that complement the standard Cosmos SDK flags. They control chain initialization and runtime behavior specific to EVM functionality.`]})}),_jsxs(ParamField,{body:`chain-id`,type:`string`,default:`local-1`,id:`param-chain-id`,children:[_jsx(_components.p,{children:`Cosmos SDK chain identifier for transaction signing and network identification.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CLI Flag:`}),` `,_jsx(_components.code,{children:`--chain-id`}),`\n`,_jsx(_components.strong,{children:`Environment:`}),` `,_jsx(_components.code,{children:`EVMD_CHAIN_ID`}),`\n`,_jsx(_components.strong,{children:`Usage:`}),` `,_jsx(_components.code,{children:`evmd start --chain-id mychain-1`})]})]}),_jsxs(ParamField,{body:`evm-chain-id`,type:`number`,default:`262144`,id:`param-evm-chain-id-1`,children:[_jsx(_components.p,{children:`EIP-155 replay protection chain ID for Ethereum compatibility. Must be unique across all EVM networks.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CLI Flag:`}),` `,_jsx(_components.code,{children:`--evm.evm-chain-id`}),`\n`,_jsx(_components.strong,{children:`Environment:`}),` `,_jsx(_components.code,{children:`EVMD_EVM_CHAIN_ID`}),`\n`,_jsx(_components.strong,{children:`Usage:`}),` `,_jsx(_components.code,{children:`evmd start --evm.evm-chain-id 9000`}),`\n`,_jsx(_components.strong,{children:`Config Alternative:`}),` Set in `,_jsx(_components.code,{children:`app.toml`}),` under `,_jsx(_components.code,{children:`[evm] evm-chain-id`})]})]}),_jsxs(ParamField,{body:`denom`,type:`string`,default:`atest`,id:`param-denom`,children:[_jsx(_components.p,{children:`Base denomination for native token transactions and staking.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CLI Flag:`}),` `,_jsx(_components.code,{children:`--denom`}),`\n`,_jsx(_components.strong,{children:`Environment:`}),` `,_jsx(_components.code,{children:`EVMD_DENOM`}),`\n`,_jsx(_components.strong,{children:`Usage:`}),` `,_jsx(_components.code,{children:`evmd init mynode --denom mytoken`})]})]}),_jsxs(ParamField,{body:`min-tip`,type:`number`,default:`0`,id:`param-min-tip-1`,children:[_jsx(_components.p,{children:`Minimum priority fee (in wei) required for mempool inclusion.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CLI Flag:`}),` `,_jsx(_components.code,{children:`--evm.min-tip`}),`\n`,_jsx(_components.strong,{children:`Environment:`}),` `,_jsx(_components.code,{children:`EVMD_EVM_MIN_TIP`}),`\n`,_jsx(_components.strong,{children:`Usage:`}),` `,_jsx(_components.code,{children:`evmd start --evm.min-tip 1000000000`}),`\n`,_jsx(_components.strong,{children:`Config Alternative:`}),` Set in `,_jsx(_components.code,{children:`app.toml`}),` under `,_jsx(_components.code,{children:`[evm] min-tip`})]})]}),_jsxs(ParamField,{body:`max-tx-gas-wanted`,type:`number`,default:`0`,id:`param-max-tx-gas-wanted-1`,children:[_jsx(_components.p,{children:`Maximum gas limit for transactions in CheckTx validation mode.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CLI Flag:`}),` `,_jsx(_components.code,{children:`--evm.max-tx-gas-wanted`}),`\n`,_jsx(_components.strong,{children:`Environment:`}),` `,_jsx(_components.code,{children:`EVMD_MAX_TX_GAS_WANTED`}),`\n`,_jsx(_components.strong,{children:`Usage:`}),` `,_jsx(_components.code,{children:`evmd start --evm.max-tx-gas-wanted 50000000`}),`\n`,_jsx(_components.strong,{children:`Config Alternative:`}),` Set in `,_jsx(_components.code,{children:`app.toml`}),` under `,_jsx(_components.code,{children:`[evm] max-tx-gas-wanted`})]})]})]}),_jsxs(Tab,{title:`Application Config`,id:`application-config`,children:[_jsxs(_components.p,{children:[`Complete `,_jsx(_components.code,{children:`app.toml`}),` with EVM-specific sections highlighted.`]}),_jsx(CodeBlock,{filename:`Complete Application Configuration`,lines:`true`,expandable:`true`,numberOfLines:`375`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`375`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# This is a TOML config file.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# For more information, see https://github.com/toml-lang/toml`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### Base Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# The minimum gas prices a validator is willing to accept for processing a`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# transaction. A transaction's fees must meet the minimum of any denomination`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# specified in this config (e.g. 0.25token1,0.0001token2).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`minimum-gas-prices = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0atest\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# The maximum gas a query coming over rest/grpc may consume.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# If this is set to zero, the query can consume an unbounded amount of gas.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`query-gas-limit = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# default: the last 362880 states are kept, pruning at 10 block intervals`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# everything: 2 latest states will be kept; pruning at 10 block intervals.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# custom: allow pruning options to be manually specified through 'pruning-keep-recent', and 'pruning-interval'`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`pruning = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"default\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# These are applied if and only if the pruning strategy is custom.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`pruning-keep-recent = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`pruning-interval = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# HaltHeight contains a non-zero block height at which a node will gracefully`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# halt and shutdown that can be used to assist upgrades and testing.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Note: Commitment of state will be attempted on the corresponding block.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`halt-height = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# HaltTime contains a non-zero minimum block time (in Unix seconds) at which`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# a node will gracefully halt and shutdown that can be used to assist upgrades`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# and testing.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Note: Commitment of state will be attempted on the corresponding block.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`halt-time = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MinRetainBlocks defines the minimum block height offset from the current`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# block being committed, such that all blocks past this offset are pruned`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# from CometBFT. It is used as part of the process of determining the`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# ResponseCommit.RetainHeight value during ABCI Commit. A value of 0 indicates`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# that no blocks should be pruned.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# This configuration value is only responsible for pruning CometBFT blocks.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# It has no bearing on application state pruning which is determined by the`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# \"pruning-*\" configurations.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Note: CometBFT block pruning is dependant on this parameter in conjunction`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# with the unbonding (safety threshold) period, state pruning and state sync`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# snapshot parameters to determine the correct minimum value of`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# ResponseCommit.RetainHeight.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`min-retain-blocks = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# InterBlockCache enables inter-block caching.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`inter-block-cache = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# IndexEvents defines the set of events in the form {eventType}.{attributeKey},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# which informs CometBFT what to index. If empty, all events will be indexed.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Example:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# [\"message.sender\", \"message.recipient\"]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`index-events = []`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# IavlCacheSize set the size of the iavl tree cache (in number of nodes).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`iavl-cache-size = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`781250`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# IAVLDisableFastNode enables or disables the fast node feature of IAVL.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Default is false.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`iavl-disable-fastnode = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# AppDBBackend defines the database backend type to use for the application and snapshots DBs.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# An empty string indicates that a fallback will be used.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# The fallback is the db_backend value set in CometBFT's config.toml.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`app-db-backend = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### Telemetry Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`telemetry`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Prefixed with keys to separate services.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`service-name = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enabled enables the application telemetry functionality. When enabled,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# an in-memory sink is also enabled by default. Operators may also enabled`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# other sinks such as Prometheus.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enabled = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enable prefixing gauge values with hostname.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable-hostname = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enable adding hostname to labels.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable-hostname-label = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enable adding service to labels.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable-service-label = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# PrometheusRetentionTime, when positive, enables a Prometheus metrics sink.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`prometheus-retention-time = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1000000000000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# GlobalLabels defines a global set of name/value label tuples applied to all`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# metrics emitted using the wrapper functions defined in telemetry package.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Example:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# [[\"chain_id\", \"cosmoshub-1\"]]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`global-labels = [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MetricsSink defines the type of metrics sink to use.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`metrics-sink = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# StatsdAddr defines the address of a statsd server to send metrics to.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Only utilized if MetricsSink is set to \"statsd\" or \"dogstatsd\".`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`statsd-addr = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# DatadogHostname defines the hostname to use when emitting metrics to`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Datadog. Only utilized if MetricsSink is set to \"dogstatsd\".`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`datadog-hostname = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### API Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`api`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enable defines if the API server should be enabled.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Swagger defines if swagger documentation should automatically be registered.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`swagger = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Address defines the API server to listen on.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"tcp://localhost:1317\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MaxOpenConnections defines the number of maximum open connections.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-open-connections = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# RPCReadTimeout defines the CometBFT RPC read timeout (in seconds).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`rpc-read-timeout = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`10`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# RPCWriteTimeout defines the CometBFT RPC write timeout (in seconds).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`rpc-write-timeout = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# RPCMaxBodyBytes defines the CometBFT maximum request body (in bytes).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`rpc-max-body-bytes = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1000000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enabled-unsafe-cors = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### gRPC Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`grpc`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enable defines if the gRPC server should be enabled.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Address defines the gRPC server address to bind to.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"localhost:9090\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MaxRecvMsgSize defines the max message size in bytes the server can receive.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# The default value is 10MB.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-recv-msg-size = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"10485760\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MaxSendMsgSize defines the max message size in bytes the server can send.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# The default value is math.MaxInt32.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-send-msg-size = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"2147483647\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### gRPC Web Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`grpc-web`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# GRPCWebEnable defines if the gRPC-web should be enabled.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# NOTE: gRPC must also be enabled, otherwise, this configuration is a no-op.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# NOTE: gRPC-Web uses the same address as the API server.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### State Sync Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# State sync snapshots allow other nodes to rapidly join the network without replaying historical`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# blocks, instead downloading and applying a snapshot of the application state at a given height.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`state-sync`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# snapshot-interval specifies the block interval at which local state sync snapshots are`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# taken (0 to disable).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`snapshot-interval = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# snapshot-keep-recent specifies the number of recent snapshots to keep and serve (0 to keep all).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`snapshot-keep-recent = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`2`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### State Streaming ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Streaming allows nodes to stream state to external systems.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`streaming`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# streaming.abci specifies the configuration for the ABCI Listener streaming service.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`streaming`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`.`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`abci`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# List of kv store keys to stream out via gRPC.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# The store key names MUST match the module's StoreKey name.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Example:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# [\"acc\", \"bank\", \"gov\", \"staking\", \"mint\"[,...]]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# [\"*\"] to expose all keys.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`keys = []`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# The plugin name used for streaming via gRPC.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Streaming is only enabled if this is set.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Supported plugins: abci`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`plugin = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# stop-node-on-err specifies whether to stop the node on message delivery error.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`stop-node-on-err = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### Mempool ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`mempool`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Setting max-txs to 0 will allow for a unbounded amount of transactions in the mempool.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Setting max_txs to negative 1 (-1) will disable transactions from being inserted into the mempool (no-op mempool).`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Setting max_txs to a positive number (> 0) will limit the number of transactions in the mempool, by the specified amount.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`#`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Note, this configuration only applies to SDK built-in app-side mempool`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# implementations.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-txs = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`-1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### EVM Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`evm`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Tracer defines the 'vm.Tracer' type that the EVM will use when the node is run in`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# debug mode. To enable tracing use the '--evm.tracer' flag when starting your node.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Valid types are: json|struct|access_list|markdown`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`tracer = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MaxTxGasWanted defines the gas wanted for each eth tx returned in ante handler in check tx mode.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-tx-gas-wanted = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# EnablePreimageRecording enables tracking of SHA3 preimages in the VM`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`cache-preimage = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# EVMChainID is the EIP-155 compatible replay protection chain ID. This is separate from the Cosmos chain ID.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`evm-chain-id = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`262144`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MinTip defines the minimum priority fee for the mempool.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`min-tip = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Geth metrics server address`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`geth-metrics-address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"127.0.0.1:8100\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Mempool configuration for EVM transactions`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`evm`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`.`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`mempool`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# PriceLimit is the minimum gas price to enforce for acceptance into the pool (in wei)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`price-limit = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# PriceBump is the minimum price bump percentage to replace an already existing transaction (nonce)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`price-bump = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`10`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# AccountSlots is the number of executable transaction slots guaranteed per account`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`account-slots = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`16`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# GlobalSlots is the maximum number of executable transaction slots for all accounts`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`global-slots = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`5120`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# AccountQueue is the maximum number of non-executable transaction slots permitted per account`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`account-queue = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`64`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# GlobalQueue is the maximum number of non-executable transaction slots for all accounts`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`global-queue = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1024`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Lifetime is the maximum amount of time non-executable transaction are queued`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`lifetime = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"3h0m0s\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### JSON RPC Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`json-rpc`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enable defines if the JSONRPC server should be enabled.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Address defines the EVM RPC HTTP server address to bind to.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"127.0.0.1:8545\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Address defines the EVM WebSocket server address to bind to.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`ws-address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"127.0.0.1:8546\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# WSOrigins defines the allowed origins for WebSocket connections.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Example: [\"localhost\", \"127.0.0.1\", \"myapp.example.com\"]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`ws-origins = [`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"127.0.0.1\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`, `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"localhost\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# API defines a list of JSON-RPC namespaces that should be enabled`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Example: \"eth,txpool,personal,net,debug,web3\"`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`api = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"eth,net,web3\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# GasCap sets a cap on gas that can be used in eth_call/estimateGas (0=infinite). Default: 25,000,000.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`gas-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`25000000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Allow insecure account unlocking when account-related RPCs are exposed by http`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`allow-insecure-unlock = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# EVMTimeout is the global timeout for eth_call. Default: 5s.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`evm-timeout = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"5s\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# TxFeeCap is the global tx-fee cap for send transaction. Default: 1eth.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`txfee-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# FilterCap sets the global cap for total number of filters that can be created`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`filter-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`200`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# FeeHistoryCap sets the global cap for total number of blocks that can be fetched`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`feehistory-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`100`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# LogsCap defines the max number of results can be returned from single 'eth_getLogs' query.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`logs-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`10000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# BlockRangeCap defines the max block range allowed for 'eth_getLogs' query.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`block-range-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`10000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# HTTPTimeout is the read/write timeout of http json-rpc server.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`http-timeout = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"30s\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# HTTPIdleTimeout is the idle timeout of http json-rpc server.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`http-idle-timeout = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"2m0s\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# AllowUnprotectedTxs restricts unprotected (non EIP155 signed) transactions to be submitted via`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# the node's RPC when the global parameter is disabled.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`allow-unprotected-txs = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MaxOpenConnections sets the maximum number of simultaneous connections`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# for the server listener.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-open-connections = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# EnableIndexer enables the custom transaction indexer for the EVM (ethereum transactions).`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable-indexer = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# MetricsAddress defines the EVM Metrics server address to bind to. Pass --metrics in CLI to enable`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Prometheus metrics path: /debug/metrics/prometheus`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`metrics-address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"127.0.0.1:6065\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Maximum number of requests in a batch.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`batch-request-limit = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Maximum number of bytes returned from a batched call.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`batch-response-max-size = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`25000000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Enabled profiling in the debug namespace`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable-profiling = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`### TLS Configuration ###`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`###############################################################################`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`tls`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Certificate path defines the cert.pem file path for the TLS configuration.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`certificate-path = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Key path defines the key.pem file path for the TLS configuration.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`key-path = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"\"`})]}),`\n`]})})}),_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Lines (130-260):`}),` are EVM-specific configuration sections added by Cosmos EVM`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Lines (1-129):`}),` are Base Cosmos SDK parameters`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Key EVM sections:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`[evm]`}),`: EVM runtime settings (lines 645-670)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`[evm.mempool]`}),`: Mempool configuration (lines 672-694, `,_jsx(_components.strong,{children:`new in v0.5.0`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`[json-rpc]`}),`: Ethereum JSON-RPC server (lines 700-747)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`[tls]`}),`: TLS configuration (lines 753-760)`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Template sources:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`SDK config: `,_jsx(_components.code,{children:`cosmos-sdk/server/config/toml.go`})]}),`\n`,_jsxs(_components.li,{children:[`EVM config: `,_jsx(_components.code,{children:`evm/server/config/toml.go`})]}),`\n`]})]})]}),_jsxs(Tab,{title:`Genesis Config`,id:`genesis-config`,children:[_jsx(_components.p,{children:`Blockchain initialization parameters set during chain genesis. These EVM-specific parameters configure the initial state and behavior of the EVM module.`}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Context`}),`: These parameters are set once during chain initialization and typically cannot be changed without governance proposals or network upgrades. They control fundamental EVM behavior and compatibility.`]})}),_jsx(CodeBlock,{filename:`Genesis Configuration Example`,expandable:`true`,numberOfLines:`42`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`42`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"chain_id\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"mychain-1\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"app_state\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"evm\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"params\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"evm_denom\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"atest\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"history_serve_window\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`8192`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"active_static_precompiles\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"0x0000000000000000000000000000000000000100\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"0x0000000000000000000000000000000000000400\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"0x0000000000000000000000000000000000000800\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"0x0000000000000000000000000000000000000801\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"0x0000000000000000000000000000000000000802\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"0x0000000000000000000000000000000000000804\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"0x0000000000000000000000000000000000000805\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"access_control\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"create\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`}),_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:`\"access_type\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"ACCESS_TYPE_PERMISSIONLESS\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"call\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`}),_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:`\"access_type\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"ACCESS_TYPE_PERMISSIONLESS\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"feemarket\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"params\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"no_base_fee\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"base_fee_change_denominator\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`8`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"elasticity_multiplier\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`2`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"base_fee\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"1000000000\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"min_gas_price\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"min_gas_multiplier\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0.5\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"consensus\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"params\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"block\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"max_bytes\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"22020096\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#024C1A`,\"--shiki-dark\":`#72F088`},children:` \"max_gas\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`: `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"100000000\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`}`})}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`EVM-Specific Parameters:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`evm_denom`}),`: Base denomination for EVM operations and gas payments`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`history_serve_window`}),`: Number of historical block hashes to store (EIP-2935)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`active_static_precompiles`}),`: Enabled precompile contract addresses`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`access_control`}),`: Permissions for contract creation and execution`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Fee Market Parameters:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`base_fee`}),`: Initial EIP-1559 base fee value`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`base_fee_change_denominator`}),`: Rate of base fee adjustment`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`elasticity_multiplier`}),`: Block utilization threshold for fee changes`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Consensus Parameters:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`max_gas`}),`: Maximum gas per block (critical for mempool configuration)`]}),`\n`]})]}),_jsxs(Tab,{title:`Validator Nodes`,id:`validator-nodes`,\"data-child-heading-ids\":`[\"validator-vs-rpc-node-architecture\",\"validator-nodes-private\",\"rpc-nodes-public\",\"validator-security-checklist\",\"network-topology-example\"]`,children:[_jsx(_components.p,{children:`Production validator node configuration and security considerations.`}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Critical Security Notice:`}),` Validator nodes should NEVER expose RPC/API ports publicly. Only dedicated RPC nodes (non-validators) should serve public traffic.`]})}),_jsx(Heading,{level:`2`,id:`validator-vs-rpc-node-architecture`,children:`Validator vs RPC Node Architecture`}),_jsx(_components.p,{children:`Production networks should use a two-tier architecture:`}),_jsx(Heading,{level:`3`,id:`validator-nodes-private`,children:`Validator Nodes (Private)`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Purpose:`}),` Block production and consensus participation only`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Configuration Requirements:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Disable all public-facing services`}),`\n`,_jsx(_components.li,{children:`Restrict network access to other validators via persistent peers`}),`\n`,_jsx(_components.li,{children:`Do NOT enable JSON-RPC server`}),`\n`,_jsx(_components.li,{children:`Do NOT expose API/gRPC ports publicly`}),`\n`,_jsx(_components.li,{children:`Use firewall rules to block external access`}),`\n`]}),_jsx(_components.p,{children:_jsxs(_components.strong,{children:[`Recommended `,_jsx(_components.code,{children:`app.toml`}),` settings:`]})}),_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`api`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # Disable REST API`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`grpc`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # Disable gRPC or bind to localhost only`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"localhost:9090\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`json-rpc`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`false`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # CRITICAL: Keep JSON-RPC disabled on validators`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`evm`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-tx-gas-wanted = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`50000000`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # Set reasonable gas limits`})]}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Why this matters:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`DDoS Protection:`}),` Public RPC access can overwhelm validator resources`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Resource Exhaustion:`}),` Heavy query load impacts block production`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Uptime:`}),` Validators must prioritize consensus participation over serving requests`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Security:`}),` Reduced attack surface for exploits`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Slashing Risk:`}),` Downtime from overload can lead to slashing penalties`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`rpc-nodes-public`,children:`RPC Nodes (Public)`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Purpose:`}),` Serve public API/RPC requests without participating in consensus`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Configuration Requirements:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Enable JSON-RPC, API, and WebSocket endpoints`}),`\n`,_jsx(_components.li,{children:`Use load balancers for distribution`}),`\n`,_jsx(_components.li,{children:`Set appropriate rate limits and caps`}),`\n`,_jsx(_components.li,{children:`Can run multiple RPC nodes for redundancy`}),`\n`,_jsx(_components.li,{children:`No validator keys stored`}),`\n`]}),_jsx(_components.p,{children:_jsxs(_components.strong,{children:[`Recommended `,_jsx(_components.code,{children:`app.toml`}),` settings:`]})}),_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`api`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"tcp://0.0.0.0:1317\"`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # Bind to all interfaces`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-open-connections = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`1000`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`grpc`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0.0.0.0:9090\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`json-rpc`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`enable = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0.0.0.0:8545\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`ws-address = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"0.0.0.0:8546\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`api = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"eth,net,web3,txpool\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# Set resource limits`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`gas-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`50000000`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`filter-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`200`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`logs-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`10000`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`block-range-cap = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`10000`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`max-open-connections = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`500`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`batch-request-limit = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`100`})]}),`\n`]})})}),_jsx(Heading,{level:`2`,id:`validator-security-checklist`,children:`Validator Security Checklist`}),_jsxs(_components.ul,{className:`contains-task-list`,children:[`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`JSON-RPC is disabled on validator nodes`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`API/gRPC endpoints not exposed publicly on validators`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`Firewall rules restrict validator access to known peers only`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`Separate RPC nodes deployed for public access`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`Load balancers configured for RPC node redundancy`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`Monitoring alerts for validator downtime`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`Regular security audits of network architecture`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`Validator keys stored securely (preferably HSM)`]}),`\n`,_jsxs(_components.li,{className:`task-list-item`,children:[_jsx(_components.input,{type:`checkbox`,disabled:true}),` `,`SSH access restricted and key-based only`]}),`\n`]}),_jsx(Heading,{level:`2`,id:`network-topology-example`,children:`Network Topology Example`}),_jsx(CodeBlock,{numberOfLines:`19`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Public Internet`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ├─── Load Balancer`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │ │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │ ┌────┴────┬────────┐`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │ │ │ │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │ RPC Node RPC Node RPC Node`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │ │ │ │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └────┴─────────┴────────┘`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ═══════════════════════════`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` Private Validator Network`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ═══════════════════════════`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ┌──────────┼──────────┐`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` │ │ │`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Validator 1 Validator 2 Validator 3`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`(RPC disabled) (RPC disabled) (RPC disabled)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`State Sync Consideration:`}),` If validators need to quickly sync using state sync, they may temporarily enable RPC on a private network segment to serve snapshots to each other. This should be done on a separate internal interface, never exposed publicly.`]})})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}},"config":{},"pageMetadata":{"noindex":true,"canonical":"https://docs.cosmos.network/evm/latest/documentation/getting-started/network-operators/node-configuration","title":"Node Configuration","description":"Complete reference for configuring Cosmos EVM nodes, JSON-RPC settings, and command-line options","mode":"wide","href":"/evm/next/documentation/getting-started/network-operators/node-configuration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Configuration Examples","slug":"configuration-examples","depth":3,"children":[],"tabId":"mempool"},{"title":"Core Settings","slug":"core-settings","depth":2,"children":[],"tabId":"json-rpc"},{"title":"Resource Limits","slug":"resource-limits","depth":2,"children":[],"tabId":"json-rpc"},{"title":"Connection Settings","slug":"connection-settings","depth":2,"children":[],"tabId":"json-rpc"},{"title":"Features","slug":"features","depth":2,"children":[],"tabId":"json-rpc"},{"title":"Security","slug":"security","depth":2,"children":[],"tabId":"json-rpc"},{"title":"Validator vs RPC Node Architecture","slug":"validator-vs-rpc-node-architecture","depth":2,"children":[{"title":"Validator Nodes (Private)","slug":"validator-nodes-private","depth":3,"children":[],"tabId":"validator-nodes"},{"title":"RPC Nodes (Public)","slug":"rpc-nodes-public","depth":3,"children":[],"tabId":"validator-nodes"}],"tabId":"validator-nodes"},{"title":"Validator Security Checklist","slug":"validator-security-checklist","depth":2,"children":[],"tabId":"validator-nodes"},{"title":"Network Topology Example","slug":"network-topology-example","depth":2,"children":[],"tabId":"validator-nodes"}],"codeExamples":{}},"jsLinks":[],"subdomain":"cosmos-docs","siteName":"Cosmos Docs","title":"Node Configuration - Cosmos Docs","navMaps":{"firstHrefInVersion":{"v0.7.0":{"href":"/evm/latest/documentation/getting-started/network-operators/node-configuration","matchLevel":1},"next":{"href":"/evm/next/documentation/getting-started/network-operators/node-configuration","matchLevel":0},"v0.6.0":{"href":"/evm/v0.6.0/documentation/getting-started/network-operators/node-configuration","matchLevel":1,"noindex":true,"canonicalOverride":true},"v0.5.0":{"href":"/evm/v0.5.0/documentation/overview","matchLevel":4},"v0.4.x":{"href":"/evm/v0.4.x/documentation/overview","matchLevel":4},"v0.55":{"href":"/sdk/latest/learn","matchLevel":4},"v0.54":{"href":"/sdk/v0.54/learn","matchLevel":4},"v0.53":{"href":"/sdk/v0.53/learn","matchLevel":4},"v0.50":{"href":"/sdk/v0.50/learn","matchLevel":4},"v0.47":{"href":"/sdk/v0.47/learn","matchLevel":4},"v0.40":{"href":"/cometbft/latest/docs/README","matchLevel":4},"v0.39":{"href":"/cometbft/v0.39/docs/README","matchLevel":4},"v0.38":{"href":"/cometbft/v0.38/docs/README","matchLevel":4},"v0.37":{"href":"/cometbft/v0.37/docs/README","matchLevel":4},"Latest":{"href":"/hub/latest","matchLevel":4},"v25":{"href":"/hub/v25/index","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-03-31T20:12:43.959Z","originalFileLocation":"evm/next/documentation/getting-started/network-operators/node-configuration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Complete reference for configuring Cosmos EVM nodes, JSON-RPC settings, and command-line options\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cosmos Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Node Configuration - Cosmos Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cosmos Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cosmos.network/evm/latest/documentation/getting-started/network-operators/node-configuration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cosmos-docs.mintlify.app/_mintlify/api/og/v2?division=Additional+Configuration\u0026amp;title=Node+Configuration\u0026amp;description=Complete+reference+for+configuring+Cosmos+EVM+nodes%2C+JSON-RPC+settings%2C+and+command-line+options\u0026amp;theme=fcf436d6188c17e0fd925a75\u0026amp;signature=4676ca10819f63c4b46dff5f0d6c4a1a986a5b049812a94a7641ce89ad0c35fa\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Node Configuration - Cosmos Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cosmos-docs.mintlify.app/_mintlify/api/og/v2?division=Additional+Configuration\u0026amp;title=Node+Configuration\u0026amp;description=Complete+reference+for+configuring+Cosmos+EVM+nodes%2C+JSON-RPC+settings%2C+and+command-line+options\u0026amp;theme=fcf436d6188c17e0fd925a75\u0026amp;signature=4676ca10819f63c4b46dff5f0d6c4a1a986a5b049812a94a7641ce89ad0c35fa\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cosmos Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cosmos.network/evm/latest/documentation/getting-started/network-operators/node-configuration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/evm/next/documentation/getting-started/network-operators/node-configuration.md\">","siteName":"Cosmos Docs","nav":{"global":null,"dropdowns":[{"dropdown":"Home","pages":[{"title":"Cosmos Developer Documentation","mode":"custom","href":""}]},{"dropdown":"Cosmos SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/cosmos-sdk.svg","versions":[{"version":"v0.55","default":true,"tag":"Latest","pages":[{"title":"v0.55","href":"/sdk/latest/learn"}]},{"version":"next","tag":"Unreleased","tabs":[{"tab":"Cosmos SDK","groups":[{"group":"Intro","icon":"earth","pages":[{"title":"Cosmos SDK Docs","href":"/sdk/next/learn"},{"title":"Start Here","icon":"play","href":"/sdk/next/learn/start-here"}]},{"group":"Overview","icon":"book-open","pages":[{"title":"The Cosmos Stack","href":"/sdk/next/learn/intro/cosmos-stack"},{"title":"What is the Cosmos SDK","href":"/sdk/next/learn/intro/overview"},{"title":"Blockchain Basics","href":"/sdk/next/learn/intro/blockchain-basics"},{"title":"Cosmos Architecture","href":"/sdk/next/learn/intro/sdk-app-architecture"}]},{"group":"Concepts","icon":"graduation-cap","pages":[{"group":"Fundamentals","pages":[{"title":"Accounts","href":"/sdk/next/learn/concepts/accounts"},{"title":"Transactions, Messages, and Queries","href":"/sdk/next/learn/concepts/transactions"},{"title":"Transaction Lifecycle","href":"/sdk/next/learn/concepts/lifecycle"}]},{"group":"Modules","pages":[{"title":"Intro to Modules","href":"/sdk/next/learn/concepts/modules"},{"title":"State, Storage, and Genesis","href":"/sdk/next/learn/concepts/store"},{"title":"Protobuf and Signing","href":"/sdk/next/learn/concepts/encoding"},{"title":"Execution Context, Gas, and Events","href":"/sdk/next/learn/concepts/context-gas-events"}]},{"group":"Cosmos SDK Internals","pages":[{"title":"Cosmos Blockchain Structure","href":"/sdk/next/learn/concepts/sdk-structure"},{"title":"BaseApp Overview","href":"/sdk/next/learn/concepts/baseapp"},{"title":"app.go Overview","href":"/sdk/next/learn/concepts/app-go"},{"title":"CLI, gRPC, and REST API","href":"/sdk/next/learn/concepts/cli-grpc-rest"},{"title":"Testing in the SDK","href":"/sdk/next/learn/concepts/testing"}]},{"title":"Release Families","href":"/sdk/next/release-family"}]},{"group":"Build a Chain","icon":"hammer","pages":[{"title":"Tutorial Intro","href":"/sdk/next/tutorials/example/00-overview"},{"title":"Prerequisites","href":"/sdk/next/tutorials/example/01-prerequisites"},{"title":"Chain Quickstart","href":"/sdk/next/tutorials/example/02-quickstart"},{"title":"Build a Module from Scratch","href":"/sdk/next/tutorials/example/03-build-a-module"},{"title":"Full Counter Module Walkthrough","href":"/sdk/next/tutorials/example/04-counter-walkthrough"},{"title":"Run, Test, and Configure","href":"/sdk/next/tutorials/example/05-run-and-test"}]},{"group":"Run a Node","icon":"server","pages":[{"title":"Node Tutorial","href":"/sdk/next/tutorials"},{"group":"Get Started","pages":[{"title":"Prerequisites","href":"/sdk/next/node/prerequisites"},{"title":"Setting up the keyring","href":"/sdk/next/node/keyring"},{"title":"Running a Node","href":"/sdk/next/node/run-node"},{"title":"Interacting with a Node","href":"/sdk/next/node/interact-node"},{"title":"Generating, Signing and Broadcasting Transactions","href":"/sdk/next/node/txs"}]},{"group":"Testnet \u0026 Production","pages":[{"title":"Running a Testnet","href":"/sdk/next/node/run-testnet"},{"title":"Running in Production","href":"/sdk/next/node/run-production"}]},{"group":"Key Rotation","pages":[{"title":"Key rotation","href":"/sdk/next/keys/key-rotation"},{"title":"Rotate a consensus key, Staking","href":"/sdk/next/keys/rotate-validator-key"},{"title":"Rotate a consensus key, PoA","href":"/sdk/next/keys/rotate-validator-key-poa"}]},{"group":"Post-quantum Keys","pages":[{"title":"Post-quantum keys","href":"/sdk/next/keys/post-quantum-keys"},{"title":"Enable ML-DSA keys","href":"/sdk/next/keys/enable-ml-dsa-keys"},{"title":"Migrate a validator to ML-DSA","href":"/sdk/next/keys/migrate-validator-ml-dsa"},{"title":"Create an ML-DSA account","href":"/sdk/next/keys/create-ml-dsa-account"}]},{"group":"Remote Signing: Cosmos-KMS","pages":[{"title":"Overview","href":"/sdk/next/kms/remote-signing"},{"title":"Remote signing tutorial","href":"/sdk/next/kms/tutorial-file-backend"},{"title":"Configure a signing backend","href":"/sdk/next/kms/configure-backend"},{"title":"Rotate a consensus key held in Cosmos-KMS","href":"/sdk/next/kms/rotate-key-remote-signer"},{"title":"Migrate from TMKMS","href":"/sdk/next/kms/migrate-from-tmkms"},{"title":"Cosmos-KMS configuration reference","href":"/sdk/next/kms/configuration-reference"},{"title":"Remote signing best practices","href":"/sdk/next/kms/best-practices"}]}]},{"group":"v0.55 Upgrade","icon":"upload","pages":[{"title":"v0.55 Release Notes","href":"/sdk/next/upgrade/v0.55-release"},{"title":"v0.55 Upgrade Guide","href":"/sdk/next/upgrade/v0.55"},{"title":"Changelog","mode":"wide","href":"/sdk/next/changelog/release-notes"},{"group":"Previous versions","pages":[{"title":"v0.54 Release Notes","href":"/sdk/next/upgrade/v0.54-release"},{"title":"v0.54 Upgrade Guide","href":"/sdk/next/upgrade/v0.54"}]}]},{"group":"In-depth Guides","icon":"map","pages":[{"title":"Guides Overview","href":"/sdk/next/guides/guides"},{"group":"Module Design","pages":[{"title":"Module Design Considerations","href":"/sdk/next/guides/module-design/module-design-considerations"},{"title":"Object-Capability Model","href":"/sdk/next/guides/module-design/ocap"}]},{"group":"ABCI","pages":[{"title":"ABCI Overview","href":"/sdk/next/guides/abci/abci"},{"title":"Application Mempool","href":"/sdk/next/guides/abci/app-mempool"},{"title":"Vote Extensions","href":"/sdk/next/guides/abci/vote-extensions"},{"title":"Block-STM: Parallel Transaction Execution","href":"/sdk/next/experimental/blockstm"}]},{"group":"Tooling \u0026 CLI","pages":[{"title":"Tool Guide","href":"/sdk/next/guides/tooling/tool-guide"},{"title":"Writing CLI Commands","href":"/sdk/next/guides/tooling/autocli"},{"title":"Confix","href":"/sdk/next/guides/tooling/confix"}]},{"group":"State","pages":[{"title":"Module Store Internals","href":"/sdk/next/guides/state/store"},{"title":"Collections API","href":"/sdk/next/guides/state/collections"}]},{"group":"Upgrades \u0026 Migrations","pages":[{"title":"Upgrades and Store Migrations","href":"/sdk/next/guides/upgrades/upgrade"},{"title":"Cosmovisor","href":"/sdk/next/guides/upgrades/cosmovisor"}]},{"group":"Testing and Observability","pages":[{"title":"Module Simulation","href":"/sdk/next/guides/testing/simulator"},{"title":"Telemetry","href":"/sdk/next/guides/testing/telemetry"},{"title":"Log v2","href":"/sdk/next/guides/testing/log"}]}]},{"group":"Developer Reference","icon":"code","pages":[{"title":"SDK Go Packages","href":"/sdk/next/guides/reference/packages"},{"title":"Address Encoding","href":"/sdk/next/guides/reference/bech32"},{"title":"Protobuf Annotations","href":"/sdk/next/guides/reference/protobuf-annotations"},{"title":"Cosmos Protobuf Docs","url":"https://buf.build/cosmos/cosmos-sdk/docs/main","href":"/sdk/next/guides/reference/proto-docs"},{"title":"Cosmos SDK Repository","url":"https://github.com/cosmos/cosmos-sdk","href":"/sdk/next/reference/cosmos-sdk-repo"},{"title":"Tutorial Example Repository","url":"https://github.com/cosmos/example","href":"/sdk/next/reference/example-repo"}]},{"group":"Modules","icon":"puzzle","pages":[{"title":"Module Directory","href":"/sdk/next/modules/modules"},{"group":"Open-source Modules","pages":[{"group":"x/auth","pages":[{"title":"x/auth","href":"/sdk/next/modules/auth/auth"},{"title":"x/auth/vesting","href":"/sdk/next/modules/auth/vesting"},{"title":"x/auth/tx","href":"/sdk/next/modules/auth/tx"}]},{"title":"x/authz","href":"/sdk/next/modules/authz/README"},{"title":"x/bank","href":"/sdk/next/modules/bank/README"},{"title":"x/consensus","href":"/sdk/next/modules/consensus/README"},{"title":"x/crisis","href":"/sdk/next/modules/crisis/README"},{"title":"x/distribution","href":"/sdk/next/modules/distribution/README"},{"title":"x/epochs","href":"/sdk/next/modules/epochs/README"},{"title":"x/evidence","href":"/sdk/next/modules/evidence/README"},{"title":"x/feegrant","href":"/sdk/next/modules/feegrant/README"},{"title":"x/gov","href":"/sdk/next/modules/gov/README"},{"title":"x/group","href":"/sdk/next/modules/group/README"},{"title":"x/mint","href":"/sdk/next/modules/mint/README"},{"title":"x/nft","href":"/sdk/next/modules/nft/README"},{"title":"x/params","href":"/sdk/next/modules/params/README"},{"title":"x/slashing","href":"/sdk/next/modules/slashing/README"},{"title":"x/staking","href":"/sdk/next/modules/staking/README"},{"title":"x/upgrade","href":"/sdk/next/modules/upgrade/README"},{"title":"x/circuit","href":"/sdk/next/modules/circuit/README"},{"title":"x/genutil","href":"/sdk/next/modules/genutil/README"}]},{"group":"Cosmos Enterprise Modules","pages":[{"title":"Overview","href":"/sdk/next/enterprise/overview"},{"group":"Permissioned Consensus","pages":[{"title":"Overview","href":"/sdk/next/enterprise/poa/overview"},{"title":"Architecture","href":"/sdk/next/enterprise/poa/architecture"},{"title":"Governance Integration","href":"/sdk/next/enterprise/poa/governance"},{"title":"API Reference","href":"/sdk/next/enterprise/poa/api"},{"title":"Fee Distribution","href":"/sdk/next/enterprise/poa/distribution"}]},{"group":"Multi-sig","pages":[{"title":"Overview","href":"/sdk/next/enterprise/group/overview"},{"title":"Architecture","href":"/sdk/next/enterprise/group/architecture"},{"title":"API Reference","href":"/sdk/next/enterprise/group/api"}]}]}]},{"group":"Architecture Reference","icon":"building-2","pages":[{"group":"ADRs","pages":[{"title":"Architecture Decision Records (ADR)","href":"/sdk/next/reference/architecture/README"},{"title":"ADR Creation Process","href":"/sdk/next/reference/architecture/PROCESS"},{"title":"ADR 002: SDK Documentation Structure","href":"/sdk/next/reference/architecture/adr-002-docs-structure"},{"title":"ADR 003: Dynamic Capability Store","href":"/sdk/next/reference/architecture/adr-003-dynamic-capability-store"},{"title":"ADR 004: Split Denomination Keys","href":"/sdk/next/reference/architecture/adr-004-split-denomination-keys"},{"title":"ADR 006: Secret Store Replacement","href":"/sdk/next/reference/architecture/adr-006-secret-store-replacement"},{"title":"ADR 007: Specialization Groups","href":"/sdk/next/reference/architecture/adr-007-specialization-groups"},{"title":"ADR 008: Decentralized Computer Emergency Response Team (dCERT) Group","href":"/sdk/next/reference/architecture/adr-008-dCERT-group"},{"title":"ADR 009: Evidence Module","href":"/sdk/next/reference/architecture/adr-009-evidence-module"},{"title":"ADR 010: Modular AnteHandler","href":"/sdk/next/reference/architecture/adr-010-modular-antehandler"},{"title":"ADR 011: Generalize Genesis Accounts","href":"/sdk/next/reference/architecture/adr-011-generalize-genesis-accounts"},{"title":"ADR 012: State Accessors","href":"/sdk/next/reference/architecture/adr-012-state-accessors"},{"title":"ADR 013: Observability","href":"/sdk/next/reference/architecture/adr-013-metrics"},{"title":"ADR 14: Proportional Slashing","href":"/sdk/next/reference/architecture/adr-014-proportional-slashing"},{"title":"ADR 016: Validator Consensus Key Rotation","href":"/sdk/next/reference/architecture/adr-016-validator-consensus-key-rotation"},{"title":"ADR 17: Historical Header Module","href":"/sdk/next/reference/architecture/adr-017-historical-header-module"},{"title":"ADR 18: Extendable Voting Periods","href":"/sdk/next/reference/architecture/adr-018-extendable-voting-period"},{"title":"ADR 019: Protocol Buffer State Encoding","href":"/sdk/next/reference/architecture/adr-019-protobuf-state-encoding"},{"title":"ADR 020: Protocol Buffer Transaction Encoding","href":"/sdk/next/reference/architecture/adr-020-protobuf-transaction-encoding"},{"title":"ADR 021: Protocol Buffer Query Encoding","href":"/sdk/next/reference/architecture/adr-021-protobuf-query-encoding"},{"title":"ADR 022: Custom BaseApp panic handling","href":"/sdk/next/reference/architecture/adr-022-custom-panic-handling"},{"title":"ADR 023: Protocol Buffer Naming and Versioning Conventions","href":"/sdk/next/reference/architecture/adr-023-protobuf-naming"},{"title":"ADR 024: Coin Metadata","href":"/sdk/next/reference/architecture/adr-024-coin-metadata"},{"title":"ADR 027: Deterministic Protobuf Serialization","href":"/sdk/next/reference/architecture/adr-027-deterministic-protobuf-serialization"},{"title":"ADR 028: Public Key Addresses","href":"/sdk/next/reference/architecture/adr-028-public-key-addresses"},{"title":"ADR 029: Fee Grant Module","href":"/sdk/next/reference/architecture/adr-029-fee-grant-module"},{"title":"ADR 030: Authorization Module","href":"/sdk/next/reference/architecture/adr-030-authz-module"},{"title":"ADR 031: Protobuf Msg Services","href":"/sdk/next/reference/architecture/adr-031-msg-service"},{"title":"ADR 032: Typed Events","href":"/sdk/next/reference/architecture/adr-032-typed-events"},{"title":"ADR 033: Protobuf-based Inter-Module Communication","href":"/sdk/next/reference/architecture/adr-033-protobuf-inter-module-comm"},{"title":"ADR 034: Account Rekeying","href":"/sdk/next/reference/architecture/adr-034-account-rekeying"},{"title":"ADR 035: Rosetta API Support","href":"/sdk/next/reference/architecture/adr-035-rosetta-api-support"},{"title":"ADR 036: Arbitrary Message Signature Specification","href":"/sdk/next/reference/architecture/adr-036-arbitrary-signature"},{"title":"ADR 037: Governance split votes","href":"/sdk/next/reference/architecture/adr-037-gov-split-vote"},{"title":"ADR 038: KVStore state listening","href":"/sdk/next/reference/architecture/adr-038-state-listening"},{"title":"ADR 039: Epoched Staking","href":"/sdk/next/reference/architecture/adr-039-epoched-staking"},{"title":"ADR 040: Storage and SMT State Commitments","href":"/sdk/next/reference/architecture/adr-040-storage-and-smt-state-commitments"},{"title":"ADR 041: In-Place Store Migrations","href":"/sdk/next/reference/architecture/adr-041-in-place-store-migrations"},{"title":"ADR 042: Group Module","href":"/sdk/next/reference/architecture/adr-042-group-module"},{"title":"ADR 43: NFT Module","href":"/sdk/next/reference/architecture/adr-043-nft-module"},{"title":"ADR 044: Guidelines for Updating Protobuf Definitions","href":"/sdk/next/reference/architecture/adr-044-protobuf-updates-guidelines"},{"title":null,"href":"/sdk/next/reference/architecture/adr-045-check-delivertx-middlewares"},{"title":"ADR 046: Module Params","href":"/sdk/next/reference/architecture/adr-046-module-params"},{"title":"ADR 047: Extend Upgrade Plan","href":"/sdk/next/reference/architecture/adr-047-extend-upgrade-plan"},{"title":"ADR 048: Multi Tire Gas Price System","href":"/sdk/next/reference/architecture/adr-048-consensus-fees"},{"title":"ADR 049: State Sync Hooks","href":"/sdk/next/reference/architecture/adr-049-state-sync-hooks"},{"title":"ADR 050: SIGN_MODE_TEXTUAL: Annex 1 Value Renderers","href":"/sdk/next/reference/architecture/adr-050-sign-mode-textual-annex1"},{"title":"ADR 050: SIGN_MODE_TEXTUAL: Annex 2 Device Rendering","href":"/sdk/next/reference/architecture/adr-050-sign-mode-textual-annex2"},{"title":"ADR 050: SIGN_MODE_TEXTUAL","href":"/sdk/next/reference/architecture/adr-050-sign-mode-textual"},{"title":"ADR 053: Go Module Refactoring","href":"/sdk/next/reference/architecture/adr-053-go-module-refactoring"},{"title":"ADR 054: Semver Compatible SDK Modules","href":"/sdk/next/reference/architecture/adr-054-semver-compatible-modules"},{"title":"ADR 055: ORM","href":"/sdk/next/reference/architecture/adr-055-orm"},{"title":"ADR 057: App Wiring","href":"/sdk/next/reference/architecture/adr-057-app-wiring"},{"title":"ADR 058: Auto-Generated CLI","href":"/sdk/next/reference/architecture/adr-058-auto-generated-cli"},{"title":"ADR 059: Test Scopes","href":"/sdk/next/reference/architecture/adr-059-test-scopes"},{"title":"ADR 60: ABCI 1.0 Integration (Phase I)","href":"/sdk/next/reference/architecture/adr-060-abci-1.0"},{"title":"ADR ADR-061: Liquid Staking","href":"/sdk/next/reference/architecture/adr-061-liquid-staking"},{"title":"ADR 062: Collections, a simplified storage layer for cosmos-sdk modules.","href":"/sdk/next/reference/architecture/adr-062-collections-state-layer"},{"title":"ADR 063: Core Module API","href":"/sdk/next/reference/architecture/adr-063-core-module-api"},{"title":"ADR 64: ABCI 2.0 Integration (Phase II)","href":"/sdk/next/reference/architecture/adr-064-abci-2.0"},{"title":"ADR-065: Store V2","href":"/sdk/next/reference/architecture/adr-065-store-v2"},{"title":"ADR 068: Preblock","href":"/sdk/next/reference/architecture/adr-068-preblock"},{"title":"ADR 070: Unordered Transactions","href":"/sdk/next/reference/architecture/adr-070-unordered-account"},{"title":"Cosmos SDK Transaction Malleability Risk Review and Recommendations","href":"/sdk/next/reference/architecture/adr-076-tx-malleability"}]},{"group":"RFCs","pages":[{"title":"Requests for Comments","href":"/sdk/next/reference/rfc/README"},{"title":"RFC Creation Process","href":"/sdk/next/reference/rfc/PROCESS"},{"title":"RFC 001: Transaction Validation","href":"/sdk/next/reference/rfc/rfc-001-tx-validation"}]},{"group":"Specifications","pages":[{"title":"Specifications","href":"/sdk/next/reference/spec/README"},{"title":"Specification of Modules","href":"/sdk/next/reference/spec/SPEC_MODULE"},{"title":"What is an SDK standard?","href":"/sdk/next/reference/spec/SPEC_STANDARD"}]}]},{"group":"Security","icon":"shield","pages":[{"title":"Security and Maintenance Policy","href":"/sdk/next/security/security-policy"},{"title":"Bug Bounty Program","href":"/sdk/next/security/bug-bounty"},{"group":"Audits","pages":[{"title":"Security Audits","href":"/sdk/next/security/audits"},{"title":"Internal Audit Process","href":"/sdk/next/security/internal-audits"}]}]}]},{"tab":"Release Notes","pages":[{"title":"v0.55 Release Notes","href":"/sdk/next/upgrade/v0.55-release"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Reference","href":"/sdk/next/api-reference/index"},{"title":"Sending Transactions","href":"/sdk/next/api-reference/transactions"}]},{"group":"gRPC Services","pages":[{"title":"gRPC Services","href":"/sdk/next/api-reference/grpc/index"},{"title":"Auth","href":"/sdk/next/api-reference/grpc/auth"},{"title":"Authz","href":"/sdk/next/api-reference/grpc/authz"},{"title":"Autocli","href":"/sdk/next/api-reference/grpc/autocli"},{"title":"Bank","href":"/sdk/next/api-reference/grpc/bank"},{"title":"Base","href":"/sdk/next/api-reference/grpc/base"},{"title":"Consensus","href":"/sdk/next/api-reference/grpc/consensus"},{"title":"Counter","href":"/sdk/next/api-reference/grpc/counter"},{"title":"Distribution","href":"/sdk/next/api-reference/grpc/distribution"},{"title":"Epochs","href":"/sdk/next/api-reference/grpc/epochs"},{"title":"Evidence","href":"/sdk/next/api-reference/grpc/evidence"},{"title":"Feegrant","href":"/sdk/next/api-reference/grpc/feegrant"},{"title":"Gov","href":"/sdk/next/api-reference/grpc/gov"},{"title":"Mint","href":"/sdk/next/api-reference/grpc/mint"},{"title":"Reflection","href":"/sdk/next/api-reference/grpc/reflection"},{"title":"Slashing","href":"/sdk/next/api-reference/grpc/slashing"},{"title":"Staking","href":"/sdk/next/api-reference/grpc/staking"},{"title":"Store","href":"/sdk/next/api-reference/grpc/store"},{"title":"Tx","href":"/sdk/next/api-reference/grpc/tx"},{"title":"Upgrade","href":"/sdk/next/api-reference/grpc/upgrade"},{"title":"Vesting","href":"/sdk/next/api-reference/grpc/vesting"}]},{"group":"REST (gRPC Gateway)","pages":[{"group":"auth","pages":[{"title":"AccountInfo","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/account_info/{address}","href":"/sdk/next/api-reference/rest/auth/accountinfo"},{"title":"Accounts","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/accounts","href":"/sdk/next/api-reference/rest/auth/accounts"},{"title":"Account","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/accounts/{address}","href":"/sdk/next/api-reference/rest/auth/account"},{"title":"AccountAddressByID","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/address_by_id/{accountId}","href":"/sdk/next/api-reference/rest/auth/accountaddressbyid"},{"title":"Bech32Prefix","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/bech32","href":"/sdk/next/api-reference/rest/auth/bech32prefix"},{"title":"AddressBytesToString","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/bech32/{addressBytes}","href":"/sdk/next/api-reference/rest/auth/addressbytestostring"},{"title":"ModuleAccounts","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/module_accounts","href":"/sdk/next/api-reference/rest/auth/moduleaccounts"},{"title":"ModuleAccountByName","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/module_accounts/{name}","href":"/sdk/next/api-reference/rest/auth/moduleaccountbyname"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/params","href":"/sdk/next/api-reference/rest/auth/params"}]},{"group":"authz","pages":[{"title":"Grants","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/authz/v1beta1/grants","href":"/sdk/next/api-reference/rest/authz/grants"},{"title":"GranteeGrants","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/authz/v1beta1/grants/grantee/{grantee}","href":"/sdk/next/api-reference/rest/authz/granteegrants"},{"title":"GranterGrants","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/authz/v1beta1/grants/granter/{granter}","href":"/sdk/next/api-reference/rest/authz/grantergrants"}]},{"group":"bank","pages":[{"title":"AllBalances","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/balances/{address}","href":"/sdk/next/api-reference/rest/bank/allbalances"},{"title":"Balance","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/balances/{address}/by_denom","href":"/sdk/next/api-reference/rest/bank/balance"},{"title":"DenomOwners","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denom_owners/{denom}","href":"/sdk/next/api-reference/rest/bank/denomowners"},{"title":"DenomOwnersByQuery","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denom_owners_by_query","href":"/sdk/next/api-reference/rest/bank/denomownersbyquery"},{"title":"DenomsMetadata","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denoms_metadata","href":"/sdk/next/api-reference/rest/bank/denomsmetadata"},{"title":"DenomMetadata","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denoms_metadata/{denom}","href":"/sdk/next/api-reference/rest/bank/denommetadata"},{"title":"DenomMetadataByQueryString","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denoms_metadata_by_query_string","href":"/sdk/next/api-reference/rest/bank/denommetadatabyquerystring"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/params","href":"/sdk/next/api-reference/rest/bank/params"},{"title":"SendEnabled","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/send_enabled","href":"/sdk/next/api-reference/rest/bank/sendenabled"},{"title":"SpendableBalances","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/spendable_balances/{address}","href":"/sdk/next/api-reference/rest/bank/spendablebalances"},{"title":"SpendableBalanceByDenom","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/spendable_balances/{address}/by_denom","href":"/sdk/next/api-reference/rest/bank/spendablebalancebydenom"},{"title":"TotalSupply","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/supply","href":"/sdk/next/api-reference/rest/bank/totalsupply"},{"title":"SupplyOf","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/supply/by_denom","href":"/sdk/next/api-reference/rest/bank/supplyof"}]},{"group":"base","pages":[{"title":"Config","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/node/v1beta1/config","href":"/sdk/next/api-reference/rest/base/config"},{"title":"Status","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/node/v1beta1/status","href":"/sdk/next/api-reference/rest/base/status"},{"title":"ABCIQuery","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/abci_query","href":"/sdk/next/api-reference/rest/base/abciquery"},{"title":"GetLatestBlockResults","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/block_results/latest","href":"/sdk/next/api-reference/rest/base/getlatestblockresults"},{"title":"GetBlockResults","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/block_results/{height}","href":"/sdk/next/api-reference/rest/base/getblockresults"},{"title":"GetLatestBlock","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/blocks/latest","href":"/sdk/next/api-reference/rest/base/getlatestblock"},{"title":"GetBlockByHeight","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/blocks/{height}","href":"/sdk/next/api-reference/rest/base/getblockbyheight"},{"title":"GetNodeInfo","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/node_info","href":"/sdk/next/api-reference/rest/base/getnodeinfo"},{"title":"GetSyncing","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/syncing","href":"/sdk/next/api-reference/rest/base/getsyncing"},{"title":"GetLatestValidatorSet","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/validatorsets/latest","href":"/sdk/next/api-reference/rest/base/getlatestvalidatorset"},{"title":"GetValidatorSetByHeight","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/validatorsets/{height}","href":"/sdk/next/api-reference/rest/base/getvalidatorsetbyheight"}]},{"group":"consensus","pages":[{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/consensus/v1/params","href":"/sdk/next/api-reference/rest/consensus/params"}]},{"group":"distribution","pages":[{"title":"CommunityPool","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/community_pool","href":"/sdk/next/api-reference/rest/distribution/communitypool"},{"title":"DelegationTotalRewards","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/rewards","href":"/sdk/next/api-reference/rest/distribution/delegationtotalrewards"},{"title":"DelegationRewards","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/rewards/{validatorAddress}","href":"/sdk/next/api-reference/rest/distribution/delegationrewards"},{"title":"DelegatorStartingInfo","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/starting_info/{validatorAddress}","href":"/sdk/next/api-reference/rest/distribution/delegatorstartinginfo"},{"title":"DelegatorValidators","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/validators","href":"/sdk/next/api-reference/rest/distribution/delegatorvalidators"},{"title":"DelegatorWithdrawAddress","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/withdraw_address","href":"/sdk/next/api-reference/rest/distribution/delegatorwithdrawaddress"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/params","href":"/sdk/next/api-reference/rest/distribution/params"},{"title":"ValidatorDistributionInfo","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}","href":"/sdk/next/api-reference/rest/distribution/validatordistributioninfo"},{"title":"ValidatorCommission","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/commission","href":"/sdk/next/api-reference/rest/distribution/validatorcommission"},{"title":"ValidatorCurrentRewards","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/current_rewards","href":"/sdk/next/api-reference/rest/distribution/validatorcurrentrewards"},{"title":"ValidatorHistoricalRewards","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/historical_rewards/{period}","href":"/sdk/next/api-reference/rest/distribution/validatorhistoricalrewards"},{"title":"ValidatorOutstandingRewards","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/outstanding_rewards","href":"/sdk/next/api-reference/rest/distribution/validatoroutstandingrewards"},{"title":"ValidatorSlashes","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/slashes","href":"/sdk/next/api-reference/rest/distribution/validatorslashes"}]},{"group":"epochs","pages":[{"title":"CurrentEpoch","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/epochs/v1beta1/current_epoch","href":"/sdk/next/api-reference/rest/epochs/currentepoch"},{"title":"EpochInfos","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/epochs/v1beta1/epochs","href":"/sdk/next/api-reference/rest/epochs/epochinfos"}]},{"group":"evidence","pages":[{"title":"AllEvidence","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/evidence/v1beta1/evidence","href":"/sdk/next/api-reference/rest/evidence/allevidence"},{"title":"Evidence","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/evidence/v1beta1/evidence/{hash}","href":"/sdk/next/api-reference/rest/evidence/evidence"}]},{"group":"feegrant","pages":[{"title":"Allowance","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}","href":"/sdk/next/api-reference/rest/feegrant/allowance"},{"title":"Allowances","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/feegrant/v1beta1/allowances/{grantee}","href":"/sdk/next/api-reference/rest/feegrant/allowances"},{"title":"AllowancesByGranter","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/feegrant/v1beta1/issued/{granter}","href":"/sdk/next/api-reference/rest/feegrant/allowancesbygranter"}]},{"group":"gov","pages":[{"title":"Constitution","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/constitution","href":"/sdk/next/api-reference/rest/gov/constitution"},{"title":"Params (v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/params/{paramsType}","href":"/sdk/next/api-reference/rest/gov/params-v1"},{"title":"Proposals (v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals","href":"/sdk/next/api-reference/rest/gov/proposals-v1"},{"title":"Proposal (v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}","href":"/sdk/next/api-reference/rest/gov/proposal-v1"},{"title":"Deposits (v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/deposits","href":"/sdk/next/api-reference/rest/gov/deposits-v1"},{"title":"Deposit (Query, v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/deposits/{depositor}","href":"/sdk/next/api-reference/rest/gov/deposit-query-v1"},{"title":"TallyResult (v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/tally","href":"/sdk/next/api-reference/rest/gov/tallyresult-v1"},{"title":"Votes (v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/votes","href":"/sdk/next/api-reference/rest/gov/votes-v1"},{"title":"Vote (Query, v1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/votes/{voter}","href":"/sdk/next/api-reference/rest/gov/vote-query-v1"},{"title":"Params (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/params/{paramsType}","href":"/sdk/next/api-reference/rest/gov/params-v1beta1"},{"title":"Proposals (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals","href":"/sdk/next/api-reference/rest/gov/proposals-v1beta1"},{"title":"Proposal (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}","href":"/sdk/next/api-reference/rest/gov/proposal-v1beta1"},{"title":"Deposits (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/deposits","href":"/sdk/next/api-reference/rest/gov/deposits-v1beta1"},{"title":"Deposit (Query, v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/deposits/{depositor}","href":"/sdk/next/api-reference/rest/gov/deposit-query-v1beta1"},{"title":"TallyResult (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/tally","href":"/sdk/next/api-reference/rest/gov/tallyresult-v1beta1"},{"title":"Votes (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/votes","href":"/sdk/next/api-reference/rest/gov/votes-v1beta1"},{"title":"Vote (Query, v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/votes/{voter}","href":"/sdk/next/api-reference/rest/gov/vote-query-v1beta1"}]},{"group":"mint","pages":[{"title":"AnnualProvisions","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/mint/v1beta1/annual_provisions","href":"/sdk/next/api-reference/rest/mint/annualprovisions"},{"title":"Inflation","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/mint/v1beta1/inflation","href":"/sdk/next/api-reference/rest/mint/inflation"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/mint/v1beta1/params","href":"/sdk/next/api-reference/rest/mint/params"}]},{"group":"slashing","pages":[{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/slashing/v1beta1/params","href":"/sdk/next/api-reference/rest/slashing/params"},{"title":"SigningInfos","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/slashing/v1beta1/signing_infos","href":"/sdk/next/api-reference/rest/slashing/signinginfos"},{"title":"SigningInfo","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/slashing/v1beta1/signing_infos/{consAddress}","href":"/sdk/next/api-reference/rest/slashing/signinginfo"}]},{"group":"staking","pages":[{"title":"DelegatorDelegations","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegations/{delegatorAddr}","href":"/sdk/next/api-reference/rest/staking/delegatordelegations"},{"title":"Redelegations","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/redelegations","href":"/sdk/next/api-reference/rest/staking/redelegations"},{"title":"DelegatorUnbondingDelegations","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/unbonding_delegations","href":"/sdk/next/api-reference/rest/staking/delegatorunbondingdelegations"},{"title":"DelegatorValidators","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/validators","href":"/sdk/next/api-reference/rest/staking/delegatorvalidators"},{"title":"DelegatorValidator","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/validators/{validatorAddr}","href":"/sdk/next/api-reference/rest/staking/delegatorvalidator"},{"title":"HistoricalInfo","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/historical_info/{height}","href":"/sdk/next/api-reference/rest/staking/historicalinfo"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/params","href":"/sdk/next/api-reference/rest/staking/params"},{"title":"Pool","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/pool","href":"/sdk/next/api-reference/rest/staking/pool"},{"title":"Validators","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators","href":"/sdk/next/api-reference/rest/staking/validators"},{"title":"Validator","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}","href":"/sdk/next/api-reference/rest/staking/validator"},{"title":"ValidatorDelegations","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/delegations","href":"/sdk/next/api-reference/rest/staking/validatordelegations"},{"title":"Delegation","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/delegations/{delegatorAddr}","href":"/sdk/next/api-reference/rest/staking/delegation"},{"title":"UnbondingDelegation","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/delegations/{delegatorAddr}/unbonding_delegation","href":"/sdk/next/api-reference/rest/staking/unbondingdelegation"},{"title":"ValidatorUnbondingDelegations","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/unbonding_delegations","href":"/sdk/next/api-reference/rest/staking/validatorunbondingdelegations"}]},{"group":"tx","pages":[{"title":"TxDecode","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/decode","href":"/sdk/next/api-reference/rest/tx/txdecode"},{"title":"TxDecodeAmino","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/decode/amino","href":"/sdk/next/api-reference/rest/tx/txdecodeamino"},{"title":"TxEncode","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/encode","href":"/sdk/next/api-reference/rest/tx/txencode"},{"title":"TxEncodeAmino","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/encode/amino","href":"/sdk/next/api-reference/rest/tx/txencodeamino"},{"title":"Simulate","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/simulate","href":"/sdk/next/api-reference/rest/tx/simulate"},{"title":"GetTxsEvent","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/tx/v1beta1/txs","href":"/sdk/next/api-reference/rest/tx/gettxsevent"},{"title":"BroadcastTx","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/txs","href":"/sdk/next/api-reference/rest/tx/broadcasttx"},{"title":"GetBlockWithTxs","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/tx/v1beta1/txs/block/{height}","href":"/sdk/next/api-reference/rest/tx/getblockwithtxs"},{"title":"GetTx","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/tx/v1beta1/txs/{hash}","href":"/sdk/next/api-reference/rest/tx/gettx"}]},{"group":"upgrade","pages":[{"title":"AppliedPlan","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/applied_plan/{name}","href":"/sdk/next/api-reference/rest/upgrade/appliedplan"},{"title":"Authority","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/authority","href":"/sdk/next/api-reference/rest/upgrade/authority"},{"title":"CurrentPlan","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/current_plan","href":"/sdk/next/api-reference/rest/upgrade/currentplan"},{"title":"ModuleVersions","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/module_versions","href":"/sdk/next/api-reference/rest/upgrade/moduleversions"},{"title":"UpgradedConsensusState","deprecated":null,"version":null,"openapi":"/sdk/next/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/upgraded_consensus_state/{lastHeight}","href":"/sdk/next/api-reference/rest/upgrade/upgradedconsensusstate"}]}]}]}]},{"version":"v0.54","pages":[{"title":"v0.54","href":"/sdk/v0.54/learn"}]},{"version":"v0.53","pages":[{"title":"v0.53","href":"/sdk/v0.53/learn"}]},{"version":"v0.50","pages":[{"title":"v0.50","href":"/sdk/v0.50/learn"}]},{"version":"v0.47","pages":[{"title":"v0.47","href":"/sdk/v0.47/learn"}]}]},{"dropdown":"Cosmos EVM","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/cosmos-evm.svg","versions":[{"version":"v0.7.0","default":true,"tag":"Latest","pages":[{"title":"v0.7.0","href":"/evm/latest/documentation/getting-started/network-operators/node-configuration"}]},{"version":"next","tag":"Unreleased","tabs":[{"tab":"Documentation","groups":[{"group":"About","pages":[{"title":"Overview","href":"/evm/next/documentation/overview"},{"title":"EVM Compatibility","href":"/evm/next/documentation/evm-compatibility"},{"title":"Frequently Asked Questions","href":"/evm/next/documentation/getting-started/faq"}]},{"group":"Build","pages":[{"title":"Run an EVM Chain","href":"/evm/next/documentation/getting-started/build-a-chain/quick-start"},{"group":"Additional Configuration","expanded":true,"pages":[{"title":"Mempool Configuration","href":"/evm/next/documentation/getting-started/build-a-chain/additional-configuration/mempool-integration"},{"title":"Predeployed Contracts","href":"/evm/next/documentation/getting-started/build-a-chain/additional-configuration/predeployed-contracts"},{"title":"Precompile Configuration","description":"Choose which precompiles are active on your chain and add custom ones.","href":"/evm/next/documentation/getting-started/build-a-chain/additional-configuration/precompiles"},{"title":"Node Configuration","mode":"wide","href":"/evm/next/documentation/getting-started/network-operators/node-configuration"}]},{"title":"Tooling \u0026 Resources","description":"Tools, libraries, wallets, and explorers for building on Cosmos EVM.","href":"/evm/next/documentation/getting-started/tooling-and-resources"}]},{"group":"Learn","pages":[{"group":"Concepts","pages":[{"title":"Overview","icon":"microchip","href":"/evm/next/documentation/concepts/overview"},{"title":"Accounts","icon":"wallet","href":"/evm/next/documentation/concepts/accounts"},{"title":"Chain ID","icon":"fingerprint","href":"/evm/next/documentation/concepts/chain-id"},{"title":"Encoding","icon":"binary","href":"/evm/next/documentation/concepts/encoding"},{"title":"Gas and Fees","icon":"fuel","href":"/evm/next/documentation/concepts/gas-and-fees"},{"title":"IBC","icon":"network","href":"/evm/next/documentation/concepts/ibc"},{"title":"Mempool","icon":"layers","href":"/evm/next/documentation/concepts/mempool"},{"title":"State Export/Import","icon":"git-branch","href":"/evm/next/documentation/concepts/migrations"},{"title":"Pending State","icon":"hourglass","href":"/evm/next/documentation/concepts/pending-state"},{"title":"EIP-155: Replay Protection","icon":"shield","href":"/evm/next/documentation/concepts/replay-protection"},{"title":"Signing","icon":"pen-tool","href":"/evm/next/documentation/concepts/signing"},{"title":"Single Token Representation","icon":"coins","href":"/evm/next/documentation/concepts/single-token-representation"},{"title":"Tokens","icon":"coins","href":"/evm/next/documentation/concepts/tokens"},{"title":"Transactions","icon":"arrow-up-down","href":"/evm/next/documentation/concepts/transactions"},{"title":"EIP-1559 Fee Market","icon":"chart-line","href":"/evm/next/documentation/concepts/eip-1559-feemarket"}]},{"group":"Precompiles","pages":[{"title":"Overview","icon":"code","href":"/evm/next/documentation/smart-contracts/precompiles/overview"},{"title":"Bank","icon":"vault","href":"/evm/next/documentation/smart-contracts/precompiles/bank"},{"title":"Bech32","icon":"binary","href":"/evm/next/documentation/smart-contracts/precompiles/bech32"},{"title":"Callbacks","icon":"webhook","href":"/evm/next/documentation/smart-contracts/precompiles/callbacks"},{"title":"Distribution","icon":"coins","href":"/evm/next/documentation/smart-contracts/precompiles/distribution"},{"title":"ERC20","icon":"refresh-cw","href":"/evm/next/documentation/smart-contracts/precompiles/erc20"},{"title":"Governance","icon":"scale","href":"/evm/next/documentation/smart-contracts/precompiles/governance"},{"title":"ICS20","icon":"chevrons-left-right-ellipsis","href":"/evm/next/documentation/smart-contracts/precompiles/ics20"},{"title":"P256","icon":"shield-check","href":"/evm/next/documentation/smart-contracts/precompiles/p256"},{"title":"Slashing","icon":"gavel","href":"/evm/next/documentation/smart-contracts/precompiles/slashing"},{"title":"Staking","icon":"coins","href":"/evm/next/documentation/smart-contracts/precompiles/staking"},{"title":"WERC20","icon":"refresh-ccw","href":"/evm/next/documentation/smart-contracts/precompiles/werc20"}]},{"group":"Cosmos SDK","pages":[{"title":"Overview","mode":"wide","href":"/evm/next/documentation/cosmos-sdk/overview"},{"title":"Command Line Interface (CLI)","href":"/evm/next/documentation/cosmos-sdk/cli"},{"title":"Technical Architecture","href":"/evm/next/documentation/cosmos-sdk/protocol"},{"group":"Modules","pages":[{"title":"ERC20","href":"/evm/next/documentation/cosmos-sdk/modules/erc20"},{"title":"Fee Market","href":"/evm/next/documentation/cosmos-sdk/modules/feemarket"},{"title":"IBC","href":"/evm/next/documentation/cosmos-sdk/modules/ibc"},{"title":"PreciseBank","href":"/evm/next/documentation/cosmos-sdk/modules/precisebank"},{"title":"VM","href":"/evm/next/documentation/cosmos-sdk/modules/vm"}]}]}]},{"group":"Migrations","pages":[{"title":"Migration: v0.6.0 to v0.7.0","href":"/evm/next/documentation/migrations/migration-v0.6-to-v0.7"},{"title":"Migrating off x/precisebank: Gas Converter Precompile","href":"/evm/next/documentation/migrations/gas-converter-migration"},{"group":"Previous Versions","pages":[{"title":"Migration: v0.5.0 to v0.6.0","href":"/evm/next/documentation/migrations/migration-v0.5-to-v0.6"},{"title":"Migration: v0.4.x to v0.5.0","href":"/evm/next/documentation/migrations/migration-v0.4-to-v0.5"},{"title":"Migration: v0.3.0 to v0.4.0","href":"/evm/next/documentation/migrations/migration-v0.3-to-v0.4"},{"title":"ERC20 Precompiles Migration","href":"/evm/next/documentation/migrations/erc20-precompiles-migration"}]},{"group":"Advanced","pages":[{"title":"Upgrade Handlers","href":"/evm/next/documentation/migrations/upgrade-handlers"},{"title":"Custom Improvement Proposals","href":"/evm/next/documentation/custom-improvement-proposals"},{"title":"Adding EVM to an Existing Chain","href":"/evm/next/documentation/migrations/add-evm-to-existing-chain"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/evm/next/api-reference/ethereum-json-rpc"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/evm/next/changelog/release-notes"}]}]},{"version":"v0.6.0","pages":[{"title":"v0.6.0","href":"/evm/v0.6.0/documentation/getting-started/network-operators/node-configuration"}]},{"version":"v0.5.0","pages":[{"title":"v0.5.0","href":"/evm/v0.5.0/documentation/overview"}]},{"version":"v0.4.x","pages":[{"title":"v0.4.x","href":"/evm/v0.4.x/documentation/overview"}]}]},{"dropdown":"CometBFT","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/comet-bft.svg","versions":[{"version":"v0.40","default":true,"tag":"Latest","pages":[{"title":"v0.40","href":"/cometbft/latest/docs/README"}]},{"version":"next","tag":"Unreleased","tabs":[{"tab":"Learn","groups":[{"group":"CometBFT","pages":[{"title":"CometBFT Documentation","href":"/cometbft/next/docs/README"},{"title":null,"href":"/cometbft/next/docs/introduction/intro"},{"group":"Guides","pages":[{"title":"Quick Start","href":"/cometbft/next/docs/guides/Quick-Start"},{"title":"Install CometBFT","href":"/cometbft/next/docs/guides/Install-CometBFT"},{"title":"Creating an application in Go","href":"/cometbft/next/docs/guides/Creating-an-application-in-Go"},{"title":"Creating a built-in application in Go","href":"/cometbft/next/docs/guides/Creating-a-built-in-application-in-Go"}]},{"group":"Apps","pages":[{"title":"Getting Started","href":"/cometbft/next/docs/app-dev/Getting-Started"},{"title":"Application Architecture Guide","href":"/cometbft/next/docs/app-dev/Application-Architecture-Guide"},{"title":"Using ABCI-CLI","href":"/cometbft/next/docs/app-dev/Using-ABCI-CLI"},{"title":"Indexing Transactions","href":"/cometbft/next/docs/app-dev/Indexing-Transactions"}]},{"group":"Core","pages":[{"title":"Using CometBFT","href":"/cometbft/next/docs/core/Using-CometBFT"},{"title":"Running in production","href":"/cometbft/next/docs/core/Running-in-production"},{"title":"Configuration","href":"/cometbft/next/docs/core/configuration"},{"title":"Mempool","href":"/cometbft/next/docs/core/mempool"},{"title":"Block Sync","href":"/cometbft/next/docs/core/block-sync"},{"title":"State Sync","href":"/cometbft/next/docs/core/state-sync"},{"title":"RPC","href":"/cometbft/next/docs/core/RPC"},{"title":"Subscribing to events via Websocket","href":"/cometbft/next/docs/core/Subscribing-to-events-via-Websocket"},{"title":"Metrics","href":"/cometbft/next/docs/core/metrics"},{"title":"Validators","href":"/cometbft/next/docs/core/Validators"},{"title":"Light Client","href":"/cometbft/next/docs/core/light-client"},{"title":"Block Structure","href":"/cometbft/next/docs/core/block-structure"},{"title":"How to read logs","href":"/cometbft/next/docs/core/how-to-read-logs"},{"group":"Experimental","pages":[{"title":"Lib-P2P Networking","icon":"waypoints","href":"/cometbft/next/docs/experimental/lib-p2p"}]}]},{"group":"Developer Tools","pages":[{"title":"Overview","href":"/cometbft/next/docs/tools/Overview"},{"title":"Debugging","href":"/cometbft/next/docs/tools/debugging"}]},{"group":"Networks","pages":[{"title":"Docker Compose","href":"/cometbft/next/docs/networks/Docker-Compose"}]},{"group":"CometBFT Quality Assurance","pages":[{"title":"CometBFT Quality Assurance","href":"/cometbft/next/docs/qa/CometBFT-qa"},{"title":"Method","href":"/cometbft/next/docs/qa/Method"},{"title":null,"href":"/cometbft/next/docs/qa/CometBFT-QA-38"},{"title":null,"href":"/cometbft/next/docs/qa/CometBFT-QA-37"},{"title":null,"href":"/cometbft/next/docs/qa/CometBFT-QA-34"},{"title":null,"href":"/cometbft/next/docs/qa/TMCore-QA-37"},{"title":null,"href":"/cometbft/next/docs/qa/TMCore-QA-34"}]}]}]},{"tab":"Specification","groups":[{"group":"CometBFT Spec","pages":[{"title":"Overview","href":"/cometbft/next/spec/CometBFT-Spec"},{"group":"Core","pages":[{"title":null,"href":"/cometbft/next/spec/core/Overview"},{"title":"Data Structures","href":"/cometbft/next/spec/core/Data_structures"},{"title":"Encoding","href":"/cometbft/next/spec/core/encoding"},{"title":"Genesis","href":"/cometbft/next/spec/core/genesis"},{"title":"State","href":"/cometbft/next/spec/core/state"}]},{"group":"ABCI++","pages":[{"title":null,"href":"/cometbft/next/spec/abci/Overview"},{"title":"Overview and basic concepts","href":"/cometbft/next/spec/abci/Outline"},{"title":"Methods","href":"/cometbft/next/spec/abci/Methods"},{"title":"Requirements for the Application","href":"/cometbft/next/spec/abci/Requirements-for-the-Application"},{"title":"CometBFT's expected behavior","href":"/cometbft/next/spec/abci/CometBFTs-expected-behavior"},{"title":"Client and Server","href":"/cometbft/next/spec/abci/Client-and-server"},{"title":"ABCI++ extra","href":"/cometbft/next/spec/abci/Introduction"}]},{"group":"Consensus","pages":[{"title":null,"href":"/cometbft/next/spec/consensus/Overview"},{"title":"Consensus Paper","href":"/cometbft/next/spec/consensus/Consensus-Paper"},{"title":"Byzantine Consensus Algorithm","href":"/cometbft/next/spec/consensus/Byzantine-Consensus-Algorithm"},{"title":null,"href":"/cometbft/next/spec/consensus/Light-Client"},{"title":"Creating a proposal","href":"/cometbft/next/spec/consensus/Creating-Proposal"},{"title":"BFT Time","href":"/cometbft/next/spec/consensus/BFT-Time"},{"title":null,"href":"/cometbft/next/spec/consensus/Proposer-Selection"},{"title":"Evidence","href":"/cometbft/next/spec/consensus/Evidence"},{"title":"Validator Signing","href":"/cometbft/next/spec/consensus/Validator-Signing"},{"title":"WAL","href":"/cometbft/next/spec/consensus/WAL"}]},{"group":"Light Client","pages":[{"title":"Light Client Specification","href":"/cometbft/next/spec/light-client/Light-Client-Specification"},{"title":null,"href":"/cometbft/next/spec/light-client/verification"},{"title":null,"href":"/cometbft/next/spec/light-client/Fork-Detection"},{"title":null,"href":"/cometbft/next/spec/light-client/Accountability"}]},{"group":"P2P","pages":[{"title":null,"href":"/cometbft/next/spec/p2p/Peer-to-Peer"},{"title":"Implementation","href":"/cometbft/next/spec/p2p/Implementation-of-the-p2p-layer"},{"group":"Legacy Docs","pages":[{"title":"Legacy Docs","href":"/cometbft/next/spec/p2p/legacy-docs/Overview"},{"group":"Messages","pages":[{"title":null,"href":"/cometbft/next/spec/p2p/legacy-docs/messages/Overview"},{"title":"Block Sync","href":"/cometbft/next/spec/p2p/legacy-docs/messages/block-sync"},{"title":"Evidence","href":"/cometbft/next/spec/p2p/legacy-docs/messages/evidence"},{"title":"Mempool","href":"/cometbft/next/spec/p2p/legacy-docs/messages/mempool"},{"title":"State Sync","href":"/cometbft/next/spec/p2p/legacy-docs/messages/state-sync"},{"title":"Peer Exchange","href":"/cometbft/next/spec/p2p/legacy-docs/messages/Peer-Exchange"},{"title":"Consensus","href":"/cometbft/next/spec/p2p/legacy-docs/messages/consensus"}]},{"title":"P2P Multiplex Connection","href":"/cometbft/next/spec/p2p/legacy-docs/P2P-Multiplex-Connection"},{"title":"Peers","href":"/cometbft/next/spec/p2p/legacy-docs/Peers"},{"title":"P2P Config","href":"/cometbft/next/spec/p2p/legacy-docs/P2P-Config"},{"title":"Peer Discovery","href":"/cometbft/next/spec/p2p/legacy-docs/Peer-Discovery"},{"group":"Reactors","pages":[{"title":"Reactors","href":"/cometbft/next/spec/p2p/reactor-api/Reactors"},{"title":"Reactor API","href":"/cometbft/next/spec/p2p/reactor-api/Reactor-Api"},{"title":"API for Reactors","href":"/cometbft/next/spec/p2p/reactor-api/API-for-Reactors"}]}]}]},{"group":"RPC","pages":[{"title":"RPC spec","href":"/cometbft/next/spec/rpc/Rpc-Spe"}]},{"group":"Blockchain","pages":[{"title":"Blockchain","href":"/cometbft/next/spec/blockchain/Blockchain"}]}]}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"CometBFT RPC","href":"/cometbft/next/api-reference/rpc/index"}]},{"group":"RPC Methods","pages":[{"group":"Tx","pages":[{"title":"broadcast_tx_sync","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /broadcast_tx_sync","href":"/cometbft/next/api-reference/rpc/tx/broadcast_tx_sync"},{"title":"broadcast_tx_async","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /broadcast_tx_async","href":"/cometbft/next/api-reference/rpc/tx/broadcast_tx_async"},{"title":"broadcast_tx_commit","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /broadcast_tx_commit","href":"/cometbft/next/api-reference/rpc/tx/broadcast_tx_commit"},{"title":"check_tx","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /check_tx","href":"/cometbft/next/api-reference/rpc/tx/check_tx"}]},{"group":"Info","pages":[{"title":"health","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /health","href":"/cometbft/next/api-reference/rpc/info/health"},{"title":"status","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /status","href":"/cometbft/next/api-reference/rpc/info/status"},{"title":"net_info","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /net_info","href":"/cometbft/next/api-reference/rpc/info/net_info"},{"title":"blockchain","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /blockchain","href":"/cometbft/next/api-reference/rpc/info/blockchain"},{"title":"header","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /header","href":"/cometbft/next/api-reference/rpc/info/header"},{"title":"header_by_hash","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /header_by_hash","href":"/cometbft/next/api-reference/rpc/info/header_by_hash"},{"title":"block","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /block","href":"/cometbft/next/api-reference/rpc/info/block"},{"title":"block_by_hash","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /block_by_hash","href":"/cometbft/next/api-reference/rpc/info/block_by_hash"},{"title":"block_results","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /block_results","href":"/cometbft/next/api-reference/rpc/info/block_results"},{"title":"commit","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /commit","href":"/cometbft/next/api-reference/rpc/info/commit"},{"title":"validators","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /validators","href":"/cometbft/next/api-reference/rpc/info/validators"},{"title":"genesis","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /genesis","href":"/cometbft/next/api-reference/rpc/info/genesis"},{"title":"genesis_chunked","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /genesis_chunked","href":"/cometbft/next/api-reference/rpc/info/genesis_chunked"},{"title":"dump_consensus_state","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /dump_consensus_state","href":"/cometbft/next/api-reference/rpc/info/dump_consensus_state"},{"title":"consensus_state","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /consensus_state","href":"/cometbft/next/api-reference/rpc/info/consensus_state"},{"title":"consensus_params","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /consensus_params","href":"/cometbft/next/api-reference/rpc/info/consensus_params"},{"title":"unconfirmed_txs","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /unconfirmed_txs","href":"/cometbft/next/api-reference/rpc/info/unconfirmed_txs"},{"title":"num_unconfirmed_txs","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /num_unconfirmed_txs","href":"/cometbft/next/api-reference/rpc/info/num_unconfirmed_txs"},{"title":"tx_search","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /tx_search","href":"/cometbft/next/api-reference/rpc/info/tx_search"},{"title":"block_search","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /block_search","href":"/cometbft/next/api-reference/rpc/info/block_search"},{"title":"tx","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /tx","href":"/cometbft/next/api-reference/rpc/info/tx"},{"title":"broadcast_evidence","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /broadcast_evidence","href":"/cometbft/next/api-reference/rpc/info/broadcast_evidence"}]},{"group":"Unsafe","pages":[{"title":"dial_seeds","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /dial_seeds","href":"/cometbft/next/api-reference/rpc/unsafe/dial_seeds"},{"title":"dial_peers","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /dial_peers","href":"/cometbft/next/api-reference/rpc/unsafe/dial_peers"}]},{"group":"ABCI","pages":[{"title":"abci_info","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /abci_info","href":"/cometbft/next/api-reference/rpc/abci/abci_info"},{"title":"abci_query","deprecated":null,"version":null,"openapi":"/cometbft/next/api-reference/rpc/openapi.yaml get /abci_query","href":"/cometbft/next/api-reference/rpc/abci/abci_query"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","mode":"wide","href":"/cometbft/next/changelog/release-notes"}]}]},{"version":"v0.39","pages":[{"title":"v0.39","href":"/cometbft/v0.39/docs/README"}]},{"version":"v0.38","pages":[{"title":"v0.38","href":"/cometbft/v0.38/docs/README"}]},{"version":"v0.37","pages":[{"title":"v0.37","href":"/cometbft/v0.37/docs/README"}]}]},{"dropdown":"Skip Go","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/skip-go.svg","hidden":false,"tabs":[{"tab":"Documentation","groups":[{"group":"General API Docs","pages":[{"title":"Introduction","href":"/skip-go/general/getting-started"},{"title":"Quickstart Guide","href":"/skip-go/general/quickstart-guide"},{"title":"Overview \u0026 Common Usage Patterns","href":"/skip-go/general/overview-and-typical-usage"},{"title":"Supported Ecosystems","href":"/skip-go/general/supported-ecosystems-and-bridges"},{"title":"Transaction Tracking","href":"/skip-go/general/multi-chain-realtime-transaction-and-packet-tracking"},{"title":"Skip Explorer Integration","href":"/skip-go/general/explorer-integration"},{"title":"Requesting \u0026 Using API Keys","href":"/skip-go/general/api-keys"},{"title":"Smart Relay","href":"/skip-go/general/smart-relay"},{"title":"Post-Route Actions","href":"/skip-go/general/post-route-actions"},{"title":"Setting Affiliate Fees","href":"/skip-go/general/affiliate-fees"},{"title":"Getting Fee Info","href":"/skip-go/general/fee-info"},{"title":"Transaction Support","href":"/skip-go/general/transaction-support"},{"title":"FAQ","href":"/skip-go/general/faq"}]},{"group":"Skip Go Widget","pages":[{"title":"Getting Started","href":"/skip-go/widget/getting-started"},{"title":"Configuration","href":"/skip-go/widget/configuration"},{"title":"Gas on Receive","href":"/skip-go/widget/gas-on-receive"},{"title":"Web Component","href":"/skip-go/widget/web-component"},{"title":"Migration Guide","href":"/skip-go/widget/migration-guide"},{"title":"FAQ","href":"/skip-go/widget/faq"}]},{"group":"Skip Go Client","pages":[{"title":"Getting Started","href":"/skip-go/client/getting-started"},{"title":"Balances, Gas and Transaction Fee Utilities","href":"/skip-go/client/balance-gas-and-fee-tooling"},{"title":"Executing a route","href":"/skip-go/client/executing-a-route"},{"title":"Gas on Receive with Custom Frontends","href":"/skip-go/client/gas-on-receive"},{"title":"Advanced Features","href":"/skip-go/client/advanced-features"},{"title":"Migration Guide","href":"/skip-go/client/migration-guide"}]},{"group":"Advanced Transfer","pages":[{"title":"Cross-chain Failure Cases","href":"/skip-go/advanced-transfer/handling-cross-chain-failure-cases"},{"title":"Interpreting Transaction \u0026 Transfer Status","href":"/skip-go/advanced-transfer/interpreting-transaction-status"},{"title":"IBC Token Routing: Problem + Skip Go API Routing Algorithm","href":"/skip-go/advanced-transfer/ibc-routing-algorithm"},{"title":"EVM Transactions","href":"/skip-go/advanced-transfer/evm-transactions"},{"title":"SVM Transactions","href":"/skip-go/advanced-transfer/svm-transaction-details"},{"title":"CW20 Tokens \u0026 Their Limitations","href":"/skip-go/advanced-transfer/cw20-swaps"},{"title":"Experimental Features","href":"/skip-go/advanced-transfer/experimental-features"},{"title":"Go Fast","href":"/skip-go/advanced-transfer/go-fast"}]},{"group":"Advanced Swapping","pages":[{"title":"Understanding Quote Quality Metrics","href":"/skip-go/advanced-swapping/understanding-quote-quality-metrics"},{"title":"`allow_unsafe`: Preventing \u0026 Handling Bad Execution","href":"/skip-go/advanced-swapping/allow_unsafe-preventing-handling-bad-execution"},{"title":"SAFE Swapping: How to Protect Users from Bad Trades","href":"/skip-go/advanced-swapping/safe-swapping-how-to-protect-users-from-harming-themselves"},{"title":"Smart Swap","href":"/skip-go/advanced-swapping/smart-swap-options"}]},{"group":"Support Requirements","pages":[{"title":"Chain Support Requirements","href":"/skip-go/support-requirements/chain-support-requirements"},{"title":"Token \u0026 Route Support Requirements","href":"/skip-go/support-requirements/token-support-requirements"},{"title":"Skip Go Asset Registry \u0026 Overrides","href":"/skip-go/support-requirements/asset-registry-overrides"},{"title":"Swap Venue Requirements","href":"/skip-go/support-requirements/swap-venue-requirements"},{"title":"Chain Integration Request","url":"https://42jzxo.share-na2.hsforms.com/2BKju688uROaORNxmEgY2Ug","href":"/skip-go/support-requirements/chain-integration-request"}]},{"group":"Eureka","pages":[{"title":"Overview","href":"/skip-go/eureka/eureka-overview"},{"title":"Technical Overview","href":"/skip-go/eureka/eureka-tech-overview"},{"title":"Integration Guide","href":"/skip-go/eureka/integration-guide"},{"title":"Custom ERC20 Integration","href":"/skip-go/eureka/custom-erc20-integration"},{"title":"Security Properties","href":"/skip-go/eureka/security-properties"},{"title":"Contract Addresses","href":"/skip-go/eureka/contract-addresses"}]}]},{"tab":"API Reference","groups":[{"group":"Prod Endpoints","pages":[{"group":"Info","pages":[{"title":"Get /v2/info/chains","openapi":"swagger get /v2/info/chains","href":"/skip-go/api-reference/prod/info/get-v2infochains"},{"title":"Get /v2/info/bridges","openapi":"swagger get /v2/info/bridges","href":"/skip-go/api-reference/prod/info/get-v2infobridges"},{"title":"Post /v2/info/balances","openapi":"swagger post /v2/info/balances","href":"/skip-go/api-reference/prod/info/post-v2infobalances"}]},{"group":"Fungible","pages":[{"title":"Get /v2/fungible/venues","openapi":"swagger get /v2/fungible/venues","href":"/skip-go/api-reference/prod/fungible/get-v2fungiblevenues"},{"title":"Get /v2/fungible/assets","openapi":"swagger get /v2/fungible/assets","href":"/skip-go/api-reference/prod/fungible/get-v2fungibleassets"},{"title":"Post /v2/fungible/assets_from_source","openapi":"swagger post /v2/fungible/assets_from_source","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleassets_from_source"},{"title":"Post /v2/fungible/route","openapi":"swagger post /v2/fungible/route","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleroute"},{"title":"Post /v2/fungible/msgs","openapi":"swagger post /v2/fungible/msgs","href":"/skip-go/api-reference/prod/fungible/post-v2fungiblemsgs"},{"title":"Post /v2/fungible/msgs_direct","openapi":"swagger post /v2/fungible/msgs_direct","href":"/skip-go/api-reference/prod/fungible/post-v2fungiblemsgs_direct"},{"title":"Post /v2/fungible/ibc_origin_assets","openapi":"swagger post /v2/fungible/ibc_origin_assets","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleibc_origin_assets"},{"title":"Post /v2/fungible/assets_between_chains","openapi":"swagger post /v2/fungible/assets_between_chains","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleassets_between_chains"}]},{"group":"Transaction","pages":[{"title":"Post /v2/tx/submit","openapi":"swagger post /v2/tx/submit","href":"/skip-go/api-reference/prod/transaction/post-v2txsubmit"},{"title":"Post /v2/tx/track","openapi":"swagger post /v2/tx/track","href":"/skip-go/api-reference/prod/transaction/post-v2txtrack"},{"title":"Get /v2/tx/status","openapi":"swagger get /v2/tx/status","href":"/skip-go/api-reference/prod/transaction/get-v2txstatus"}]}]},{"group":"Reference Guides","pages":[{"title":"API Error Codes \u0026 Status Messages","href":"/skip-go/api-reference/error-codes"}]}]}]},{"dropdown":"Cosmos Hub","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/hub.svg","hidden":false,"versions":[{"version":"Latest","default":true,"tag":"Latest","pages":[{"title":"Latest","href":"/hub/latest"}]},{"version":"next","tag":"Unreleased","tabs":[{"tab":"Documentation","groups":[{"group":"Cosmos Hub","pages":[{"group":"Start here","pages":[{"title":"Cosmos Hub operator docs","href":"/hub/next"},{"title":"What is gaia","href":"/hub/next/getting-started/what-is-gaia"},{"title":"Versions","href":"/hub/next/start/versions"}]},{"group":"Run a node","pages":[{"title":"System requirements","href":"/hub/next/getting-started/system-requirements"},{"title":"Install gaiad","href":"/hub/next/getting-started/installation"},{"title":"Join mainnet","href":"/hub/next/hub-tutorials/join-mainnet"},{"title":"Sync a node","href":"/hub/next/node/sync"},{"title":"Database backends","href":"/hub/next/node/database"},{"title":"Run gaiad as a service","href":"/hub/next/node/service"},{"title":"Join the testnet","href":"/hub/next/hub-tutorials/join-testnet"}]},{"group":"Upgrade a node","pages":[{"title":"Upgrade a node","href":"/hub/next/hub-tutorials/upgrade-node"},{"title":"Upgrade history","href":"/hub/next/upgrade/history"}]},{"group":"Run a validator","pages":[{"title":"Validator overview","href":"/hub/next/validators/overview"},{"title":"Validator onboarding checklist","href":"/hub/next/validators/README"},{"title":"Create and manage a validator","href":"/hub/next/validators/validator-setup"},{"title":"Validator security","href":"/hub/next/validators/security"},{"title":"Remote signing","href":"/hub/next/validators/remote-signing"},{"title":"Monitoring","href":"/hub/next/validators/monitoring"},{"title":"Validator FAQ","href":"/hub/next/validators/validator-faq"}]},{"group":"Run public infrastructure","pages":[{"title":"Run public endpoints","href":"/hub/next/infrastructure/endpoints"},{"title":"Snapshots","href":"/hub/next/infrastructure/snapshots"},{"title":"Peering","href":"/hub/next/infrastructure/peering"},{"title":"Relaying","href":"/hub/next/infrastructure/relaying"},{"title":"Archive nodes and chain archives","href":"/hub/next/resources/archives"}]},{"group":"Delegate and stake","pages":[{"title":"Delegate and stake","href":"/hub/next/delegators/README"},{"title":"Delegator CLI guide","href":"/hub/next/delegators/delegator-guide-cli"},{"title":"Liquid staking module","href":"/hub/next/modules/liquid"},{"title":"Delegator security","href":"/hub/next/delegators/delegator-security"},{"title":"Delegator FAQ","href":"/hub/next/delegators/delegator-faq"}]},{"group":"Governance","pages":[{"title":"Governance process","href":"/hub/next/governance/process"},{"title":"Submitting a proposal","href":"/hub/next/governance/submitting"},{"group":"Proposal types","pages":[{"title":"Proposal types","href":"/hub/next/governance/proposal-types/README"},{"title":"Text proposals","href":"/hub/next/governance/proposal-types/text-prop"},{"title":"Parameter change proposals","href":"/hub/next/governance/proposal-types/param-change"},{"title":"Software upgrade proposals","href":"/hub/next/governance/proposal-types/software-upgrade"},{"title":"Community pool spend","href":"/hub/next/governance/proposal-types/community-pool-spend"}]}]},{"group":"Reference","pages":[{"title":"gaiad reference","href":"/hub/next/hub-tutorials/gaiad"},{"group":"Modules","pages":[{"title":"Modules on the Hub","href":"/hub/next/modules/README"},{"title":"Tokenfactory module","href":"/hub/next/modules/tokenfactory"},{"title":"Fee market module","href":"/hub/next/modules/feemarket"},{"title":"Metaprotocols module","href":"/hub/next/modules/metaprotocols"}]},{"title":"Genesis file","href":"/hub/next/resources/genesis"},{"title":"Build and verify gaiad","href":"/hub/next/resources/reproducible-builds"},{"group":"Wallets","pages":[{"title":"HD wallets","href":"/hub/next/resources/hd-wallets"},{"title":"Ledger hardware wallets","href":"/hub/next/resources/ledger"}]},{"group":"Architecture and ADRs","pages":[{"title":"Architecture Decision Records (ADR)","href":"/hub/next/architecture/README"},{"title":"ADR Creation Process","href":"/hub/next/architecture/PROCESS"},{"title":"Architecture Decision Records (ADR)","href":"/hub/next/architecture/adr/README"},{"title":"ADR Creation Process","href":"/hub/next/architecture/adr/PROCESS"},{"title":"ADR 001: Interchain Accounts","href":"/hub/next/architecture/adr/adr-001-interchain-accounts"},{"title":"ADR 002: Globalfee Module [DEPRECATED]","href":"/hub/next/architecture/adr/adr-002-globalfee"},{"title":"ADR 003: Interchain Accounts Controller Module","href":"/hub/next/architecture/adr/adr-003-ica-controller"},{"title":null,"href":"/hub/next/architecture/templates/adr-template"}]}]}]}]}]},{"version":"v25","pages":[{"title":"v25","href":"/hub/v25/index"}]}]}]},"basePath":"","title":"Node Configuration - Cosmos Docs","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":[],"chunks":[]}