Introduction:
In the ever-evolving world of blockchain technology, running a full node and a validator node is a significant step towards deepening one’s engagement with a specific network. In the context of the Avail network, this involvement is not just about contributing to network stability and security but also about participating in a unique ecosystem that promises innovation and growth.
Running an Avail full node and validator node offers you the opportunity to be at the forefront of this dynamic environment, contributing to its resilience and benefiting from its advancements. This guide will explore and take you through key steps, requirements, and benefits of running an Avail full node and validator node, providing a clear path for those ready to embark on this exciting journey.
System Requirements:
RAM: 8GB (Recommended) CPU: 4 Core Storage(SSD): 200–300 GB
Setting up the Environment:
sudo dnf update
sudo dnf install -y gcc gcc-c++ make clang openssl-devel libudev-devel protobuf-compiler.x86_64
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
rustup update nightly
rustup target add wasm32-unknown-unknown - toolchain nightly
rustc - version
Binary Installation:
Clone the Full Node repo:
git clone <https://github.com/availproject/avail.git>
Installation:
cd avail
git checkout v1.8.0.3
export SKIP_WASM_BUILD=1
cargo build --release -p data-avail
When the installation is complete the binary will be at this location: target/release/data-avail
. Move it to a location which is accessible from the CLI, e.g. /usr/local/bin/
sudo mv target/release/data-avail /usr/local/bin/
Create data directory:
Now we need a data directory to story the chain history.
mkdir $HOME/avail-dataDir
Start a Full Node or Validator Node :
A full node contains the blockchain data and helps in transactions, while a validator node participates in consensus as well.
Start a full node on goldberg
chain:
data-avail -d $HOME/avail-data-dir --chain goldberg --name YourNodeName
Starting a Validator node:
data-avail -d $HOME/avail-data-dir --validator --chain goldberg --name YourNodeName
Once started it will sync to the latest block. You can use this link to view your node on telemetry tools provided by Avail.
Create systemd service file:
If you use the above command the service will stop if it is interrupted. So, to make it permanent and keep running in the background we will create and run a systemd service file.
sudo tee <<EOF >/dev/null /etc/systemd/system/availd.service
[Unit]
Description=Avail daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which data-avail) -d $HOME/avail-data-dir --chain goldberg --name YourNodeName
Restart=on-failure RestartSec=3 LimitNOFILE=4096 [Install] WantedBy=multi-user.target EOF
Start the service:
sudo systemctl daemon-reload sudo systemctl enable availd.service sudo systemctl start availd.service
Benefits of Running Avail Node and Validator Node:
Running an Avail full node and a validator node offers several benefits, both to the individual operator and the broader network. Here are some of the key advantages:
- Supporting Network Integrity and Security
- Earning Rewards
- Increased Trust and Autonomy
- Gaining Technical Expertise
- Community Participation and Influence
- Network Performance Optimization
- Contribution to Ecosystem Growth
- Potential for Increased Network Value
Conclusion:
Embarking on the journey of running an Avail full node and validator node is a commitment to the network’s health and a testament to your role in the broader blockchain community. By following the steps outlined, you are now equipped to contribute significantly to the Avail network’s performance and security. Remember, running these nodes goes beyond the technical setup; it’s about being part of an ecosystem that values decentralization, security, and innovation.
As you continue to maintain and optimize your nodes, stay engaged with the community, keep abreast of the latest updates, and contribute to the network’s evolution.
Your participation is not just a service to the network but a step towards a more interconnected and robust blockchain future.