Configuration
This document outlines various configuration options for the VIA Node.
# ------------------------------------------------------------------------
# -------------- YOU MUST CHANGE THE FOLLOWING VARIABLES -----------------
# ------------------------------------------------------------------------
# URL of the Postgres DB.
DATABASE_URL=postgres://postgres:notsecurepassword@localhost/via_local_ext_node
# PostgreSQL connection pool size
DATABASE_POOL_SIZE=50
# Folder where the state_keeper cache will be stored (RocksDB).
# If containerized, this path should be mounted to a volume.
EN_STATE_CACHE_PATH=./db/ext-node/state_keeper
# Folder where the Merkle Tree will be stored (RocksDB).
# If containerized, this path should be mounted to a volume.
EN_MERKLE_TREE_PATH=./db/ext-node/lightweight
# ------------------------------------------------------------------------
# -------------- YOU MAY CONFIGURE THE FOLLOWING VARIABLES ---------------
# ------------------------------------------------------------------------
# Port on which to serve the HTTP JSONRPC API.
EN_HTTP_PORT=3060
# Port on which to serve the WebSocket JSONRPC API.
EN_WS_PORT=3061
# Port on which to serve metrics to be collected by Prometheus.
# If not set, metrics won't be collected.
# EN_PROMETHEUS_PORT=3322
# Port on which to serve the healthcheck endpoint (to check if the service is live).
EN_HEALTHCHECK_PORT=3081
# Max possible limit of entities to be requested at once.
EN_REQ_ENTITIES_LIMIT=10000
# Max possible limit of filters to be active at once.
EN_FILTERS_LIMIT=10000
# Max possible limit of subscriptions to be active at once.
EN_SUBSCRIPTIONS_LIMIT=10000
# Interval for polling the DB for pubsub (in ms).
EN_PUBSUB_POLLING_INTERVAL=200
# Tx nonce: how far ahead from the committed nonce can it be.
# This shouldn't be larger than the value on the main node (50).
EN_MAX_NONCE_AHEAD=50
# The multiplier to use when suggesting gas price. Should be higher than one,
# otherwise if the L1 prices soar, the suggested gas price won't be sufficient to be included in block.
EN_GAS_PRICE_SCALE_FACTOR=1.2
# The factor by which to scale the gasLimit
EN_ESTIMATE_GAS_SCALE_FACTOR=1.2
# The max possible number of gas that `eth_estimateGas` is allowed to overestimate.
EN_ESTIMATE_GAS_ACCEPTABLE_OVERESTIMATION=1000
# Max possible size of an ABI encoded tx (in bytes).
# This shouldn't be larger than the value on the main node.
EN_MAX_TX_SIZE=1000000
# Enabled JSON-RPC API namespaces. Also available: en, debug.
EN_API_NAMESPACES=via,eth,web3,net,pubsub,zks
# Bitcoin network
VIA_BTC_CLIENT_NETWORK=testnet4
# URL of the Bitcoin node
VIA_BTC_CLIENT_RPC_URL=http://bitcoind:48332
# RPC user of the Bitcoin node
VIA_BTC_CLIENT_RPC_USER=rpcuser
# RPC password of the Bitcoin node
VIA_BTC_CLIENT_RPC_PASSWORD=rpcpassword
# URL to API which provides Bitcoin fee rate.
VIA_BTC_CLIENT_EXTERNAL_APIS=https://mempool.space/testnet4/api/v1/fees/recommended
# Fee estimation strategy
VIA_BTC_CLIENT_FEE_STRATEGIES=fastestFee
# Set to true to prioritize the Bitcoin RPC for fee estimation over external APIs.
VIA_BTC_CLIENT_USE_RPC_FOR_FEE_RATE=true
# Bridge address on Bitcoin network.
VIA_BRIDGE_BRIDGE_ADDRESS=tb1ppsy8j80jtns42rkpdsfcv25qfschqejxmk6datkvu236eekr4fms06wnz0
# Verifiers public keys which signed the bridge transaction.
VIA_BRIDGE_VERIFIERS_PUB_KEYS=0302ede5e1f0a6ceedf0c4263bb47b803973a3ffa4968b147c1d0f38c62f8c45df,023e01e4e2ff564b0fd159d94e1549fddf605f077a8c143e7a4f555adbeb324fe1
# Bootstrap transactions which contain genesis and system setup.
VIA_GENESIS_BOOTSTRAP_TXIDS=c89e5db75e74700582d106f1c0aa85f7b0df1436cecd3a6536f11bed9db0f407
# Settings related to sentry and opentelemetry.
MISC_LOG_FORMAT=plain
MISC_SENTRY_URL=unset
MISC_SENTRY_PANIC_INTERVAL=1800
MISC_SENTRY_ERROR_INTERVAL=10800
MISC_OTLP_URL=unset
# Settings related to Rust logging and backtraces.
# You can read about the format [here](https://docs.rs/env_logger/0.10.0/env_logger/#enabling-logging) to fine-tune logging.
RUST_LOG=zksync_core=debug,zksync_dal=info,zksync_eth_client=info,zksync_merkle_tree=info,zksync_storage=info,zksync_state=debug,zksync_types=info,vm=info,zksync_external_node=info,zksync_utils=debug,
RUST_BACKTRACE=full
RUST_LIB_BACKTRACE=1
# ------------------------------------------------------------------------
# -------------- THE FOLLOWING VARIABLES DEPEND ON THE ENV ---------------
# ------------------------------------------------------------------------
# URL of the main ZKsync node.
EN_MAIN_NODE_URL=https://testnet.via.onvia.org
EN_L2_CHAIN_ID=25223
EN_L1_CHAIN_ID=11155111
# Optional, required only if sentry is configured.
EN_SENTRY_ENVIRONMENT=via_testnet
# ------------------------------------------------------------------------
# -------------- THE FOLLOWING VARIABLES ARE NOT USED --------------------
# -------------- BUT HAVE TO BE SET. JUST LEAVE THEM AS IS ---------------
# ------------------------------------------------------------------------
VIA_HOME=/
EN_ETH_CLIENT_URL=http://127.0.0.1:8545Database
L1 Web3 client
Exposed ports
API limits
JSON-RPC API namespaces
Logging and observability
Last updated