con un clic
replace-operator
Replace a single operator in a Charon distributed validator cluster
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Replace a single operator in a Charon distributed validator cluster
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Query the local Grafana/Prometheus/Loki stack shipped with this CDVN repo. Use when investigating cluster health, charon/beacon/EL errors, peer connectivity, validator performance, or log patterns against the locally-running monitoring stack (not Obol's hosted Grafana).
Add new operators to an existing Charon distributed validator cluster
Add new validators to an existing Charon distributed validator cluster
Export the anti-slashing database (EIP-3076) from the validator client
Import an anti-slashing database (EIP-3076) into the validator client
Recreate private key shares for a Charon cluster while keeping the same validator public keys
| name | replace-operator |
| description | Replace a single operator in a Charon distributed validator cluster |
| user-invokable | true |
Warning: This is an alpha feature and is not yet recommended for production use.
Replace a single operator in a Charon cluster with a new one. All participating operators (remaining + new) run a charon alpha edit replace-operator ceremony together (P2P via relay). The new operator must receive the current cluster-lock.json before the ceremony begins.
Read scripts/edit/replace-operator/README.md for full details if needed.
Common prerequisites:
.env file exists with NETWORK and VC variables set.charon directory with cluster-lock.json and charon-enr-private-keyjq installedAsk the user: "Are you a remaining operator (performing the replacement) or the new operator joining as a replacement?"
Script: scripts/edit/replace-operator/remaining-operator.sh
Additional prerequisites:
.charon/cluster-lock.json and .charon/charon-enr-private-key must exist--skip-export is used)Arguments to gather:
--new-enr: ENR of the new replacement operator--old-enr: ENR of the operator being replaced--skip-export (optional): Skip ASDB export if already done--dry-run firstRun:
./scripts/edit/replace-operator/remaining-operator.sh \
--new-enr "enr:-..." \
--old-enr "enr:-..." \
[--skip-export] \
[--dry-run]
Set WORK_DIR env var to override the repository root directory if running from a custom location.
After completion, the script will print commands to start containers manually. Remind the user to wait ~2 epochs before starting containers.
Script: scripts/edit/replace-operator/new-operator.sh
This is a two-step process:
Ask if the user needs to generate an ENR:
./scripts/edit/replace-operator/new-operator.sh --generate-enr
This creates .charon/charon-enr-private-key and displays the ENR. Tell the user to share this ENR with the existing operators.
The existing operators, in turn, need to share the cluster-lock.json with the new operators, which contains the current cluster configuration and is required for the P2P ceremony.
After receiving the current cluster-lock.json from remaining operators:
--cluster-lock: Path to the received cluster-lock.json--old-enr: ENR of the operator being replaced--dry-run first./scripts/edit/replace-operator/new-operator.sh \
--cluster-lock ./received-cluster-lock.json \
--old-enr "enr:-..." \
[--dry-run]
Set WORK_DIR env var to override the repository root directory if running from a custom location.
The new operator runs this at the same time as the remaining operators run their ceremony. All operators must participate together.
After the ceremony completes, the script automatically:
.charon directory.charon (contains complete configuration)Note: the new operator does NOT have slashing protection history (fresh start).