💻Installation

Officially stated requirements: 2/4/100 ubuntu 22.04

Server preparation

apt update && apt upgrade -y
apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev libgmp3-dev tar clang bsdmainutils ncdu unzip llvm libudev-dev make protobuf-compiler lz4 -y

Installing Ubuntu 22.04

Download the binary file

mkdir -p $HOME/.avail_mainnet && cd $HOME/.avail_mainnet
chmod 755 $HOME/.avail_mainnet

wget https://github.com/availproject/avail/releases/download/v2.2.5.0/x86_64-ubuntu-2204-avail-node.tar.gz
tar -xvf x86_64-ubuntu-2204-avail-node.tar.gz
mv avail-node /usr/bin/avail
rm -rf x86_64-ubuntu-2204-avail-node.tar.gz

avail --version
# avail 2.2.0-a6600ea38c9

Important - if you are synchronizing with 0, then after synchronization is complete, stop the node, remove the reserved-nodes and reserved-only flags and restart the node

Create a service file

yourname=<name>
tee /etc/systemd/system/avail-mainnet.service > /dev/null << EOF
[Unit]
Description=Avail mainnet
After=network-online.target
StartLimitIntervalSec=0
[Service]
User=$USER
Restart=always
RestartSec=3
LimitNOFILE=65535
ExecStart=/usr/bin/avail \
  --base-path $HOME/.avail_mainnet/data/ \
  --chain mainnet \
  --port 30933 \
  --rpc-port 9993 \
  --prometheus-port 9695 \
  --validator \
  --name '$yourname'
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable avail-mainnet
systemctl restart avail-mainnet && journalctl -u avail-mainnet -f -o cat

Now our node has started to synchronize. We can check our node in telemetry

Validator setup

IMPORTANT - further actions should only be taken if the team has selected you as a validator in the future test network. You should also wait for the future network itself to create a validator

After the node has synchronized, we pull out the key from our node by entering the command

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9993

If you get a similar result, then everything is great {"jsonrpc":"2.0","result":"0xa0very0long0hex0string","id":1} - copy the key (in bold) we will need it in the near future

  • Go to the website and first create a stash wallet

  • For stash we configure Set on-chain Identity for identification

  • We create a validator. To do this, select Network - Staking - Accounts - Validator

Next, insert our key received from the validator node, select the commission percentage

As soon as a place among the validators becomes available, you will appear in the Staking Overview tab, but for now you can find yourself on the Waiting tab

Last updated