Avail
END Testnet
Recommended Hardware Requirementsβ
- πΌοΈ Docker
- πΌοΈ SystemD
- πΌοΈ Client
Option 1 (Automatic)β
cd $HOME && source <(curl -s https://raw.githubusercontent.com/vnbnode/binaries/main/Projects/Avail/avail-auto.sh)
Option 2 (Manual)β
Install Dockerβ
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
1/ Pull image newβ
docker pull availj/avail:v1.10.0.0
2/ Run nodeβ
- Remove old chain data
rm -r $HOME/avail/chains/avail_goldberg_testnet/db
rm -r $HOME/avail/chains/avail_goldberg_testnet/network
- Download snapshot
sudo snap install lz4
curl -o - -L https://snapshots.avail.nexus/goldberg/avail_goldberg_testnet_snapshot_jan_31.tar.gz | tar -xz -C
- Run Node
Edit VNBnode --> Your Name
Nodename = VNBnode
sudo docker run --name avail -v $(pwd)/avail/:/da/avail:rw --network host -d --restart unless-stopped availj/avail:v1.10.0.0 --chain goldberg --name "${Nodename}" --validator -d /da/avail
3/ Open Port 30333β
sudo ufw allow 30333/tcp
sudo ufw allow 30333/udp
4/ Check log nodeβ
docker logs -f avail
Create Validatorβ
Navigate to the Goldberg network explorer at http://goldberg.avail.tools.
- Note:
Need 1000 AVL to create Validator
Follow the instruction from project: Guideβ
Step 1: Update systemβ
sudo apt update && sudo apt upgrade -y
Step 2: Install packagesβ
sudo apt install make clang pkg-config libssl-dev build-essential git screen protobuf-compiler -y
Step 3: Install Rustβ
curl https://sh.rustup.rs -sSf | sh
Select 1 and enterβ
Step 4: Go to homeβ
source $HOME/.cargo/env
Step 5: Update rustβ
rustup update nightly
Step 6: Add toolsβ
rustup target add wasm32-unknown-unknown --toolchain nightly
Step 7: Clone avail.gitβ
git clone https://github.com/availproject/avail.git
Step 8: Access Avail folderβ
cd avail
Step 9: Build dataβ
cargo build --release -p data-avail
This step takes long time to finish, be patient!
Step 10: Make output folderβ
mkdir -p output
mkdir -p data
Step 11: Switch gitβ
git checkout v1.10.0.0
Step 12: Runβ
cargo run --locked --release -- --chain goldberg --validator -d ./output
This step also takes time, be patient! Once it finished, you will see this screen: Then you can escape by ctrl + c
Step 13: Create service fileβ
Step 14: Edit service fileβ
sudo nano /etc/systemd/system/availd.service
you will see this screen Copy and Paste the content of service file as: Replace βVNBnodeβ by βYourname_VNBnodeβ.
[Unit]
Description=Avail Validator
After=network.target
StartLimitIntervalSec=0
[Service]
User=root
ExecStart= /root/avail/target/release/data-avail -d ./output --chain goldberg --validator --name "β
Your-Name|VNBnode β
"
Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target
Step 15: Enable the service fileβ
sudo systemctl daemon-reload
sudo systemctl enable availd.service
Step 16: Start service fileβ
sudo systemctl start availd.service
Step 17: Check status of serviceβ
sudo systemctl status availd.service
Step 18: Check logsβ
journalctl -f -u availd
Step 19: Stake as validatorβ
Follow the instruction from project: Link
Step 20: Check your node name here Hereβ
Create Validatorβ
Navigate to the Goldberg network explorer at http://goldberg.avail.tools.
- Note:
Need 1000 AVL to create Validator
Follow the instruction from project: Guideβ
Upgrade Avail binaries to v1.10.0.0β
cd $Home
cd avail
Stop Serviceβ
sudo systemctl stop availd.service
Downloadβ
git pull
git checkout v1.10.0.0
Installβ
cargo run --locked --release -- --chain goldberg --validator -d ./output
Remove rocksdb and Networkβ
rm -r output/chains/avail_goldberg_testnet/db/*
rm -r output/chains/avail_goldberg_testnet/network/*
Download snapshotβ
curl -o - -L https://snapshots.avail.nexus/goldberg/avail_goldberg_testnet_snapshot_jan_31.tar.gz | tar -xz -C output/chains/avail_goldberg_testnet/
Add peersβ
sudo sed -i 's|ExecStart=.*|ExecStart= /root/avail/target/release/data-avail -d ./output --validator --name "β
Your-Name|VNBnode β
" --chain goldberg \\\n--reserved-nodes \\\n"/dns/bootnode-001.goldberg.avail.tools/tcp/30333/p2p/12D3KooWCVqFvrP3UJ1S338Gb8SHvEQ1xpENLb45Dbynk4hu1XGN" \\\n"/dns/bootnode-002.goldberg.avail.tools/tcp/30333/p2p/12D3KooWD6sWeWCG5Z1qhejhkPk9Rob5h75wYmPB6MUoPo7br58m" \\\n"/dns/bootnode-003.goldberg.avail.tools/tcp/30333/p2p/12D3KooWMR9ZoAVWJv6ahraVzUCfacNbFKk7ABoWxVL3fJ3XXGDw" \\\n"/dns/bootnode-004.goldberg.avail.tools/tcp/30333/p2p/12D3KooWMuyLE3aPQ82HTWuPUCjiP764ebQrZvGUzxrYGuXWZJZV" \\\n"/dns/bootnode-005.goldberg.avail.tools/tcp/30333/p2p/12D3KooWKJwbdcZ7QWcPLHy3EJ1UiffaLGnNBMffeK8AqRVWBZA1" \\\n"/dns/bootnode-006.goldberg.avail.tools/tcp/30333/p2p/12D3KooWM8AaHDH8SJvg6bq4CGQyHvW2LH7DCHbdv633dsrti7i5" \\\n--reserved-only|; s|Restart=.*|Restart=always|; s|RestartSec=.*|RestartSec=120|' /etc/systemd/system/availd.service
Enable serviceβ
sudo systemctl disable availd.service
sudo systemctl daemon-reload
sudo systemctl enable availd.service
Restart and Check statusβ
sudo service availd restart
Check logsβ
journalctl -f -u availd
OPTION 1: Automatic installation from binariesβ
cd $HOME && curl -o lightnode-autorun.sh https://raw.githubusercontent.com/vnbnode/binaries/main/Projects/Avail/lightnode-autorun.sh && bash lightnode-autorun.sh
OPTION 2: Automatic installation from Avail releasesβ
cd $HOME && curl -o lightclient-pre-auto.sh https://raw.githubusercontent.com/vnbnode/binaries/main/Projects/Avail/lightclient-pre-auto.sh && bash lightclient-pre-auto.sh