Official Documentation Recommended Hardware:
Installation 🛠️
# install Go (if needed)
cd $HOME
! [ -x "$(command -v go)" ] && {
VER="1.19.3"
wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz"
rm "go$VER.linux-amd64.tar.gz"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
}
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
Run a light validator
Run a light validator
Light validator is a type of node that performs availability validation solely through data sampling without participating in data sharding synchronization. It is also part of a consensus network. These nodes can participate in voting but will not act as proposers to generate new blocks. You can follow the steps below to start a light validator:
1. Download the light validator binary package from:
- General Linux-like https://dill-release.s3.ap-southeast-1.amazonaws.com/dill.tar.gz
- MaxOS specific - https://dill-release.s3.ap-southeast-1.amazonaws.com/macos/dill.tar.gz
- or simply run curl -O https://dill-release.s3.ap-southeast-1.amazonaws.com/linux/dill.tar.gz from your command line terminal
2. Extract the package:
tar -xzvf dill.tar.gz && cd dill
- sample output
ubuntu@ip-xxxx:~$ curl -O https://dill-release.s3.ap-southeast-1.amazonaws.com/linux/dill.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 64.5M 100 64.5M 0 0 6655k 0 0:00:09 0:00:09 --:--:-- 8072k
ubuntu@ip-xxxx:~$ tar -xzvf dill.tar.gz && cd dill
dill/
dill/validators.json
dill/genesis.ssz
dill/dill_validators_gen
dill/start_light.sh
dill/dill-node
ubuntu@ip-xxxx:~/dill$
3. Generate validator keys using the key generation tool:
./dill_validators_gen new-mnemonic --num_validators=1 --chain=andes --folder=./
- sample output
ubuntu@ip-xxxx:~/dill$ ./dill_validators_gen new-mnemonic --num_validators=1 --chain=andes --folder=./
***Using the tool on an offline and secure device is highly recommended to keep your mnemonic safe.***
Please choose your language ['1. العربية', '2. ελληνικά', '3. English', '4. Français', '5. Bahasa melayu', '6. Italiano', '7. 日本語', '8. 한국어', '9. Português do Brasil', '10. român', '11. Türkçe', '12. 简体中文']: [English]: 3
Please choose the language of the mnemonic word list ['1. 简体中文', '2. 繁體中文', '3. čeština', '4. English', '5. Italiano', '6. 한국어', '7. Português', '8. Español']: [english]: 4
Create a password that secures your validator keystore(s). You will need to re-enter this to decrypt them when you setup your Dill validators.:
Repeat your keystore password for confirmation:
The amount of DILL token to be deposited(2500 by default). [2500]:
This is your mnemonic (seed phrase). Write it down and store it safely. It is the ONLY way to retrieve your deposit.
Creating your keys.
Creating your keystores: [####################################] 1/1
Verifying your keystores: [####################################] 1/1
Verifying your deposits: [####################################] 1/1
Success!
Your keys can be found at: ./validator_keys
Press any key.
ubuntu@ip-xxxx:~/dill$
- This will generate the validator keys and save them in ./validator_keys directory
ubuntu@ip-xxxxx:~/dill$ ls -ltr ./validator_keys
total 8
-r--r----- 1 ubuntu ubuntu 710 Jul 13 08:06 keystore-m_12381_3600_0_0_0-xxxxxx.json
-r--r----- 1 ubuntu ubuntu 706 Jul 13 08:06 deposit_data-xxxx.json
ubuntu@ip-xxxxx:~/dill$
4. Import your keys to your keystore:
./dill-node accounts import --andes --wallet-dir ./keystore --keys-dir validator_keys/ --accept-terms-of-use
- During this process, you need to configure and save your keystore password.
- sample output
ubuntu@ip-xxxxx:~/dill$ ./dill-node accounts import --andes --wallet-dir ./keystore --keys-dir validator_keys/ --accept-terms-of-use
[2024-07-13 08:08:34] INFO flags: Running on the Andes Beacon Chain Testnet
Password requirements: at least 8 characters
New wallet password:
Confirm password:
[2024-07-13 08:08:39] INFO wallet: Successfully created new wallet walletPath=/home/ubuntu/dill/keystore
[2024-07-13 08:08:39] WARN client: You are using an insecure gRPC connection. If you are running your beacon node and validator on the same machines, you can ignore this message. If you want to know how to enable secure connections, see: https://docs.prylabs.network/docs/prysm-usage/secure-grpc
[2024-07-13 08:08:39] INFO accounts: importing validator keystores...
[2024-07-13 08:08:39] INFO accounts: checking directory for keystores: /home/ubuntu/dill/validator_keys
Enter the password for your imported accounts:
Importing accounts, this may take a while...
Importing accounts... 100% [===================================================================================] [1s:0s]
[2024-07-13 08:08:44] INFO local-keymanager: Reloaded validator keys into keymanager
[2024-07-13 08:08:44] INFO local-keymanager: Successfully imported validator key(s) pubkeys=0xxxxx
[2024-07-13 08:08:44] INFO accounts: Imported accounts [xxxxxx], view all of them by running `accounts list`
ubuntu@ip-xxxxx:~/dill$
5. Write the password you configured in the previous step into a file:
echo {my-password} > walletPw.txt
- please change the {my-password} to the real actual password you used
6. Start the light validator node
- Here you need to specify your password file as a startup parameter. You can start the program with the following command:
./start_light.sh -p walletPw.txt
- sample output
ubuntu@xxxxx:~/dill$ ./start_light.sh -p walletPw.txt
Option --pwdfile, argument 'walletPw.txt'
Remaining arguments:
using password file at walletPw.txt
start light node
start light node done
ubuntu@xxxxx:~/dill$ nohup: redirecting stderr to stdout
7. to check if the node is up and running ./health_check.sh
- sample output
2024-07-19 15:06:21 CST > Node health check passed.