Skip to main content

babylond start

Run the full node application with CometBFT in or out of process.

Overview

The babylond start command launches a full Babylon node with CometBFT. By default, the application runs with CometBFT in process, providing a complete blockchain node that can participate in the network, validate transactions, and maintain the blockchain state.

Usage

babylond start [flags]

Pruning Strategies

Pruning options can be configured via the --pruning flag or with --pruning-keep-recent and --pruning-interval for custom configurations:

StrategyDescription
defaultKeep the last 362,880 states, pruning at 10 block intervals
nothingArchive node - save all historic states, nothing deleted
everythingKeep only 2 latest states, pruning at 10 block intervals
customManual configuration via --pruning-keep-recent and --pruning-interval
Choosing a Pruning Strategy
  • Use nothing for archive nodes that need full history
  • Use default for most validator and full nodes
  • Use everything for lightweight nodes with minimal storage
  • Use custom for specific storage requirements

Node Halting

Configure automatic node shutdown using halt flags:

  • --halt-height: Stop at a specific block height
  • --halt-time: Stop at a specific Unix timestamp

During the ABCI Commit phase, the node checks these conditions and gracefully shuts down if met, preventing the block from being committed.

Query-Only Mode

Enable query-only mode with --grpc-only to:

  • Run only gRPC and JSON HTTP API services
  • Bypass CometBFT for legacy queries
  • Support post-upgrade query requirements
info

When --grpc-only is enabled, gRPC is automatically enabled as well.

Configuration Flags

Core Application

FlagTypeDescriptionDefault
--homestringApplication home directory/Users/dariaagadzhanova/.babylond
--chain-idstringGenesis file chain-id (randomly created if blank)
--monikerstringNode name"Darias-MacBook-Air.local"
--with-cometbooleanRun ABCI app embedded with CometBFTtrue
--grpc-onlybooleanStart in gRPC query only modefalse

API Server

FlagTypeDescriptionDefault
--api.enablebooleanEnable the API serverfalse
--api.addressstringAPI server listen address"tcp://localhost:1317"
--api.enabled-unsafe-corsbooleanEnable CORS (unsafe - use at your own risk)false
--api.max-open-connectionsuintMaximum open connections1000
--api.rpc-max-body-bytesuintCometBFT maximum request body (bytes)1000000
--api.rpc-read-timeoutuintCometBFT RPC read timeout (seconds)10
--api.rpc-write-timeoutuintCometBFT RPC write timeout (seconds)
--api.swaggerbooleanAuto-register swagger documentationfalse

gRPC Server

FlagTypeDescriptionDefault
--grpc.enablebooleanEnable the gRPC servertrue
--grpc.addressstringgRPC server listen address"localhost:9090"
--grpc-web.enablebooleanEnable gRPC-Web servertrue

P2P Networking

FlagTypeDescriptionDefault
--p2p.laddrstringNode listen address"tcp://0.0.0.0:26656"
--p2p.external-addressstringIP:port to advertise to peers
--p2p.persistent_peersstringComma-delimited ID@host:port persistent peers
--p2p.seedsstringComma-delimited ID@host:port seed nodes
--p2p.private_peer_idsstringComma-delimited private peer IDs
--p2p.unconditional_peer_idsstringComma-delimited unconditional peer IDs
--p2p.pexbooleanEnable/disable Peer-Exchangetrue
--p2p.seed_modebooleanEnable/disable seed modefalse

Database & Storage

FlagTypeDescriptionDefault
--db_backendstringDatabase backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb"goleveldb"
--db_dirstringDatabase directory"data"
--iavl-disable-fastnodebooleanDisable fast node for IAVL treefalse
--inter-block-cachebooleanEnable inter-block cachingtrue

Pruning Configuration

FlagTypeDescriptionDefault
--pruningstringPruning strategy (default|nothing|everything|custom)"default"
--pruning-keep-recentuintRecent heights to keep (custom pruning only)
--pruning-intervaluintHeight interval for pruning (custom pruning only)
--min-retain-blocksuintMinimum block height offset for CometBFT block pruning

Consensus

FlagTypeDescriptionDefault
--consensus.create_empty_blocksbooleanProduce blocks when no transactionstrue
--consensus.create_empty_blocks_intervalstringInterval between empty blocks"0s"
--consensus.double_sign_check_heightintBlocks to check for consensus votes before joining

BLS & Security

FlagTypeDescriptionDefault
--no-bls-passwordbooleanGenerate BLS key without password (suitable for RPC nodes)true
--insecure-bls-passwordstringUse specified BLS password
--bls-password-filestringLoad BLS password from file (not recommended)
--keyring-backendstringKeyring backend (os|file|kwallet|pass|test)"os"

RPC Configuration

FlagTypeDescriptionDefault
--rpc.laddrstringRPC listen address"tcp://127.0.0.1:26657"
--rpc.grpc_laddrstringGRPC listen address (BroadcastTx only)
--rpc.pprof_laddrstringpprof listen address
--rpc.unsafebooleanEnable unsafe RPC methodsfalse

Performance & Profiling

FlagTypeDescriptionDefault
--cpu-profilestringEnable CPU profiling and write to file
--query-gas-limituintMaximum gas for Rest/gRPC queries (0 = unbounded)
--mempool.max-txsintMaxTx value for app-side mempool-1
--minimum-gas-pricesstringMinimum gas prices (e.g., 0.01photino;0.0001stake)

State Sync

FlagTypeDescriptionDefault
--state-sync.snapshot-intervaluintState sync snapshot interval
--state-sync.snapshot-keep-recentuint32State sync snapshots to keep2

WASM Configuration

FlagTypeDescriptionDefault
--wasm.memory_cache_sizeuint32In-memory cache for WASM modules (MiB, 0 = disabled)100
--wasm.query_gas_limituintMax gas for WASM contract queries3000000
--wasm.simulation_gas_limitstringMax gas for simulation transactions
--wasm.skip_wasmvm_version_checkbooleanSkip libwasmvm/wasmvm version checkfalse

Node Halting

FlagTypeDescriptionDefault
--halt-heightuintBlock height to gracefully halt the chain
--halt-timeuintUnix timestamp to gracefully halt the chain

Advanced Options

FlagTypeDescriptionDefault
--abcistringABCI transport (socket | grpc)"socket"
--addressstringListen address"tcp://127.0.0.1:26658"
--transportstringTransport protocol (socket | grpc)"socket"
--proxy_appstringProxy app address"tcp://127.0.0.1:26658"
--priv_validator_laddrstringSocket for external priv_validator process
--genesis_hashbytesHexOptional SHA-256 hash of genesis file
--inv-check-perioduintAssert invariants every N blocks
--shutdown-gracedurationResource cleanup wait duration on shutdown
--tracebooleanFull stack traces for ABCI Log errorsfalse
--trace-storestringEnable KVStore tracing to file
--unsafe-skip-upgradesintsSkip upgrade heights to continue old binary
--x-crisis-skip-assert-invariantsbooleanSkip x/crisis invariants check on startupfalse