Light Validator

andes-doc

Andes Network

Andes testnet is a testnet focused on enabling validators to test out their infrastructure by running nodes connected to the network.

Network Name
Dill Testnet Andes

RPC URL

https://rpc-andes.dill.xyz/

Chain ID

558329

Currency symbol

DILL

Explorer URL

https://andes.dill.xyz/

Hardware Requirement

Below are the minimum hardware requirements to run Dill light validator node. It is also part of the consensus network, requires staking and earns DILL token for reward.

Minimum

CPU

2 cores

Memory

2G

Disk

20G

Network

1MB/s

If you are using cloud computing platform such as AWS EC2, you can check different instance configurations at https://aws.amazon.com/ec2/instance-types/

Or alternatively, you can use AWS Lightsail, which now offers the first 90 days free for the 2 GB Memory, 2 vCPUs Processing, 60 GB SSD Storage, 3 TB Transfer instances. More details are at https://lightsail.aws.amazon.com/ls/webapp/home/instances

Ubuntu 22.04 (We are working on support for other Linux-like OS)

MacOS

PORT:

image

A. INSTALL

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:

    or simply run from your command line terminal:

    curl -O https://dill-release.s3.ap-southeast-1.amazonaws.com/linux/dill.tar.gz
  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
  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 <password-path>

    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 and there should be one dill process running:

    ps -ef | grep dill

sample output

ubuntu      1981       1 86 08:09 pts/0    00:00:43 /home/ubuntu/dill/dill-node --light --embedded-geth --datadir /home/ubuntu/dill/light_node/data/beacondata --genesis-state /home/ubuntu/dill/genesis.ssz --grpc-gateway-host 0.0.0.0 --initial-validators /home/ubuntu/dill/validators.j
...

Staking

  • visit https://staking.dill.xyz/

  • upload deposit_data-*.json

    • you can use scp to copy to local or simply ubuntu@ip-xxx:~/dill$ cat ./validator_keys/deposit_data-xxxx.json to get the content and make a copy in your local machine

image
  • Connect to MetaMask,make sure you have enough balance(>2500 DILL)

image
  • Send deposit,using MetaMask to send a deposit transaction

    image

B. MANAGEMENT:

1. Services Management

cd $HOME/dill

1.1 Check health node

./health_check.sh -v

1.2 Stop node

ps -ef | grep dill-node | grep -v grep | awk '{print $2}' | xargs kill

1.3 Start node

./start_light.sh -p walletPw.txt

1.4 Check logs

tail -f -n 100 $HOME/dill/light_node/logs/dill.log

1.5 Check on Explorer

Copy your pubkey in file deposit_data-xxxx.json and search it on explorer: https://andes.dill.xyz/validators?p=1&ps=1000

2. Fix port 8080 (change to 8081)

2.1 Stop node

cd $HOME/dill
ps -ef | grep dill-node | grep -v grep | awk '{print $2}' | xargs kill

2.2 Update file (use port 8081)

rm -rf $HOME/dill/health_check.sh && rm -rf $HOME/dill/start_light.sh && \
wget -O  $HOME/dill/start_light.sh https://raw.githubusercontent.com/nodesynctop/Dill/main/start_light.sh && \
wget -O  $HOME/dill/health_check.sh https://raw.githubusercontent.com/nodesynctop/Dill/main/health_check.sh && \
chmod +x health_check.sh && chmod +x start_light.sh

2.3 Start node

./start_light.sh -p walletPw.txt

Last updated