Configuration

All node configuration is done via command-line flags or environment variables.

CLI Options

FlagEnv VariableDefaultDescription
--host-127.0.0.1Bind address for API/gRPC
--port-4100gRPC port
--api-port-5100HTTP API port
--chain-id-rougechain-devnet-1Chain identifier
--block-time-ms-1000Block production interval (ms)
--mine-falseEnable block production
--data-dir-~/.quantum-vault/core-nodeData storage directory
--peersQV_PEERS-Comma-separated peer URLs
--public-urlQV_PUBLIC_URL-This node's public URL for discovery
--api-keysQV_API_KEYS-Comma-separated API keys
--rate-limit-per-minute-120Rate limit for API requests

Examples

Local Development Node

./quantum-vault-daemon --mine --api-port 5100

Syncing Node (No Mining)

./quantum-vault-daemon \
  --api-port 5100 \
  --peers "https://testnet.rougechain.io"

Public Mining Node

./quantum-vault-daemon \
  --mine \
  --host 0.0.0.0 \
  --api-port 5100 \
  --peers "https://testnet.rougechain.io" \
  --public-url "https://mynode.example.com"

Multiple Peers

./quantum-vault-daemon \
  --api-port 5100 \
  --peers "https://node1.example.com,https://node2.example.com,https://node3.example.com"

Custom Data Directory

./quantum-vault-daemon \
  --mine \
  --api-port 5100 \
  --data-dir "/var/lib/rougechain"

Environment Variables

You can also use environment variables:

export QV_PEERS="https://testnet.rougechain.io"
export QV_PUBLIC_URL="https://mynode.example.com"
export QV_API_KEYS="key1,key2,key3"

./quantum-vault-daemon --mine --api-port 5100

Data Directory Structure

~/.quantum-vault/core-node/
├── chain.jsonl          # Block data (append-only)
├── tip.json             # Current chain tip
├── validators-db/       # Validator state (RocksDB)
└── messenger-db/        # Messenger data (RocksDB)

Running with Systemd (Linux)

Create /etc/systemd/system/rougechain.service:

[Unit]
Description=RougeChain Node
After=network.target

[Service]
Type=simple
User=rougechain
ExecStart=/opt/rougechain/quantum-vault-daemon --mine --host 0.0.0.0 --api-port 5100 --peers "https://testnet.rougechain.io"
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Enable and start:

sudo systemctl enable rougechain
sudo systemctl start rougechain
sudo journalctl -u rougechain -f  # View logs