This documentation under development by nodex.one team! πŸ‘·β€β™‚οΈπŸ‘‹
Networks
Testnet
βš”οΈ Install

Manual Installation

Let's explore the manual installation process as we set up a node with ❀️

Install Dependencies

Update system package and install build tools
sudo apt -q update
sudo apt -qy install make clang pkg-config libssl-dev fail2ban ufw
sudo apt -qy upgrade

Secure Setup

πŸ“’

This step is optional, and you can choose to skip ahead to configure directory.

Setup ssh for avail user replace YOUR_PUBLIC_SSH_KEY with your own!
sudo adduser avail --disabled-password -q
sudo usermod -aG sudo avail
sudo -u avail bash -c 'mkdir -p ~/.ssh && echo "YOUR_PUBLIC_SSH_KEY" >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys'

Configure Directory

Crate a user directory for avail data
mkdir -p $HOME/availnode/data

Download Binaries

Download and extract avail binary
curl -L https://github.com/availproject/avail/releases/download/v1.10.0.0/x86_64-ubuntu-2204-data-avail.tar.gz | sudo tar -xvzf - -C /usr/local/bin && sudo mv /usr/local/bin/data-avail /usr/local/bin/availnode

Create Service

Remember to change YOUR-VALIDATOR-NAME with your own!

Create avail systemd service
sudo tee /etc/systemd/system/avail.service > /dev/null << EOF
[Unit]
Description=Avail Node
After=network.target
StartLimitIntervalSec=0
 
[Service]
User=$USER
Type=simple
Restart=always
RestartSec=120
ExecStart=$(which availnode) --base-path $HOME/availnode/data --chain goldberg --port 30333 --validator --name "YOUR-VALIDATOR-NAME" --telemetry-url "wss://telemetry.polkadot.io/submit/ 0"
 
[Install]
WantedBy=multi-user.target
EOF

Enable Service

Enable avail systemd service
sudo systemctl daemon-reload
sudo systemctl enable avail

Start Service

Letss f*cking goooo!
sudo systemctl start && journalctl -fu avail -o cat 

Once the node is started and you see a similar log below, it means your node is running and waiting to be synchronised to the network!

2023-06-03 20:36:29 Avail Node
2023-06-03 20:36:29 ✌️  version 1.6.0-99b85257d6b
2023-06-03 20:36:29 ❀️  by Anonymous, 2017-2023
2023-06-03 20:36:29 πŸ“‹ Chain specification: Avail Kate Testnet
2023-06-03 20:36:29 🏷  Node name: bewildered-distance-1229
2023-06-03 20:36:29 πŸ‘€ Role:Authority
2023-06-03 20:36:29 πŸ’Ύ Database: RocksDb at /Users/thunder/code/avail/data/chains/Avail Testnet_6831251e-0222-11ee-a2c3-c90377335962/db/full
2023-06-03 20:36:29 β›“  Native runtime: data-avail-9 (data-avail-0.tx1.au11)
2023-06-03 20:36:35 πŸ‘Ά Creating empty BABE epoch changes on what appears to be first startup.
2023-06-03 20:36:35 🏷  Local node identity is: 12D3KooWPt7odw3aeq7azZDugXjNuUvQNPU58n1VRBzY1YBqsjkr
2023-06-03 20:36:35 Prometheus metrics extended with avail metrics
2023-06-03 20:36:35 πŸ’» Operating system: macos
2023-06-03 20:36:35 πŸ’» CPU architecture: aarch64
2023-06-03 20:36:35 πŸ“¦ Highest known block at #0
2023-06-03 20:36:35 〽️ Prometheus exporter started at 127.0.0.1:9615
2023-06-03 20:36:35 Running JSON-RPC HTTP server: addr=127.0.0.1:9933, allowed origins=["http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://polkadot.js.org"]
2023-06-03 20:36:35 Running JSON-RPC WS server: addr=127.0.0.1:9944, allowed origins=["http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://polkadot.js.org"]
2023-06-03 20:36:35 🏁 CPU score: 724.71 MiBs
2023-06-03 20:36:35 🏁 Memory score: 41.49 GiBs
2023-06-03 20:36:35 🏁 Disk score (seq. writes): 1.91 GiBs
2023-06-03 20:36:35 🏁 Disk score (rand. writes): 454.66 MiBs