Ubuntu Jammy 22.04 (LTS)
Follow the instructions here
mkdir -p blockchain/consensus
mkdir -p blockchain/execution
cd blockchain
openssl rand -hex 32 | tr -d "\n" > "jwt.hex"
cd ~
git clone https://gitlab.com/pulsechaincom/staking-deposit-cli.git
cd staking-deposit-cli
sudo apt install python3-pip
sudo pip3 install -r requirements.txt
sudo python3 setup.py install
cd staking-deposit-cli
./deposit.sh new-mnemonic \
--num_validators=1 \
--chain=pulsechain \
--folder=/home/<changeusername>/blockchain \
--eth1_withdrawal_address=<eth_address>
cd staking-deposit-cli
./deposit.sh existing-mnemonic \
--validator_start_index=10 \
--num_validators=1 \
--chain=pulsechain \
--folder=/home/<changeusername>/blockchain \
--eth1_withdrawal_address=<eth_address>
--validator_start_index is the number of validators you ALREADY created.
--num_validators is the number of NEW validators you want to create.
If you try to deposit, and it shows 0 validators on the launchpad, then your
permissions are wrong.
Run the following, but update the path & file name.
sudo chmod user:user /path/to/deposit_*.json
sudo ufw allow 30303
sudo docker run -d --restart unless-stopped \
--net=host \
--name=execution \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/go-pulse:latest \
--pulsechain \
--authrpc.jwtsecret=/blockchain/jwt.hex \
--datadir=/blockchain/execution \
--http
PRYSM
sudo ufw allow 12000/udp
sudo ufw allow 13000/tcp
Save your Prysm wallet password:
cd blockchain
nano password.txt
Enter your Prysm wallet password, press CTRL+X, then confirm by pressing y, and finally, press Enter.
For the latest release, visit this link.
sudo docker run -d --restart unless-stopped \
--network=host \
--name=consensus \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/prysm-pulse/beacon-chain:latest \
--pulsechain \
--jwt-secret=/blockchain/jwt.hex \
--datadir=/blockchain/consensus \
--execution-endpoint=http://127.0.0.1:8551 \
--checkpoint-sync-url=https://checkpoint.pulsechain.com \
--genesis-beacon-api-url=https://checkpoint.pulsechain.com \
--suggested-fee-recipient=<your_eth_address> \
--min-sync-peers=1
You will probably need to reformat the above to work.
Everything before "registry" in one line, and everything after "registry" align the
tabs back one tab. I've formatted it the way above for readability.
For the latest release, visit this link.
sudo docker run -it \
--network=host \
--name=validatorkeys \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/prysm-pulse/validator:latest \
accounts import \
--pulsechain \
--keys-dir=/blockchain/validator_keys \
--wallet-dir=/blockchain/consensus/validator
For the latest release, visit this link.
sudo docker run -d --restart unless-stopped \
--network=host \
--name=validator \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/prysm-pulse/validator:latest \
--pulsechain \
--beacon-rpc-provider=127.0.0.1:4000 \
--wallet-dir=/blockchain/consensus/validator \
--wallet-password-file=/blockchain/password.txt \
--datadir=/blockchain/consensus \
--suggested-fee-recipient=<your_eth_address>
Instructions for withdrawals using Prysm.
sudo docker run -it \
--net=host \
--name=validatorexit \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/prysm-pulse/prysmctl:latest \
validator exit \
--wallet-dir=/blockchain/consensus/validator \
--beacon-rpc-provider=127.0.0.1:4000
You can also choose "All Accounts".
Enter "Exit my validator"
See links to official references:
BLS Credential Guide
Example
./deposit.sh --language=english generate-bls-to-execution-change \
--chain=pulsechain \
--mnemonic="sister protect peanut hill ready work profit fit wish want small inflict flip member tail between sick setup bright duck morning sell paper worry" \
--bls_withdrawal_credentials_list="0x00bd0b5a34de5fb17df08410b5e615dda87caf4fb72d0aac91ce5e52fc6aa8de,0x00a75d83f169fa6923f3dd78386d9608fab710d8f7fcf71ba9985893675d5382" \
--validator_start_index=0 \
--validator_indices="50000, 50001" \
--execution_address="0x3434343434343434343434343434343434343434" \
--bls_to_execution_changes_folder=/home/<changeusername>/BLScreditentals
You can broadcast your signed message from the command line using the curl command.
curl -X 'POST' \
'localhost:3500/eth/v1/beacon/pool/bls_to_execution_changes' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d @filename.json
curl -X 'GET' \
'http://127.0.0.1:3500/eth/v1/beacon/states/head/validators/validator_index_number' \
-H 'accept: application/json'
LIGHTHOUSE
sudo ufw allow 9000
You may need to port forward 9000 on your local router.
For the latest release, visit this link.
sudo docker run -it \
--net=host \
--name=validatorkeys \
-v /home/<changeusername>/blockchain/:/blockchain \
registry.gitlab.com/pulsechaincom/lighthouse-pulse:latest \
lighthouse \
account validator import \
--network pulsechain \
--directory /blockchain/validator_keys \
--datadir=/blockchain/consensus
For the latest release, visit this link.
sudo docker run -d --restart unless-stopped \
--net=host \
--name=consensus \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/lighthouse-pulse:latest \
lighthouse bn \
--network=pulsechain \
--execution-jwt=/blockchain/jwt.hex \
--datadir=/blockchain/consensus \
--execution-endpoint=http://127.0.0.1:8551 \
--checkpoint-sync-url https://checkpoint.pulsechain.com \
--suggested-fee-recipient=<your_eth_address> \
--http
For the latest release, visit this link.
sudo docker run -d --restart unless-stopped \
--net=host \
--name=validator \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/lighthouse-pulse:latest \
lighthouse vc \
--network=pulsechain \
--datadir=/home/<changeusername>/blockchain/consensus \
--suggested-fee-recipient=<your_eth_address>
Instructions for withdrawals using Lighthouse.
sudo docker run -it \
--net=host \
--name=validatorexit \
-v /home/<changeusername>/blockchain:/blockchain \
registry.gitlab.com/pulsechaincom/lighthouse-pulse:latest \
lighthouse \
--network pulsechain \
account validator exit \
--keystore /blockchain/validator_keys/<YOUR-keystore-m_XXXXXXXXXXXXXX.json> \
--beacon-node http://127.0.0.1:5052
Enter the validator key password.
Enter "Exit my validator"
See links to official references:
BLS Credential Guide
Example
./deposit.sh --language=english generate-bls-to-execution-change \
--chain=pulsechain \
--mnemonic="sister protect peanut hill ready work profit fit wish want small inflict flip member tail between sick setup bright duck morning sell paper worry" \
--bls_withdrawal_credentials_list="0x00bd0b5a34de5fb17df08410b5e615dda87caf4fb72d0aac91ce5e52fc6aa8de,0x00a75d83f169fa6923f3dd78386d9608fab710d8f7fcf71ba9985893675d5382" \
--validator_start_index=0 \
--validator_indices="50000, 50001" \
--execution_address="0x3434343434343434343434343434343434343434" \
--bls_to_execution_changes_folder=/home/<changeusername>/BLScreditentals
You can broadcast your signed message from the command line using the curl command.
curl -X 'POST' \
'localhost:5052/eth/v1/beacon/pool/bls_to_execution_changes' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d @filename.json
curl -X 'GET' \
'http://127.0.0.1:5052/eth/v1/beacon/states/head/validators/validator_index_number' \
-H 'accept: application/json'
sudo docker stop -t 180 <containername>
sudo docker rm <containername>
sudo docker logs --follow <containername>
sudo docker images ps -a
sudo docker image rm <image_id>
ps to see processes (works with containers):
ps
ps -a to see stopped ones too:
ps -a
ls is to list so that it can be used with images (they don't have a process) or containers. Also, add the -a flag for more detail.