prysm-only/create-account.yaml # Failing on password req in test setup - how to recover?
Closed this issue · 2 comments
So I was trying it out using the TestNet and gave a weak password... Now right before the setup finishes, the loader complaines about password policy:
Could not import accounts: could not initialize wallet: password did not pass validation: password must have at least 8 characters, at least 1 alphabetical character, 1 unicode symbol, and 1 number
Grr - Sure its very good to have that in MainNet.. But now I get stuck and wonder how to proceed from here?
Can I change my existing password to match the requirements or do I need to generate new validator configs?
My steps:
Copy templates:
cd /opt/ethereum2-docker-compose/
cp compose-examples/prysm-only/docker-compose.yaml
cp compose-examples/prysm-only/create-account.yaml ./
Copy keystore & deposit file:
mkdir -p /opt/ethereum2-docker-compose/launchpad/eth2.0-deposit-cli/validator_keys
cd /opt/ethereum2-docker-compose/launchpad/eth2.0-deposit-cli/validator_keys/
cp /opt/ethereum2-docker-compose/launchpad/deposit_data-XYZ.json ./
cp /opt/ethereum2-docker-compose/launchpad/keystore-m_XYZjson ./
Enter password / Create wallet dir:
cd /opt/ethereum2-docker-compose/
mkdir -p data/prysm/validator/wallets
vim data/prysm/validator/passwords/wallet-password
(saved pw to file)
Try to run it:
cd /opt/ethereum2-docker-compose/
sudo docker-compose -f create-account.yaml run validator-import-launchpad
But sadly it fails:
[2021-02-21 18:03:34] FATAL accounts:
Could not import accounts: could not initialize wallet:
password did not pass validation:
password must have at least 8 characters,
at least 1 alphabetical character, 1 unicode symbol, and 1 number
The password you want to have for your wallet prysm is safed in data/prysm/validator/passwords/wallet-password
and this is the failing password. Unfortunately prysm doesn't use a weaker password checker for testnet, so you need to have a strong password also on testnet. There is also no way to disable the password check.
$ docker run gcr.io/prysmaticlabs/prysm/validator accounts import
Prysmatic Labs Terms of Use
By downloading, accessing or using the Prysm implementation (“Prysm”), you (referenced herein
as “you” or the “user”) certify that you have read and agreed to the terms and conditions below.
TERMS AND CONDITIONS: https://github.com/prysmaticlabs/prysm/blob/master/TERMS_OF_SERVICE.md
Type "accept" to accept this terms and conditions [accept/decline]: (default: decline):
NAME:
validator accounts import -
USAGE:
validator accounts import [command options] [arguments...]
DESCRIPTION:
imports eth2 validator accounts stored in EIP-2335 keystore.json files from an external directory
OPTIONS:
--wallet-dir value Path to a wallet directory on-disk for Prysm validator accounts (default: "/home/.eth2validators/prysm-wallet-v2")
--keys-dir value Path to a directory where keystores to be imported are stored
--wallet-password-file value Path to a plain-text, .txt file containing your wallet password
--account-password-file value Path to a plain-text, .txt file containing a password for a validator account
--import-private-key-file value Path to a plain-text, .txt file containing a hex string representation of a private key to import
--mainnet Run on Ethereum 2.0 Main Net. This is the default and can be omitted. (default: true)
--pyrmont This defines the flag through which we can run on the Pyrmont Multiclient Testnet (default: false)
--toledo This defines the flag through which we can run on the Toledo Multiclient Testnet (default: false)
--accept-terms-of-use Accept Terms and Conditions (for non-interactive environments) (default: false)
--help, -h show help (default: false)
time="2021-02-21 18:20:06" level=error msg="could not scan text input, if you are trying to run in non-interactive environment, you
can use the --accept-terms-of-use flag after reading the terms and conditions here:
https://github.com/prysmaticlabs/prysm/blob/master/TERMS_OF_SERVICE.md" prefix=main
To prevent confusion: There is also a password to decrypt your lanchpad validator_keys files, this one is not checked by prysm's password check because it's only used to import the files. The importer then decrypts the keys again with the strong password defined in data/prysm/validator/passwords/wallet-password
.
Closed by generating new valiator keys.