Lewati ke isi

Phase 4 — Validator Program

Program validator Garuda Chain untuk operasi node, staking, rewards, dan governance.

Fase Program

Phase Nama Max Validators Status
1 Genesis Validators 5 Aktif
2 Program Expansion 11 Upcoming
3 Community Validators 21 Mainnet

Persyaratan

  • Min Stake: 100,000 GAT
  • Max Commission: 20%
  • Min Uptime: 99%
  • Hardware: 4 CPU, 16GB RAM, 500GB SSD, 100Mbps
  • Software: Docker, Hyperledger Besu 24.x

Fitur

  • Validator Dashboard (/validators)
  • Registrasi On-Chain (GarudaValidatorRegistry)
  • Aplikasi Program (/validators/apply)
  • Ranking & Performance metrics
  • Reward distribution
  • Slashing & jailing system
  • Monitoring & alerts

Quick Start

1. Monitor Validators

npm run validator:monitor

2. Setup Validator Node

bash scripts/validator/setup-node.sh 1 public-testnet

3. Register On-Chain

bash scripts/validator/register-onchain.sh "My Validator" "https://mysite.id" 100000 10

4. Distribute Rewards

bash scripts/validator/distribute-rewards.sh 0xOperatorAddress 1000

API Endpoints

Method Endpoint Deskripsi
GET /api/v1/validators/program Program config
GET /api/v1/validators List validators
GET /api/v1/validators/ranking Ranking
GET /api/v1/validators/:address Detail validator
POST /api/v1/validators/applications Submit application

Submit Application

curl -X POST http://localhost:4000/api/v1/validators/applications \
  -H "Content-Type: application/json" \
  -d '{
    "moniker": "Garuda Validator ID",
    "operatorAddress": "0x...",
    "email": "validator@email.com",
    "stakeAmount": "100000",
    "commission": 10
  }'

Slashing Rules

Pelanggaran Penalti
Downtime 1% stake
Double-sign 5% stake
3x slash Removed (SLASHED)

Jail duration: 7 hari. Unjail otomatis setelah periode selesai via unjailValidator().

Explorer Pages

  • /validators — Ranking & dashboard
  • /validators/apply — Form aplikasi
  • /validators/[address] — Detail validator

Smart Contract

GarudaValidatorRegistry functions: - registerValidator(moniker, website, stake, commission) - claimRewards() - distributeRewards(operator, amount) (admin) - slashValidator(operator, reason) (slasher) - unjailValidator(operator) - setMaxValidators(21) (admin, Phase 3)

Next: Phase 5

Security Audit — audit smart contract dan infrastruktur sebelum mainnet.