***** WARNING: Splitting keys **
Please make sure any existing validator has been shut down for
at least 2 finalised epochs before starting the charon cluster,
otherwise slashing could occur.
Created charon cluster:
--split-existing-keys=true
/opt/charon/
├─ node[0-2]/ Directory for each node
│ ├─ charon-enr-private-key Charon networking private key for node authentication
│ ├─ cluster-lock.json Cluster lock defines the cluster lock file which is signed by all nodes
│ ├─ deposit-data.json Deposit data file is used to activate a Distributed Validator on DV Launchpad
│ ├─ validator_keys Validator keystores and password
│ │ ├─ keystore-.json Validator private share key for duty signing
│ │ ├─ keystore-.txt Keystore password files for keystore-*.json
🔬 Minimal Reproduction
🔥 Error
🌍 Your Environment
Operating System:
What version of Charon are you running? (Which release)
Anything else relevant (validator index / public key)?
🐞 Bug Report
Description
split keys operation failed on v1.0.0 and v1.0.1 with the error $ docker run --rm -v $(pwd):/opt/charon obolnetwork/charon:${CHARON_VERSION} create cluster --name="${CLUSTER_NAME}" --network="${NETWORK}" --withdrawal-addresses="${WITHDRAWAL_ADDRESS}" --fee-recipient-addresses="${FEE_RECIPIENT_ADDRESS}" --split-existing-keys --split-keys-dir=/opt/charon/split_keys --threshold ${THRESHOLD} --nodes ${NODES} 16:24:49.213 ERRO cmd Fatal error: invalid deposit data signature: signature not verified tbls/herumi.go:297 .Verify tbls/tbls.go:122 .Verify eth2util/deposit/deposit.go:97 .MarshalDepositData eth2util/deposit/deposit.go:300 .WriteDepositDataFile eth2util/deposit/deposit.go:273 .WriteClusterDepositDataFiles cmd/createcluster.go:253 .runCreateCluster cmd/createcluster.go:94 .func1 cmd/cmd.go:91 .func1 main.go:19 .main
Has this worked before in a previous version?
Yes, the previous version in which this bug was not present was: CHARON_VERSION=v0.19.2
$ docker run --rm -v $(pwd):/opt/charon obolnetwork/charon:${CHARON_VERSION} create cluster --name="${CLUSTER_NAME}" --network="${NETWORK}" --withdrawal-addresses="${WITHDRAWAL_ADDRESS}" --fee-recipient-addresses="${FEE_RECIPIENT_ADDRESS}" --split-existing-keys --split-keys-dir=/opt/charon/split_keys --threshold ${THRESHOLD} --nodes ${NODES} Unable to find image 'obolnetwork/charon:v0.19.2' locally v0.19.2: Pulling from obolnetwork/charon 5d0aeceef7ee: Already exists 3cb52c1feafb: Pull complete 219f38bef2a1: Pull complete e344aae7ae63: Pull complete 7da51ba8602e: Pull complete e1697e312eb6: Pull complete 4f4fb700ef54: Pull complete 6200d4745da4: Pull complete Digest: sha256:3977f4e46926d40342dd5d3d37a76340060494410808c45594e6763a4972fbd6 Status: Downloaded newer image for obolnetwork/charon:v0.19.2
***** WARNING: Splitting keys ** Please make sure any existing validator has been shut down for at least 2 finalised epochs before starting the charon cluster, otherwise slashing could occur.
Created charon cluster: --split-existing-keys=true
/opt/charon/ ├─ node[0-2]/ Directory for each node │ ├─ charon-enr-private-key Charon networking private key for node authentication │ ├─ cluster-lock.json Cluster lock defines the cluster lock file which is signed by all nodes │ ├─ deposit-data.json Deposit data file is used to activate a Distributed Validator on DV Launchpad │ ├─ validator_keys Validator keystores and password │ │ ├─ keystore-.json Validator private share key for duty signing │ │ ├─ keystore-.txt Keystore password files for keystore-*.json
🔬 Minimal Reproduction
🔥 Error
🌍 Your Environment
Operating System:
What version of Charon are you running? (Which release)
Anything else relevant (validator index / public key)?