Volunteer Node Operator Guide
Help support government data transparency by running a OpenGovChain node
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 in 6 steps
1
Install Dependencies
# Update system
sudo apt update && sudo apt upgrade -y
# Install basic tools
sudo apt install -y curl wget git build-essential jq
# Install Go 1.21
wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz
# Install Ignite CLI
curl https://get.ignite.com/cli | bash
2
Build Blockchain Binary
# Clone repository
git clone https://github.com/bettergov/govchaind.git
cd govchaind
# Build binary
ignite chain build
3
Initialize Node
# Initialize node (replace 'my-node' with your moniker)
govchaind init my-node --chain-id govchain-1
# Download genesis file
wget https://govchain.bettergov.ph/genesis.json \
-O ~/.govchain/config/genesis.json
4
Configure Node
# Edit config.toml
nano ~/.govchain/config/config.toml
# Key settings:
persistent_peers = "node1@ip1:26656,node2@ip2:26656"
external_address = "tcp://YOUR_PUBLIC_IP:26656"
prometheus = true
5
Create Systemd Service
sudo systemctl daemon-reload
sudo systemctl enable govchaind
sudo systemctl start govchaind
6
Verify Node is Running
# Check status
sudo systemctl status govchaind
# Check 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
Support & Community
- • Discord: https://discord.gg/bettergovph
- • GitHub Issues: https://github.com/bettergovph/govchain/issues
- • Email: [email protected]
Next Steps
- Set up your node
- Join Discord community
- Introduce yourself in #introductions
- Start pinning datasets
- Participate in governance
- Help onboard other volunteers