engram-network/staking-cli
staking-cli is a tool for creating validator keys on Engram Tokio Testnet
staking-cli
Introduction
deposit-cli is a tool for creating EIP-2335 format BLS12-381 keystores and a corresponding deposit_data*.json file for Ethereum Staking Launchpad.
- Warning: Please generate your keystores on your own safe, completely offline device.
- Warning: Please backup your mnemonic, keystores, and password securely.
Please read Launchpad Validator FAQs before generating the keys.
Tutorial for users
Build requirements
For Linux or MacOS users
File Permissions
On Unix-based systems, keystores and the deposit_data*.json have 440/-r--r----- file permissions (user & group read only). This improves security by limiting which users and processes that have access to these files. If you are getting permission denied errors when handling your keystores, consider changing which user/group owns the file (with chown) or, if need be, change the file permissions with chmod.
Run the following command to enter the interactive CLI and generate keys from a new mnemonic:
./deposit new-mnemonicor run the following command to enter the interactive CLI and generate keys from an existing:
./deposit existing-mnemonicStep 1. Installation
Install the dependencies:
pip3 install -r requirements.txt
python3 setup.py installOr use the helper script:
./deposit.sh installStep 2. Create keys and deposit_data-*.json
Run one of the following command to enter the interactive CLI:
./deposit.sh new-mnemonicor
./deposit.sh existing-mnemonicYou can also run the tool with optional arguments:
./deposit.sh new-mnemonic --num_validators=<NUM_VALIDATORS> --mnemonic_language=english --chain=<CHAIN_NAME> --folder=<YOUR_FOLDER_PATH>./deposit.sh existing-mnemonic --num_validators=<NUM_VALIDATORS> --validator_start_index=<START_INDEX> --chain=<CHAIN_NAME> --folder=<YOUR_FOLDER_PATH>Build the docker image
Run the following command to locally build the docker image:
make build_dockerStep 2. Create keys and deposit_data-*.json
Run the following command to enter the interactive CLI:
docker run -it --rm -v $(pwd)/validator_keys:/app/validator_keys engramnet/staking-deposit-cliYou can also run the tool with optional arguments:
docker run -it --rm -v $(pwd)/validator_keys:/app/validator_keys engramnet/staking-deposit-cli:dencun new-mnemonic --num_validators=<NUM_VALIDATORS> --mnemonic_language=english --folder=<YOUR_FOLDER_PATH>Example for 1 validator on the Tokio testnet using english:
docker run -it --rm -v $(pwd)/validator_keys:/app/validator_keys engramnet/staking-deposit-cli:dencun new-mnemonic --num_validators=1 --mnemonic_language=english --chain=testnet