-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 67e109e
Showing
39 changed files
with
7,335 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
<p style="font-size:14px" align="right"> | ||
<a href="https://t.me/quadro_network" target="_blank">Join our telegram <img src="https://user-images.githubusercontent.com/50621007/183283867-56b4d69f-bc6e-4939-b00a-72aa019d1aea.png" width="30"/></a> | ||
<a href="https://discord.com/users/1225408886966714388" target="_blank">Join our discord <img src="https://user-images.githubusercontent.com/50621007/176236430-53b0f4de-41ff-41f7-92a1-4233890a90c8.png" width="30"/></a> | ||
<a href="https://quadro.network/" target="_blank">Visit our website <img src="https://assets.quadro.network/img/icon_min.png" width="30"/></a> | ||
</p> | ||
<p align="center"> | ||
<img height="100" height="auto" src="https://assets.quadro.network/img/1.png"> | ||
</p> | ||
|
||
# Avail Light Client - Goldberg network | ||
|
||
Official documentation: | ||
>- https://github.com/availproject/avail | ||
Explorer: | ||
>- https://telemetry.avail.tools | ||
>- https://kate.avail.tools/ | ||
Fill form for Avail Light client: | ||
>- https://docs.google.com/forms/d/e/1FAIpQLSeL6aXqz6vBbYEgD1cZKaQ4vwbN2o3Rxys-wKTuKySVR-oS8g/viewform | ||
## Recommended Hardware Requirements | ||
Minimum | ||
>- 4GB RAM | ||
>- 2core CPU (amd64/x86 architecture) | ||
>- 20-40 GB Storage (SSD) | ||
Recommended | ||
>- 8GB RAM | ||
>- 4core CPU (amd64/x86 architecture) | ||
>- 200-300 GB Storage (SSD) | ||
## Set up your Avail Light Node | ||
### Option 1 (automatic) | ||
You can setup your avail light node in few minutes by using automated script below. | ||
``` | ||
wget -O avail-light.sh https://raw.githubusercontent.com/thenhthang/Quadro/main/Avail/avail-light.sh && chmod +x avail-light.sh && ./avail-light.sh | ||
``` | ||
|
||
### Option 2 (manual) | ||
## Update packages | ||
``` | ||
sudo apt update && sudo apt upgrade -y | ||
``` | ||
## Install dependencies | ||
``` | ||
sudo apt install curl tar wget clang pkg-config protobuf-compiler libssl-dev jq build-essential protobuf-compiler bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y | ||
``` | ||
## Install Rust | ||
``` | ||
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 | ||
``` | ||
## Download and build binaries | ||
``` | ||
git clone https://github.com/availproject/avail-light.git | ||
cd avail-light | ||
wget -O config.yaml https://raw.githubusercontent.com/thenhthang/Quadro/main/Avail/config.yaml | ||
git checkout v1.7.4 | ||
cargo build --release | ||
cp -r target/release/avail-light /usr/local/bin | ||
``` | ||
## Create service | ||
``` | ||
sudo tee /etc/systemd/system/availightd.service > /dev/null <<EOF | ||
[Unit] | ||
Description=Avail Light Client | ||
After=network-online.target | ||
[Service] | ||
User=$USER | ||
ExecStart=$(which avail-light) --network goldberg | ||
Restart=on-failure | ||
RestartSec=3 | ||
LimitNOFILE=65535 | ||
[Install] | ||
WantedBy=multi-user.target | ||
EOF | ||
``` | ||
## Register and start service | ||
``` | ||
sudo systemctl daemon-reload | ||
sudo systemctl enable availightd | ||
sudo systemctl restart availightd | ||
``` | ||
## Logs and Monitor | ||
### View the logs from the running service: | ||
``` | ||
journalctl -f -u availightd.service | ||
``` | ||
### Stop node | ||
``` | ||
sudo systemctl stop availightd | ||
``` | ||
### Fetching the number of the latest block processed by light client | ||
``` | ||
curl "http://localhost:7000/v1/latest_block" | ||
``` | ||
### Fetching the confidence for given block | ||
``` | ||
curl "http://localhost:7000/v1/confidence/1" | ||
``` | ||
### Fetching decoded application data for given block | ||
``` | ||
curl "http://localhost:7000/v1/appdata/1?decode=true" | ||
``` | ||
### Get the status of a latest block | ||
``` | ||
curl "localhost:7000/v1/status" | ||
``` | ||
### Get the latest block | ||
``` | ||
curl "localhost:7000/v1/latest_block" | ||
``` | ||
### Health check | ||
``` | ||
curl -I "localhost:7000/health" | ||
``` | ||
### More | ||
>- https://github.com/availproject/avail-light#configuration-reference |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
## Step 1: Run a Node | ||
Full node: https://github.com/thenhthang/Quadro/blob/main/Avail/README.md | ||
|
||
Light node: | ||
https://github.com/thenhthang/Quadro/blob/main/Avail/AVAILIGHT.md | ||
|
||
## Step 2: Create account & Set Identity | ||
- Create account | ||
|
||
Go to https://goldberg.avail.tools/#/accounts | ||
<img width="1440" alt="image" src="https://github.com/thenhthang/Quadro/assets/16117878/ebf6ebd9-f81b-414a-8b1e-bffae9629f11"> | ||
- Set identity | ||
|
||
You need 10 AVAIL tokens for identification, faucet on discord | ||
<img width="1437" alt="image" src="https://github.com/thenhthang/Quadro/assets/16117878/b7ad0b47-08fc-48d7-af73-e09426e7190c"> | ||
Fill in all information and confirm | ||
<img width="900" alt="image" src="https://github.com/thenhthang/Quadro/assets/16117878/1c3a5b40-d052-49be-b9b4-972d240f1157"> | ||
|
||
If you run a Full node, continue step 3 | ||
|
||
More info clash of node: https://docs.availproject.org/clash-of-nodes/challenges/ | ||
|
||
## Step 3: Controll your full node | ||
Official documentation: https://docs.availproject.org/operate/validator/staking | ||
|
||
- Create Stash | ||
<img width="1440" alt="image" src="https://github.com/thenhthang/Quadro/assets/16117878/20a11727-8b4f-43e9-89e1-785206188e03"> | ||
<img width="1085" alt="image" src="https://github.com/thenhthang/Quadro/assets/16117878/793db9cb-1c13-4c39-9582-6e43cb4aca7a"> | ||
- Submit seesion keys | ||
|
||
**After your node is fully synced, you'll need to rotate and submit your session keys.** | ||
|
||
Make sure your node is fully synchronized to continue | ||
|
||
get hex-encoded, run command on your machine | ||
|
||
``` | ||
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9944 | ||
``` | ||
Restart your node | ||
``` | ||
sudo systemctl restart availd | ||
``` | ||
Navigate back to the Staking tab. | ||
|
||
Click on **Set Session Key** and enter the hex-encoded result. | ||
|
||
Click **Set Session Key** and enter your password when prompted. | ||
|
||
 | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
<p style="font-size:14px" align="right"> | ||
<a href="https://t.me/Quadro" target="_blank">Join our telegram <img src="https://user-images.githubusercontent.com/50621007/183283867-56b4d69f-bc6e-4939-b00a-72aa019d1aea.png" width="30"/></a> | ||
<a href="https://discord.gg/dvNSrwyU" target="_blank">Join our discord <img src="https://user-images.githubusercontent.com/50621007/176236430-53b0f4de-41ff-41f7-92a1-4233890a90c8.png" width="30"/></a> | ||
<a href="https://Quadro.com" target="_blank">Visit our website <img src="https://github.com/thenhthang/Quadro/blob/main/content/logo.jpg?raw=true" width="30"/></a> | ||
</p> | ||
<p align="center"> | ||
<img height="100" height="auto" src="https://github.com/thenhthang/Quadro/blob/main/content/avail.png?raw=true"> | ||
</p> | ||
|
||
# Avial Full node | ||
|
||
Official documentation: | ||
>- https://docs.availproject.org/ | ||
>- https://github.com/availproject/avail | ||
Explorer: | ||
>- https://telemetry.avail.tools | ||
>- https://goldberg.avail.tools | ||
>- LeaderBoard: | ||
>- https://leaderboard.availproject.org | ||
>- Fill form for validator test: | ||
>- https://docs.google.com/forms/d/e/1FAIpQLScvgXjSUmwPpUxf1s-MR2C2o5V79TSoud1dLPKVgeLiLFuyGQ/viewform | ||
## Hardware Requirements | ||
Minimum | ||
>- 4GB RAM | ||
>- 2core CPU (amd64/x86 architecture) | ||
>- 20-40 GB Storage (SSD) | ||
Recommended | ||
>- 8GB RAM | ||
>- 4core CPU (amd64/x86 architecture) | ||
>- 200-300 GB Storage (SSD) | ||
```diff | ||
- While Avail is currently in its testnet phase, running validator nodes requires significant system administration expertise. | ||
``` | ||
| Network | Version | Current | Last modified | | ||
|---------------|-------------|-------------|-------------| | ||
| **Kate Testnet** | v1.7.2 | No | | | ||
| **Goldberg Testnet** | 1.11.0.0 | Yes | 2024/02/20 | | ||
``` | ||
Ports used: 30333 | ||
``` | ||
## Step 1: Set up your Avail Node | ||
### Option 1 (automatic) | ||
You can setup your avail validator in few minutes by using automated script below. It will prompt you to input your validator node name! | ||
``` | ||
wget -O avail-auto.sh https://raw.githubusercontent.com/thenhthang/Quadro/main/Avail/avail-auto.sh && chmod +x avail-auto.sh && ./avail-auto.sh | ||
``` | ||
|
||
### Option 2 (manual) | ||
## Setting up vars | ||
Here you have to put name of your node name (validator) that will be visible in explorer | ||
``` | ||
NODENAME=<YOUR_NODE_NAME_GOES_HERE> | ||
``` | ||
Save and import variables into system | ||
``` | ||
AVAIL_PORT=30333 | ||
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile | ||
echo "export AVAIL_PORT=${AVAIL_PORT}" >> $HOME/.bash_profile | ||
source $HOME/.bash_profile | ||
``` | ||
## Update packages | ||
``` | ||
sudo apt update && sudo apt upgrade -y | ||
``` | ||
## Install dependencies | ||
``` | ||
sudo apt install curl tar wget clang pkg-config protobuf-compiler libssl-dev jq build-essential protobuf-compiler bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y | ||
``` | ||
## Install Rust | ||
``` | ||
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 | ||
``` | ||
## Download and build binaries | ||
``` | ||
git clone https://github.com/availproject/avail.git | ||
cd avail | ||
mkdir -p data | ||
git checkout v1.11.0.0 | ||
cargo build --release -p data-avail | ||
sudo cp $HOME/avail/target/release/data-avail /usr/local/bin | ||
``` | ||
## Create service | ||
``` | ||
sudo tee /etc/systemd/system/availd.service > /dev/null <<EOF | ||
[Unit] | ||
Description=Avail Validator | ||
After=network-online.target | ||
[Service] | ||
User=$USER | ||
ExecStart=$(which data-avail) -d `pwd`/data --chain goldberg --validator --name $NODENAME | ||
Restart=on-failure | ||
RestartSec=3 | ||
LimitNOFILE=65535 | ||
[Install] | ||
WantedBy=multi-user.target | ||
EOF | ||
``` | ||
## Register and start service | ||
``` | ||
sudo systemctl daemon-reload | ||
sudo systemctl enable availd | ||
sudo systemctl restart availd && sudo journalctl -u availd -f -o cat | ||
``` | ||
## Logs | ||
>- View the logs from the running service: journalctl -f -u availd.service | ||
>- Check the node is running: sudo systemctl status availd.service | ||
>- Stop your avail node: sudo systemctl stop availd.service | ||
>- Start your avail node: sudo systemctl start availd.service | ||
## Update from old version to v1.10.0.0 | ||
Step 1 | ||
``` | ||
sudo systemctl stop availd | ||
cd avail/data/chains/avail_goldberg_testnet | ||
rm -rf db | ||
rm -rf network | ||
mkdir db | ||
mkdir network | ||
cd db | ||
mkdir full | ||
cd full | ||
curl -o - -L https://snapshots.avail.nexus/goldberg/avail_goldberg_testnet_snapshot_jan_31.tar.gz | tar -xz -C . | ||
cd | ||
``` | ||
Step 2 | ||
``` | ||
wget -O avail-update.sh https://raw.githubusercontent.com/thenhthang/Quadro/main/Avail/avail-update.sh && chmod +x avail-update.sh && ./avail-update.sh | ||
``` | ||
Step 3: After full sync (Please check you node is full sync before execute this step | ||
Find your node on https://telemetry.avail.tools | ||
``` | ||
sudo systemctl stop availd | ||
``` | ||
``` | ||
sudo tee /etc/systemd/system/availd.service > /dev/null <<EOF | ||
[Unit] | ||
Description=Avail Validator | ||
After=network-online.target | ||
[Service] | ||
User=$USER | ||
ExecStart=$(which data-avail) -d `pwd`/data --chain goldberg --validator --name $NODENAME | ||
Restart=on-failure | ||
RestartSec=3 | ||
LimitNOFILE=65535 | ||
[Install] | ||
WantedBy=multi-user.target | ||
EOF | ||
``` | ||
``` | ||
sudo systemctl start availd | ||
``` | ||
## Update from old version to v1.11.0.0 | ||
``` | ||
wget -O avail-update.sh https://raw.githubusercontent.com/thenhthang/Quadro/main/Avail/avail-update.sh && chmod +x avail-update.sh && ./avail-update.sh | ||
``` | ||
### Before you can become an active validator, you need to bond your funds to your node. | ||
>- Stake your validator: https://docs.availproject.org/operate/validator/staking | ||
## Step 2: Create wallet and Set Identity | ||
## Step 3: Control your full node account | ||
>- Step 2 and step 3 read guide here: https://github.com/thenhthang/Quadro/blob/main/Avail/How%20to%20participate%20Avail%20incentivized%20testnet.md | ||
Question: <a href="https://t.me/nodesrunnerguruchat" target="_blank">NodesRunner Chat</a> |
Oops, something went wrong.