This directory contains Starship configurations for deploying Sonr blockchain networks in Kubernetes environments.
Single-node development network for testing and development
- Purpose: Local development and testing
- Validators: 1 node
- Chain ID:
sonr-1 - Features: Basic faucet, explorer, minimal resources
- Use case: Development, debugging, feature testing
Multi-node production-ready testnet
- Purpose: Public testnet for user testing and staging
- Validators: 4 nodes
- Chain ID:
sonr-1 - Features: Production faucet, explorer, ingress, SSL certificates
- Use case: User testing, staging, pre-production validation
- Domain:
*.sonr.landwith Cloudflare SSL
curl -fsSL https://get.jetify.com/devbox | bashDevbox will automatically install:
starship- Kubernetes deployment toolkubectl- Kubernetes CLIhelm- Kubernetes package manager
# Start devnet (default)
make start
# Or explicitly
make start NETWORK=devnetmake start NETWORK=testnet# Stop current network
make stop
# Stop specific network
make stop NETWORK=testnet# Restart current network
make restart
# Restart specific network
make restart NETWORK=testnet- Image:
ghcr.io/sonr-io/snrd:latest - Validators: 1
- Resources: Minimal (for local development)
- Faucet: Basic CosmJS faucet
- Explorer: Ping Pub on port 8080
- Image:
ghcr.io/sonr-io/snrd:latest - Validators: 4 (production consensus)
- Resources: 2 CPU, 4GB RAM per validator
- Faucet: Production CosmJS faucet (5 concurrency, 1GB RAM)
- Explorer: Ping Pub on port 8080
- Ingress: Nginx with
*.sonr.landdomain and Cloudflare SSL - Security: Pod security contexts for Kubernetes permissions
Both networks use Sonr's custom configuration:
- Base Denom:
snr - Micro Denom:
usnr(primary) - Account Allocation:
100000000000000000000000000000000usnr(massive amounts for custom DefaultPowerReduction) - Minimum Validator Stake: Meets Sonr's custom
DefaultPowerReductionof ~275 billion
When networks are running, the following ports are forwarded:
- RPC:
26657- Tendermint RPC - REST:
1317- Cosmos REST API - gRPC:
9090- Cosmos gRPC - Faucet:
8001(devnet) /8001(testnet) - Explorer:
8080- Ping Pub interface
Both networks include custom initialization scripts:
scripts/create-genesis.sh- Creates genesis with proper validator amountsscripts/update-genesis.sh- Updates genesis parameters for Sonr modules
# Start devnet for development
make start
# Access services
curl http://localhost:26657/status
curl http://localhost:1317/cosmos/base/tendermint/v1beta1/node_info
open http://localhost:8080 # Explorer# Start production-like testnet
make start NETWORK=testnet
# Test with multiple validators
# Access via same ports or ingress (if configured)# Stop network
make stop
# Or stop specific network
make stop NETWORK=testnetkubectl get pods
kubectl logs devnet-genesis-0 # or testnet-genesis-0- Permission Errors: Both configs include
podSecurityContextto handle volume permissions - Validator Start Issues: Large coin amounts ensure validators meet minimum delegation requirements
- Resource Constraints: Testnet requires more resources than devnet
To add a new network:
- Create
chains/newnetwork/directory - Add
config.yamlwith Starship configuration - Add
devbox.jsonwith required tools - Create custom scripts in
scripts/if needed - Use
make start NETWORK=newnetwork