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.