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