Skip to content

Cosmos_full_node

A full node in Cosmos stores the complete blockchain history and validates all transactions but doesn’t participate in block production like validators.


AspectFull NodeValidator
Block ProductionNoYes
Staking RequiredNoYes (ATOM)
Can Be JailedNoYes
HardwareLess resourcesHigh resources
Use CaseRPC, indexingConsensus

Terminal window
# Install Go first, then:
git clone https://github.com/cosmos/gaia.git
cd gaia
make install
Terminal window
# Initialize
gaiad init my-full-node --chain-id cosmoshub-4
# Download genesis
wget -O ~/.gaia/config/genesis.json \
https://raw.githubusercontent.com/cosmos/mainnet/master/genesis.json
Terminal window
# Basic start
gaiad start
# Seeds + persistent peers are config.toml settings, NOT gaiad CLI flags.
# Edit ~/.gaia/config/config.toml:
# [p2p]
# seeds = "seed@node:26656"
# persistent_peers = "id@peer1:26656,id@peer2:26656"
# then simply: gaiad start

~/.gaia/config/config.toml
[rpc]
laddr = "tcp://0.0.0.0:26657" # note: must be indented under [rpc]
Terminal window
# Get status
curl http://localhost:26657/status
# Get block
curl http://localhost:26657/block?height=10000
# Get validators
curl http://localhost:26657/validators

~/.gaia/config/app.toml
[pruning]
pruning = "default"
pruning-keep-recent = "100"
pruning-keep-every = "500"

State sync is configured in config.toml — there are no --statesync.* CLI flags:

~/.gaia/config/config.toml
[statesync]
enable = true
rpc_servers = "https://rpc1.example.com:26657,https://rpc2.example.com:26657"
trust_height = 12345 # obtain from your RPC provider (must be recent within trust period)
trust_hash = "ABC123..." # block hash at that height
trust_period = "168h"
Terminal window
# Then start normally
gaiad start

State sync verifies the snapshot using light-client logic on the trusted height/hash. Get trust_height/trust_hash from a trusted chain explorer or RPC, and keep trust_period well under the chain’s unbonding period.


  • Full nodes don’t stake but validate transactions
  • RPC on port 26657
  • Can enable state sync for faster setup
  • Prune old data to save storage

In Chapter 16: Cosmos RPC & API Configuration, we’ll explore Cosmos APIs.


Last Updated: 2026-02-20