Pulse-staking-deposit-cli Guide
Using deposit-cli to generate key files
Before you can participate as a Solo or Trusted Validator on the Vouch protocol, you need to generate the requried keystores and deposit files, much like you would if you were operating a "normal" validator on the Pulsechain network.
pulse-staking-deposit-cli is a tool for creating EIP-2335 format BLS12-381 keystores and a corresponding deposit_data-*.json file and stake_data-*.json file for use with the Vouch Protocol. This tool creates deposit files that are compatable with the Ethereum and Pulsechain Launchpads, however the output files are designed to be used exclusivly with the Vouch Protocol.
⚠️ Do not use the generated deposit file with the offical Pulschain Launchpad site.
Installing pulse-staking-deposit-cli
WARNING
Please generate your keystores on your own safe, completely offline device, and backup your mnemonic, keystores, and password securely.
Github Repo:pulse-staking-deposit-cli
💡 Advanced instructions can be found in the ReadMe file on the Githup Repo.
Step 1. Check your Python version
Ensure you are using Python version >= Python3.8:
python3 -VIf required update your python version.
Step 2. Clone the repo to a local directory
git clone https://github.com/Vouchrun/pulse-staking-deposit-cli
cd pulse-staking-deposit-cliStep 3. Installation
- Install pip
sudo apt-get install python3-pip- Install the dependencies:
sudo pip3 install -r requirements.txt
sudo python3 setup.py installOr use the helper script:
sudo ./deposit.sh installGenerate Keystore, Deposit and Staking Files
Step 1. Before you Start
Prior to generating your keystores and the corresponding deposit_data and staking_data files, you need to take note of two things:
- The Withdrawal Address must be set to the Vouch
Network_Withdrawcontract address when generating keys. - Your Nodes
suggested-fee-recipientmust be set to the VouchFee_Poolcontract address (see below section).
You MUST set your WITHDRAWAL address correctly to the Network_Withdraw contract address when generating your Keys.
0x1F082785Ca889388Ce523BF3de6781E40b99B060Step 2. Running the Staking-cli Tool.
This will Create your keys, deposit_data-*.json and staking_data-*.json files.
Extensive documention on the staking-deposit-cli tool can be found in the Github repository ReadMe file. This will provide all the configurable settings and ways you can use the tool to generate keystores and deposit files using either new or existing mnemonic seed words. Please refer that documentation and instructions for assistance with running the staking-cli-tool if required.
Make sure your input 12000000 (12Mil) for the deposit amount when prompted.
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>Basic Example Commands for New Mnemonic:
./deposit new-mnemonic --num_validators=10 --chain=pulsechain --folder=/blockchain/validatorsThis command will generate a set of files (in your chosen output directory) which consists of 3 items:
deposit_data-*.jsonfile, used for depositing inital 12Mil PLS validator stake (solo validators)staking_data-*.jsonfile, used to send remaining 20Mil PLS to Pulsechain staking contract.- One or more (10 in this example) Keystore files which need to be imported on your valdiator.
Make sure you BACKUP your mnemonic words and record the password used to protect your keys, you will need this password when setting up your Ejector Client
Setting your Suggested Fee Recipient
When configuring your Validator clients it is important to configure your fee recipient address to the Vouch ValidatorFeeDepositor contract address, otherwise you will be slashed by the Vouch Protocol.
CAUTION
You MUST set your suggested-fee-recipient correctly to the ValidatorFeeDeposit contract address when running your Validator Client. NOTE: This has recently changed from the 'FeePool' contract address on Mainnet with the launch of the Vouch Ecosystem and associated VOUCH token.
ValidatorFeeDeposit Contract Address:
0x9325008eE3B5982c10010C8f12b6CD4943F48fA6It may take hours or days for your validator to become fully activated. In the meantime, leave your execution client, beacon node, and validator client terminal windows open and running; once your validator is activated, it will automatically begin proposing and validating blocks.
To check on the status of your validator, we recommend checking out the popular block explorers as you normally would when running a Validator on Pulsechain.