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 availabilitySystem 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
- • Getting Started Guide - Complete setup instructions
- • Standalone Node Guide - For VPS or local development
- • Tailscale Guide - Join securely from behind NAT
- • Docker Guide - Running with Docker
- • Network Configuration - Peers, ports, and settings
- • Technical Implementation - Architecture deep dive
Support & Community
- • Discord Community
- • GitHub Issues
- • Email: [email protected]
- • License: MIT License (Open Source)
🌟 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
- Choose your setup method (Docker recommended)
- Read the appropriate guide for your environment
- Set up your node
- Join Discord community
- Introduce yourself in #introductions
- Help onboard other volunteers