Script to automate the add-validators ceremony for Charon distributed validators.
This script helps operators add new validators to an existing distributed validator cluster. This is useful for:
- Expanding capacity: Add more validators without creating a new cluster
- Scaling operations: Grow your staking operation with existing operators
Important: This is a coordinated ceremony. All operators must run this script simultaneously to complete the process.
Warning: This is an alpha feature in Charon and is not yet recommended for production use.
.envfile withNETWORKandVCvariables set.charondirectory withcluster-lock.jsonanddeposit-data*.jsonfiles- Docker running
jqinstalled- All operators must participate in the ceremony
All operators must run this script simultaneously:
./scripts/edit/add-validators/add-validators.sh \
--num-validators 10 \
--withdrawal-addresses 0x123...abc \
--fee-recipient-addresses 0x456...def| Option | Required | Description |
|---|---|---|
--num-validators <N> |
Yes | Number of validators to add |
--withdrawal-addresses <addr> |
Yes | Withdrawal address(es), comma-separated for multiple |
--fee-recipient-addresses <addr> |
Yes | Fee recipient address(es), comma-separated |
--unverified |
No | Skip key verification (for remote KeyManager) |
--dry-run |
No | Preview without executing |
-h, --help |
No | Show help message |
| Environment Variable | Description |
|---|---|
WORK_DIR |
Override the repository root directory (defaults to auto-detected repo root) |
The script performs the following steps:
- Check prerequisites - Verify environment, cluster-lock, and detect running containers
- Run ceremony - P2P coordinated add-validators ceremony with all operators
- Stop containers - Stop charon and VC (only if they were running)
- Backup and replace - Backup current
.charon/to./backups/, install new configuration - Print start commands - Display commands to start containers manually