🌍Avail: Setting Up Your Validator Node

ilaNihas 🌍
10 min readJan 4, 2024

--

© by Avail Project

Introducing Avail: Revolutionizing Data Availability in Blockchain Technology

Avail stands out as a foundational layer, distinctively focused on data availability. It’s designed for the demands of modern, trust-minimized applications and independent rollups. Avail excels with its unique security model, enabling light clients to verify data availability efficiently via sampling in a peer-to-peer network. This modular framework eases blockchain integration for developers, removing concerns about validator sets or token economics. Avail’s advanced data availability solutions and robust security features empower developers to build more efficient, zero-knowledge or fraud-proof blockchain applications.

Central to Avail’s design is its efficiency in managing transaction ordering and publishing. Users can confirm block data availability without the need to download entire blocks. Its data-agnostic characteristic is a key highlight, supporting multiple execution environments like EVM, WASM, and bespoke runtimes. This versatility positions Avail as an adaptable platform for a wide range of blockchain applications.

Additionally, Polygon Labs has declared that to concentrate on ZK-Scaling for Ethereum and to better align with Ethereum’s roadmap, Avail will be entirely separated from Polygon Labs. Anurag Arjun, the co-creator of the Avail protocol and the lead of its development since its beginning, is parting ways with Polygon Labs. He will assume full responsibility for Avail, continuing to guide the project as its sole steward in a new, independent, and self-financed entity.

Before we start, I’d like to clarify that currently, I’m not aware of whether or how much venture capital funding this project has secured. Given the impressive professionalism of the technology, website, documentation, and team, I chose to contribute to the network by setting up a validator node. This guide offers detailed steps on installation, configuration, and staking. However, please note that becoming an official validator is not currently possible. Despite references on some websites to a form for potential selection as a validator by the Avail team, this information is outdated. Furthermore, the team has not released any full node challenges, and other public challenges have ended. The team has indicated that more challenges are on the horizon, so for the time being, please consider this guide as purely educational.

Part 1: Order and configure your VPS

To get started with installing your node, you’ll first need to rent a VPS (Virtual Private Server). Using a VPS offers several advantages, such as enhanced performance, scalability and reliability. I’ll guide you through the process of renting a VPS at a lower cost, and show you how to configure it. Follow the steps below to get your VPS ready for the node installation. Research VPS providers: Take some time to explore different VPS providers available in the market. Consider factors like pricing, reputation, and customer reviews to find the right fit for your needs. Look for plans that offer the appropriate amount of resources (CPU, RAM, storage) to support your node. Contabo is my preferred choice due to their combination of affordable pricing, reliable performance, and user-friendly interface.

I personally use and trust Contabo for my blockchain nodes. I’ve recently joined their affiliate program to recommend their services. If you decide to use my affiliate links for Contabo, you’ll be supporting my work at no extra cost to you. This support is important for continuing our journey together in the fascinating world of crypto, and using these affiliate links is a direct and impactful way to back my efforts. Thank you very much for your support!

This is the hardware configuration needed to set up an Avail node:

Given the modest hardware requirements, I suggest opting for the Cloud VPS 1 or Cloud VPS 2package, as it offers a suitable balance of performance and efficiency for these needs.

I will initially select a rental period of 1 month, with the flexibility to extend it later if needed:

Make sure to choose the option “European Union (Germany)”:

For the best storage solution, I recommend selecting the 200GB SSD storage type.

To access Docker with Ubuntu 22.04, navigate to the “Apps & Panels” section and make the appropriate selection:

To prioritize security, I highly recommend to generate a password and securely store it to ensure maximum protection:

For the final step, it’s recommended to leave the sections titled “Object Storage”, “Networking”, and “Add-Ons” in their default state without any modifications. If you are new to Contabo, please create an account; otherwise, login using your existing credentials. Provide your personal data by filling in the required fields. Complete the remaining fields with your personal information, and click the “Next” button to proceed with the payment. After successfully completing the payment for your order, you will receive an initial email. Within approximately 15 minutes, you will receive a second email containing all the information needed to connect to your VPS.

Part 2: Connect to your VPS via SSH

Download and install most recent edition of PuTTY by visiting the official website:

You will find the IP adress of your VPS in the second email. Launch PuTTY, enter the IP address of your VPS and click “Open”:

Once the server interface is open, you will be prompted to provide login details; simply enter “root” as the user and use your chosen password:

Congratulations! You are now successfully logged into your server:

Part 3: Preparations

To continue, we can update the packages by running the following commands in the terminal. The first part of the command (sudo apt update) updates the package lists for upgrades, and the second part (sudo apt upgrade -y) actually performs the upgrades with the “-y” flag allowing for automatic confirmation of prompts during the upgrade process:

sudo apt update && sudo apt upgrade -y

Part 4: Installation

Following our system update, we will proceed to install the required packages:

sudo apt install curl iptables build-essential git wget jq make gcc nano tmux htop tar ncdu unzip -y

We now need to create a directory called .avail and then navigate into this directory:

cd $HOME
mkdir $HOME/.avail
cd $HOME/.avail

Now, we must download the binaries and verify the version. Remember to update the version (v1.10.0.0) in the first command to the latest one. You may also need to modify the filename of the tar file:

wget https://github.com/availproject/avail/releases/download/v1.10.0.0/x86_64-ubuntu-2204-data-avail.tar.gz && tar -xvf x86_64-ubuntu-2204-data-avail.tar.gz
rm -rf x86_64-ubuntu-2204-data-avail.tar.gz
mv data-avail /usr/bin/avail

avail --version

We’re now going to create a service file. Remember to replace the “name” parameter with your validator name, substituting “YOUR_VALIDATOR_NAME” with the actual name of your validator:

sudo tee /etc/systemd/system/avail.service > /dev/null <<EOF
[Unit]
Description=AvailNode
After=network-online.target

[Service]
User=$USER
ExecStart=$(which avail) -d /home/avail/data --chain goldberg --validator --name YOUR_VALIDATOR_NAME
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Let’s proceed with initiating the service file:

sudo systemctl daemon-reload
sudo systemctl enable avail
sudo systemctl restart avail

Now, we will check the status of the service and monitor the synchronization process:

sudo journalctl -u avail -f -o cat

The output will look something like this:

We need to verify our node on the telemetry page. Currently, as my node is in the process of synchronizing, it appears in grey. Once synchronization is finished, it will display in white, including details on block time and block propagation time. For me, the synchronization process took around 48 hours:

Once the node has completed synchronization, execute the following command to retrieve the id:

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

The output will appear like this → {“jsonrpc”:”2.0",”result”:”0x……………”,”id”:1}

Note that our id begins with “0x”. Remember to save it, as it will be necessary for later use.

Part 5: Creating an account

To set up an account, we must visit this website, navigate to the “Accounts” tab and select “Add Account”:

Create a new account and don’t forget to save the seed phrase:

Now, enter a name for the account and a strong password. Then, a json file will be downloaded, make sure to save that as well:

Next, copy your wallet address and join the official Avail Discord Server.
To access the Testnet faucet, you need to go to https://passport-verifier.avail.tools/ and link your Gitcoin Passport with a score exceeding 20. While some may find it easy to achieve this score, it can be challenging, especially if you’re not an keen social media user. Additionally, if you’re reluctant to share your government documents with less-known companies or prefer not to purchase GTC tokens to boost their ecosystem artificially, attaining this score might not be so easy. Also, I believe that requiring Gitcoin Passport verification just to obtain Testnet tokens is a bit excessive, but if you still decide to do so, you need to get the “Passport Verified” role on Discord, head over to the #goldberg-faucet channel and type the command:

/deposit “your address”

After a while, you will receive tokens in your wallet. Next, go to the staking tab and click on the stash icon.

Now, input the amount you wish to bond, click “bond”, and complete the process by selecting “Sign and submit”:

After that, you’ll have the opportunity to input the Session Key. Enter the id you received following the node’s synchronization and click “Set Session Key”.

If you manage to accumulate at least 999 AVL (perhaps by claiming 5 Testnet tokens daily or requesting assistance from the team), you can proceed by pressing the validator button. Here, specify the amount of AVL to bond and click “next”. Then, re-enter your session key, set the reward commission percentage, enable nominations, and conclude the process by selecting “Bond & Validate”.

Given that all 290 validator positions are currently filled, you would need to wait until some cease operating. Your turn will come after the node operators who are already in queue (currently 13) secure their spots.

If you encounter any issues, I recommend consulting the official documentation first. If you still need assistance, you can have a look at the “FAQ” channel on the official Discord server. Alternatively, you’re always welcome to reach out to me directly for assistance.

Hey everyone, I’m excited to share that I’ve partnered with Dotcom Canvas, a standout German brand known for its exquisite crypto-themed wall art. Their acrylic glass pieces are particularly impressive.

Discover their unique collection via my affiliate link. For a special treat, use the code CRYPTOTRIBE at checkout to get a 15% discount. To see these art pieces in their full glory, take a peek at this promotional video. It’s a great way to visualize how they could elevate your space.

Let’s enjoy some awesome crypto art together!

Disclosure: By using my affiliate link for purchases, I receive a commission.

About me

Hi! I’m ilaNihas, a big football fan (or soccer, if you prefer). After 13 years in IT, I paused my career to explore crypto, blockchain, and Web3. I’m fascinated by the potential and constantly searching for interesting projects, airdrops, and new nodes to explore. Join me as I combine my passions for sports, writing, and tech. Let’s dive into the world of crypto and blockchain together!

Thanks for reading! Please share your feedback in a comment and follow me on my socials if you enjoyed the article. I’ve also set up a Discord community where we can get together and have discussions about interesting crypto-related topics. You’re welcome to join us and be part of the conversation → https://discord.gg/zN4dH35JJZ

Disclaimer

Please note that the content provided on this blog is intended solely for educational, informational, and entertainment purposes and should not be considered as financial advice. In summary, always do your own research, evaluate the information critically, and seek professional advice when necessary. Stay informed, exercise caution, and make well-informed decisions based on your own unique circumstances.

--

--

ilaNihas 🌍

Crypto reptile | Join us on this ride through the cryptoverse, as we explore the strangest corners of the blockchain -> https://discord.gg/zN4dH35JJZ