Skip to Main Content
|

Run a Setara Validator Node

Set up a Setara validator node for your organization.


Prerequisites

  • Docker and Docker Compose installed
  • Server: 2 CPU, 4GB RAM, 100GB SSD minimum
  • Stable internet connection
  • A registered Setara organization (register here)

Quick Setup (Docker)

1. Clone the Repository

git clone https://github.com/setara-network/setara.git
cd setara/docker

2. Configure Environment

cp .env.example .env

Edit .env:

MONIKER=your-org-name
CHAIN_ID=setara-testnet-1
PERSISTENT_PEERS=node_id@seed.setara.network:26656

3. Get Genesis File

For testnet:

curl -o genesis/genesis.json https://raw.githubusercontent.com/setara-network/networks/main/testnet/genesis.json

4. Start Your Node

docker compose up -d

This starts:

  • setara-node — Your validator node (ports 26656, 26657, 1317, 9090)
  • setara-ipfs — Your IPFS node (ports 4001, 5001, 8080)
  • setara-api — API server connected to your node (port 8888)

5. Check Status

# Check if node is syncing
docker logs setara-node --tail 20

# Check block height
curl http://localhost:26657/status | jq '.result.sync_info.latest_block_height'

Ports

PortServiceDescription
26656P2PPeer-to-peer communication
26657RPCTendermint RPC
1317RESTCosmos REST API
9090gRPCgRPC endpoint
4001IPFS SwarmIPFS peer communication
5001IPFS APIIPFS HTTP API
8080IPFS GatewayIPFS public gateway
8888Setara APIOrganization API

Manual Setup (Without Docker)

1. Build from Source

git clone https://github.com/setara-network/setara.git
cd setara
go build -o setarad ./cmd/setarad

2. Initialize

setarad init "your-org-name" --chain-id setara-testnet-1 --default-denom setara

3. Configure Genesis

Copy the network genesis file to ~/.setara/config/genesis.json.

4. Set Peers

Edit ~/.setara/config/config.toml:

persistent_peers = "node_id@seed.setara.network:26656"

5. Start

setarad start --minimum-gas-prices 0setara

Upgrading

cd setara/docker
docker compose pull
docker compose up -d

Troubleshooting

Node not syncing

  • Check peers: curl http://localhost:26657/net_info | jq '.result.n_peers'
  • Verify genesis file matches the network
  • Ensure port 26656 is open

IPFS not connecting

  • Check: docker logs setara-ipfs
  • Ensure port 4001 is accessible