Documentation Index Fetch the complete documentation index at: https://mintlify.com/availproject/avail/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This guide will help you quickly set up and run an Avail node using Docker or from pre-built binaries. Choose the method that best fits your environment.
Prerequisites
Before you begin, ensure you have one of the following:
Docker or Podman installed
OR sufficient disk space (minimum 20GB recommended) for building from source
Option 1: Run with Docker (recommended)
The fastest way to get started is using Docker:
Build the Docker image
Clone the repository and build the Avail Node Docker image: git clone https://github.com/availproject/avail.git
cd avail
docker build -t availnode -f ./dockerfiles/avail-node.Dockerfile .
This process will take several minutes as it compiles the node from source.
Create a data directory
Create a directory to persist blockchain data:
Run the node
Start the Avail Node connected to the Turing testnet: Standard
SELinux
Development mode
docker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output availnode
The SELinux variant is required on Fedora, RHEL, and other SELinux-enabled systems.
Option 2: Run from pre-built binary
Avail provides GPG-signed release binaries for Linux systems.
Download the binary
Download the latest release from GitHub Releases : # Replace X.Y.Z with the desired version
VERSION = "vX.Y.Z"
wget https://github.com/availproject/avail/releases/download/ $VERSION /avail-node-linux-amd64.tar.gz
wget https://github.com/availproject/avail/releases/download/ $VERSION /avail-node-linux-amd64.tar.gz.sig
wget https://github.com/availproject/avail/releases/download/ $VERSION /gpg-public-key.asc
Verify the signature
Import the GPG key and verify the binary signature: # Import the public key
gpg --import gpg-public-key.asc
# Verify the signature
gpg --verify avail-node-linux-amd64.tar.gz.sig avail-node-linux-amd64.tar.gz
You should see a message indicating a “Good signature” from the Avail Project release key.
Extract and run
Extract the binary and start the node: tar -xzf avail-node-linux-amd64.tar.gz
chmod +x avail-node
mkdir -p output
./avail-node --chain mainnet -d ./output
Option 3: Build from source
For the latest features or custom builds:
Install dependencies
Install Rust and Substrate dependencies: # Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME /.cargo/env
# Install system dependencies (Ubuntu/Debian)
sudo apt update
sudo apt install -y build-essential git clang curl libssl-dev llvm libudev-dev make cmake protobuf-compiler
See the installation guide for other operating systems.
Clone and build
Clone the repository and build the release binary: git clone https://github.com/availproject/avail.git
cd avail
mkdir -p output
cargo run --locked --release -- --chain mainnet -d ./output
The first build will take 20-30 minutes depending on your hardware.
Verify your node is running
Once started, you should see output similar to:
2025-03-05 11:39:57 Avail Node
2025-03-05 11:39:57 ✌️ version 2.3.0-6c6b8912fd3
2025-03-05 11:39:57 ❤️ by Avail Project <info@availproject.org>, 2017-2025
2025-03-05 11:39:57 📋 Chain specification: Avail Development Network
2025-03-05 11:39:57 🏷 Node name: spotty-ducks-6306
2025-03-05 11:39:57 👤 Role: AUTHORITY
2025-03-05 11:39:59 🏷 Local node identity is: 12D3KooWDCNjiaVbFL4BGYkbkxHwqJjhDNAxvBuxNdCAB4HDuYjA
2025-03-05 11:39:59 〽️ Prometheus exporter started at 127.0.0.1:9615
2025-03-05 11:39:59 Running JSON-RPC server: addr=127.0.0.1:9944, allowed origins=["*"]
Check node health
You can verify your node is healthy using these methods:
RPC endpoint
Prometheus metrics
curl -H "Content-Type: application/json" \
-d '{"id":1, "jsonrpc":"2.0", "method": "system_health"}' \
http://localhost:9944
Network selection
Connect to different Avail networks by changing the --chain flag:
Mainnet
Testnet (Turing)
Development
./avail-node --chain mainnet -d ./output
Enable Kate RPC
To enable Kate RPC for data availability queries, add the --enable-kate-rpc flag:
./avail-node --chain mainnet --enable-kate-rpc -d ./output
The --dev flag automatically enables Kate RPC.
Common configuration options
Customize your node with these frequently used flags:
Flag Description Example --nameHuman-readable node name --name "MyAvailNode"--rpc-portJSON-RPC server port --rpc-port 9944--portP2P networking port --port 30333--prometheus-portPrometheus metrics port --prometheus-port 9615--validatorEnable validator mode --validator--rpc-corsSet CORS for RPC --rpc-cors=all
Never use --unsafe-rpc-external or --rpc-methods=unsafe on a public node. These options expose dangerous RPC methods that can compromise your node.
Resource requirements
Ensure your system meets these minimum requirements:
CPU : 4+ cores recommended
RAM : 8GB minimum, 16GB recommended
Disk : 200GB+ SSD (grows over time)
Network : Stable broadband connection
The node displays hardware benchmarks on startup:
2025-03-05 11:39:59 🏁 CPU score: 1.36 GiBs
2025-03-05 11:39:59 🏁 Memory score: 22.37 GiBs
2025-03-05 11:39:59 🏁 Disk score (seq. writes): 6.14 GiBs
2025-03-05 11:39:59 🏁 Disk score (rand. writes): 2.85 GiBs
Next steps
Installation guide Learn about detailed installation for different platforms
Configuration Explore advanced node configuration options
Validator setup Run your node as a validator
Monitoring Set up Prometheus and Grafana monitoring
Troubleshooting
Node won’t start
Check that ports 9944 and 30333 are not already in use:
sudo lsof -i :9944
sudo lsof -i :30333
Slow synchronization
Increase peer connections or add bootnodes:
./avail-node --chain mainnet --out-peers 25 --in-peers 50
Database corruption
If you encounter database errors, try purging the chain data:
./avail-node purge-chain --chain mainnet -d ./output
Purging the chain will delete all local blockchain data and require a full resync.