- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
2.5 KiB
2.5 KiB
Validator Transitions Runbook
Overview
This runbook provides procedures for adding and removing validators from the network.
Adding a Validator
Prerequisites
- New validator keys generated
- Validator infrastructure ready
- Coordination with existing validators
Procedure
-
Generate Validator Keys
./scripts/key-management/generate-validator-keys.sh 1 -
Store Keys in Key Vault
az keyvault secret set --vault-name defi-oracle-kv --name validator-key-new --value <private-key> -
Update Genesis File
- Add validator address to extraData
- Regenerate genesis file using Besu operator
-
Update Static Nodes
- Add validator enode to static-nodes.json
- Update all node configurations
-
Deploy Validator
# Update StatefulSet replica count kubectl scale statefulset/besu-validator --replicas=5 -n besu-network -
Verify Validator
- Check validator is producing blocks
- Verify validator is in validator set
- Monitor validator performance
Removing a Validator
Prerequisites
- Coordination with validator operator
- Backup of validator data
- Maintenance window scheduled
Procedure
-
Plan Removal
- Notify all validators
- Schedule maintenance window
- Plan rollback procedure
-
Update Genesis File
- Remove validator address from extraData
- Regenerate genesis file
-
Update Static Nodes
- Remove validator enode from static-nodes.json
- Update all node configurations
-
Remove Validator Pod
kubectl scale statefulset/besu-validator --replicas=3 -n besu-network -
Verify Removal
- Check validator set
- Verify network is still producing blocks
- Monitor network performance
Validator Key Rotation
See Key Rotation Script for detailed procedures.
Troubleshooting
Validator Not Producing Blocks
- Check validator status
- Verify validator keys
- Check network connectivity
- Verify IBFT configuration
- Check logs
Validator Not in Validator Set
- Verify validator address in extraData
- Check static nodes configuration
- Verify network connectivity
- Check validator keys
Contacts
- Validators: validators@d-bis.org
- Network Operators: operators@d-bis.org