> For the complete documentation index, see [llms.txt](https://jackieluong.gitbook.io/untitled/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jackieluong.gitbook.io/untitled/avail.md).

# ✨Avail

## Install-Avail-Full-Node

## This is a guide for installing Avail Node on Ubuntu 22.04.

Video: <https://youtu.be/HYBzK-jJIeQ>

***

1.\*\* Install Rust\*\*

```
sudo apt-get update
sudo apt install build-essential
sudo apt install --assume-yes git clang curl libssl-dev protobuf-compiler
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup default stable
rustup update
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
```

2.**After ensuring you have Rust installed, you can run the Avail Node using the following command:**

```
git clone https://github.com/availproject/avail.git
cd avail
mkdir -p output
mkdir -p data
git checkout v1.8.0.2
cargo run --locked --release -- --chain goldberg -d ./output
```

\*\*This command complies and runs the Avail Node connected to the Kate Network. \*\*

```
2023-10-11 16:11:31 Avail Node    
2023-10-11 16:11:31 ✌️  version 1.7.0-ad024ff050e    
2023-10-11 16:11:31 ❤️  by Anonymous, 2017-2023    
2023-10-11 16:11:31 📋 Chain specification: Avail Kate Testnet    
2023-10-11 16:11:31 🏷  Node name: decorous-trade-0251    
2023-10-11 16:11:31 👤 Role: FULL    
2023-10-11 16:11:31 💾 Database: RocksDb at /tmp/substrateJwM8xd/chains/Avail Testnet_116d7474-0481-11ee-bc2a-7bfc086be54e/db/full    
2023-10-11 16:11:32 🔨 Initializing Genesis block/state (state: 0x6bc8…8ac6, header-hash: 0xd120…50c6)    
2023-10-11 16:11:32 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.    
2023-10-11 16:11:33 👶 Creating empty BABE epoch changes on what appears to be first startup.    
2023-10-11 16:11:33 🏷  Local node identity is: 12D3KooWMmY2QLodvBGSiP1Cg9ysWrPSMN19qK3w35mRnUhq6pMX    
2023-10-11 16:11:33 Prometheus metrics extended with avail metrics    
2023-10-11 16:11:33 💻 Operating system: linux    
2023-10-11 16:11:33 💻 CPU architecture: x86_64    
2023-10-11 16:11:33 💻 Target environment: gnu    
2023-10-11 16:11:33 💻 CPU: 13th Gen Intel(R) Core(TM) i7-13700K    
2023-10-11 16:11:33 💻 CPU cores: 16    
2023-10-11 16:11:33 💻 Memory: 31863MB    
2023-10-11 16:11:33 💻 Kernel: 6.5.5-100.fc37.x86_64    
2023-10-11 16:11:33 💻 Linux distribution: Fedora Linux 37 (Workstation Edition)    
2023-10-11 16:11:33 💻 Virtual machine: no    
2023-10-11 16:11:33 📦 Highest known block at #0    
2023-10-11 16:11:33 〽️ Prometheus exporter started at 127.0.0.1:9615    
2023-10-11 16:11:33 Running JSON-RPC 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-10-11 16:11:33 🏁 CPU score: 1.65 GiBs    
2023-10-11 16:11:33 🏁 Memory score: 19.49 GiBs    
2023-10-11 16:11:33 🏁 Disk score (seq. writes): 6.74 GiBs    
2023-10-11 16:11:33 🏁 Disk score (rand. writes): 2.65 GiBs    
2023-10-11 16:11:33 🔍 Discovered new external address for our node: /ip4/176.61.156.176/tcp/30333/ws/p2p/12D3KooWMmY2QLodvBGSiP1Cg9ysWrPSMN19qK3w35mRnUhq6pMX    
2023-10-11 16:11:34 [811] 💸 generated 9 npos targets    
2023-10-11 16:11:34 [811] 💸 generated 9 npos voters, 9 from validators and 0 nominators    
2023-10-11 16:11:34 [#811] 🗳  creating a snapshot with metadata SolutionOrSnapshotSize { voters: 9, targets: 9 }    
2023-10-11 16:11:34 [#811] 🗳  Starting phase Signed, round 1.
```

\*\* Press Ctrl + A + D to exit the screen \*\*

3. **Create Systemd**

```
touch /etc/systemd/system/availd.service
nano /etc/systemd/system/availd.service
```

**Change your Validator name and copy/paste it**

```
[Unit] 
Description=Avail Validator
After=network.target
StartLimitIntervalSec=0
[Service] 
User=root 
ExecStart= /root/avail/target/release/data-avail -d ./output --chain goldberg --validator --name "Dinhcongtac221"
Restart=always 
RestartSec=120
[Install] 
WantedBy=multi-user.target

```

**Save it: CTRL+X** .

P/s: My username is root what I used to login my Vps.

data-avail file in this directory.

[![image](https://private-user-images.githubusercontent.com/27664184/276493282-1b1a15bb-edbf-44be-ba44-669a2cc90273.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDEwMTI0MDYsIm5iZiI6MTcwMTAxMjEwNiwicGF0aCI6Ii8yNzY2NDE4NC8yNzY0OTMyODItMWIxYTE1YmItZWRiZi00NGJlLWJhNDQtNjY5YTJjYzkwMjczLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMTI2VDE1MjE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIyYzM5NDJmOGVhMzI4ZmQyYjE5NzVjODAxMjQyMzhiMzZjZGRiMjA5MjcwNTlmYmZhYjk3NWI0NzdlNWRmZWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.jU30uktY1ucQ1dcxkxZhZJwL9FRHX7msq_afvWWic94)](https://private-user-images.githubusercontent.com/27664184/276493282-1b1a15bb-edbf-44be-ba44-669a2cc90273.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDEwMTI0MDYsIm5iZiI6MTcwMTAxMjEwNiwicGF0aCI6Ii8yNzY2NDE4NC8yNzY0OTMyODItMWIxYTE1YmItZWRiZi00NGJlLWJhNDQtNjY5YTJjYzkwMjczLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMTI2VDE1MjE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIyYzM5NDJmOGVhMzI4ZmQyYjE5NzVjODAxMjQyMzhiMzZjZGRiMjA5MjcwNTlmYmZhYjk3NWI0NzdlNWRmZWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.jU30uktY1ucQ1dcxkxZhZJwL9FRHX7msq_afvWWic94)

**To enable this to autostart on bootup run:**

`systemctl enable availd.service`

Start it manually with:

`systemctl start availd.service`

You can check that it's working with:

`systemctl status availd.service`

You can tail the logs with journalctllike so:

`journalctl -f -u availd`

Check your node on [https://telemetry.avail.tools](https://telemetry.avail.tools/)&#x20;

[![image](https://private-user-images.githubusercontent.com/27664184/275310578-c70aaf66-ccbc-485e-ae9e-c09674425772.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDEwMTI0MDYsIm5iZiI6MTcwMTAxMjEwNiwicGF0aCI6Ii8yNzY2NDE4NC8yNzUzMTA1NzgtYzcwYWFmNjYtY2NiYy00ODVlLWFlOWUtYzA5Njc0NDI1NzcyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMTI2VDE1MjE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNjYWRhYThhZGIzNjBiZGE3N2VkZDZkZDBlNzBiOWVlYjlhOGQzNTY3MmNmMjVkNDI1OTM5ODUxMmFhMmQ1NzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.RMhdN88W-VvZHV1NI5ptCvQfWecR6yb6SXr15qWySL0)](https://private-user-images.githubusercontent.com/27664184/275310578-c70aaf66-ccbc-485e-ae9e-c09674425772.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDEwMTI0MDYsIm5iZiI6MTcwMTAxMjEwNiwicGF0aCI6Ii8yNzY2NDE4NC8yNzUzMTA1NzgtYzcwYWFmNjYtY2NiYy00ODVlLWFlOWUtYzA5Njc0NDI1NzcyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMTI2VDE1MjE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNjYWRhYThhZGIzNjBiZGE3N2VkZDZkZDBlNzBiOWVlYjlhOGQzNTY3MmNmMjVkNDI1OTM5ODUxMmFhMmQ1NzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.RMhdN88W-VvZHV1NI5ptCvQfWecR6yb6SXr15qWySL0)

## \*\* Guide Update Kate to GoldBerg\*\*

**run commands**

```
sudo systemctl stop availd.service

cd
cd avail
```

```
git pull
```

```
git checkout
```

```
git checkout v1.8.0.2
```

```
cargo run --locked --release -- --chain goldberg -d ./output

```

**Open availd.service and Change --chain Kate to -- Chain Goldberg**

```
sudo nano /etc/systemd/system/availd.service
```

```
[Unit] 
Description=Avail Validator
After=network.target
StartLimitIntervalSec=0
[Service] 
User=root 
ExecStart= /root/avail/target/release/data-avail -d ./output --chain goldberg --validator --name "Dinhcongtac221"
Restart=always 
RestartSec=120
[Install] 
WantedBy=multi-user.target

```

Ctrl+ O to save it, Ctrl+ X to exit.

&#x20;[![image](https://private-user-images.githubusercontent.com/27664184/282862498-0ebe57f8-2e4d-404c-9c69-c33e71a2491e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDEwMTI0MDYsIm5iZiI6MTcwMTAxMjEwNiwicGF0aCI6Ii8yNzY2NDE4NC8yODI4NjI0OTgtMGViZTU3ZjgtMmU0ZC00MDRjLTljNjktYzMzZTcxYTI0OTFlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMTI2VDE1MjE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY4N2JmZDUyYWI0NDI3MWEzYTFiOTFmZjEwNTExOWEyYjRjZDdmNWZhMzIzNTc0NGIxMGI5ZTc2NzQwYjBiM2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.o3uKcRAQruul3IOofngheLt6KDXSv2xGpViyCnZC4EE)](https://private-user-images.githubusercontent.com/27664184/282862498-0ebe57f8-2e4d-404c-9c69-c33e71a2491e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDEwMTI0MDYsIm5iZiI6MTcwMTAxMjEwNiwicGF0aCI6Ii8yNzY2NDE4NC8yODI4NjI0OTgtMGViZTU3ZjgtMmU0ZC00MDRjLTljNjktYzMzZTcxYTI0OTFlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMTI2VDE1MjE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY4N2JmZDUyYWI0NDI3MWEzYTFiOTFmZjEwNTExOWEyYjRjZDdmNWZhMzIzNTc0NGIxMGI5ZTc2NzQwYjBiM2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.o3uKcRAQruul3IOofngheLt6KDXSv2xGpViyCnZC4EE)

**restart availd.service**

```
sudo systemctl daemon-reload
sudo systemctl enable availd.service 
sudo service availd start
systemctl status availd.service
```

***

## \*\* Guide Update Kate to GoldBerg by Docker\*\*

you could try to Find container Id

```
docker ps -a
```

Stop the node

```
docker stop <YOUR CONTAINER ID here>
```

Change DA\_NAME=goldberg-docker-avail-Node to your node name and run again

```
cd /mnt/avail
sudo docker run -v $(pwd)/state:/da/state:rw -v $(pwd)/keystore:/da/keystore:rw -e DA_CHAIN=goldberg -e DA_NAME=goldberg-docker-avail-Node -p 0.0.0.0:30333:30333 -p 9615:9615 -p 9944:9944 -d --restart unless-stopped availj/avail:v1.8.0.2
```

***

## \*\* Guide Update Kate to GoldBerg by pre-build\*\*

Run Commands

```
sudo systemctl stop availd.service 
cd /root/avail-node/
rm data-avail-linux-amd64
rm data-avail-linux-amd64.tar.gz
wget https://github.com/availproject/avail/releases/download/v1.8.0.2/data-avail-linux-amd64.tar.gz
tar xvzf data-avail-linux-amd64.tar.gz
```

Open file Systemd and edit to --chain goldberg

```
nano /etc/systemd/system/availd.service
```

```
[Unit]
Description=Avail Validator
After=network.target
StartLimitIntervalSec=0

[Service]
User=root
Type=simple
Restart=always
RestartSec=120
ExecStart=/root/avail-node/data-avail-linux-amd64 -d ./output --chain goldberg --port 30333 --validator --name "dinhcongac221"

[Install]
WantedBy=multi-user.target
```

CTRL +o to save . Ctrl +X to exit

restart systemd file again

```
sudo systemctl daemon-reload
sudo systemctl enable availd.service
sudo systemctl restart availd.service
sudo systemctl status availd.service
```
