Volunteer Node Operator Guide

Help support government data transparency by running an OpenGovChain node

OpenGovChain is a tokenless, public good blockchain for government data transparency and accountability. The network is operated by volunteers like you, with no economic barriers to participation.

Why Run a Node?

Support Transparency

Help preserve government datasets

Ensure Availability

Provide redundant storage and access

Build Reputation

Earn on-chain recognition for contributions

Join the Community

Connect with transparency advocates worldwide

Ways to Help

Basic Node
Sync and relay transactions
Requirements
  • • 2 CPU cores
  • • 4 GB RAM
  • • 50 GB storage
Cost

$5-10/month (VPS)

Commitment
Low (can run part-time)
Data Pinner
Help preserve government datasets
Requirements
  • • 1 CPU core
  • • 2 GB RAM
  • • 100+ GB storage
Cost

$3-8/month

Commitment
Very Low (hobby-friendly)
Archive Node
Store complete blockchain history
Requirements
  • • 2 CPU cores
  • • 8 GB RAM
  • • 200 GB storage
Cost

$10-20/month

Commitment
Moderate availability
System Requirements

Most modern computers can run a basic node! Even a Raspberry Pi 4 works for simple setups.

Basic Setup

  • Any modern OS (Linux/macOS/Windows)
  • 2 GB RAM
  • 20 GB free space
  • Basic internet (5+ Mbps)

Better Performance

  • Ubuntu/Debian (easier setup)
  • 4 GB RAM
  • 100 GB SSD
  • Stable internet connection
Quick Setup
Get started with Docker (recommended) or build from source. Full documentation: GitHub Repository
1

Option A: Using Docker (Recommended)

The easiest and most maintainable method. Choose your setup:

For VPS or Public IP:
# See Standalone Node Guide
docker-compose up -d
For Home Network (behind NAT):
# See Tailscale Guide for secure connectivity
docker-compose -f docker-compose.tailscale.yml up -d
1B

Option B: Build from Source (Advanced)

# Verify environment
./scripts/check-build-env.sh
# Prerequisites: Go 1.18+ and Ignite CLI
curl https://get.ignite.com/cli | bash
2

Clone and Build

# Clone repository
git clone https://github.com/bettergovph/govchaind.git
cd govchaind
# Setup environment
./scripts/setup-env.sh
# Build binary
ignite chain build
3

Join as Volunteer

# Use the join script (auto-detects public IP on VPS)
./scripts/join-as-volunteer.sh <your-node-name> <genesis-url>
# Or for local development:
ignite chain serve
4

Verify Node is Running

# Check Docker status
docker-compose ps
# Or check node sync status
govchaind status | jq .SyncInfo
Security Best Practices
  • Use a firewall: Allow only necessary ports (SSH, P2P)
  • Disable RPC on public interface: Keep RPC on localhost only
  • Use SSH keys, not passwords: Disable password authentication
  • Keep validator keys offline: Use a signer service for production
  • Regular security updates: Keep your system up to date
📚 Full Documentation
Comprehensive guides for different setup scenarios
Support & Community
🌟 Why OpenGovChain is Different
  • Tokenless Architecture: No economic barriers to participation. The network is a public good operated by volunteers.
  • Immutable Government Data: Datasets are stored permanently on the blockchain with IPFS integration.
  • Rich Metadata & Queries: Search by agency, category, and file type with comprehensive metadata.
  • Decentralized & Secure: Built on Cosmos SDK with Tendermint BFT consensus, secured by volunteer validators.
Next Steps
  1. Choose your setup method (Docker recommended)
  2. Read the appropriate guide for your environment
  3. Set up your node
  4. Join Discord community
  5. Introduce yourself in #introductions
  6. Help onboard other volunteers