Guía de Instalación de Light Node en Avail
Índice de contenidos
· Introducción
· Pasos iniciales
· Instalación y ejecución
∘ Desde el binario
∘ Desde el código fuente
· Utilizar los servicios de SystemD
∘ Crea un servicio availightd
Introducción
Los Light Clients en Avail permiten interactuar con la blockchain sin necesidad de un full node, utilizando muestreo de disponibilidad de datos para verificar bloques de forma independiente.
Se dividen en dos partes: una para el muestreo y otra para la reconstrucción de datos.
Estos clientes se conectan a la red Avail, realizan muestreo aleatorio en los bloques y verifican estos datos para calcular su confianza. Además, ofrecen una API para consultar datos de bloques procesados.
Pasos iniciales
🧊Requerimientos de Hardware:
- RAM4 GB (recomendado 8GB)
- CPU (arquitectura AMD64/x86) 2 núcleos (recomendado 4 núcleos)
- Almacenamiento (SSD)20–40 GB (recomendado 200–300GB)
Instalación y ejecución
Desde el binario:
🧊Instala los repositorios necesarios.
sudo apt update
sudo apt install make clang pkg-config libssl-dev build-essential
🧊 Crea el directorio de la aplicación.
mkdir -p avail-light
cd avail-light
🧊 Descarga la aplicación en el directorio.
wget https://github.com/availproject/avail-light/releases/download/v1.7.5-rc2/avail-light-linux-amd64.tar.gz
🧊 Descomprime el fichero.
tar -xvzf avail-light-linux-amd64.tar.gz
cp avail-light-linux-amd64 avail-light
🧊Inicia el light client.
./avail-light --network goldberg
Es muy recomendable continuar corriendo el light node con SystemD.
Desde el código fuente:
🧊Instala los repositorios necesarios y Rust.
sudo apt update && sudo apt upgrade -y
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
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
🧊Después de asegurarte de que tienes Rust instalado, puedes ejecutar el light client Avail utilizando el siguiente comando:
git clone https://github.com/availproject/avail-light.git
cd avail-light
git checkout v1.7.3
cargo build --release
El light client ha sido compilado.
Utilizar los servicios de SystemD
SystemD es un servicio de daemons, herramientas y librerías diseñado para ejecutar aplicaciones, como procesos en segundo plano, de manera centralizada en sistemas operativos Linux.
Los servicios de sistema de SystemD te permiten configurar una aplicación para que realice procesos automatizados, como por ejemplo iniciarse cuando se arranque el sistema, o reiniciarse si la aplicación se detiene por algún motivo.
En el caso de los nodos de una blockchain, estos servicios se utilizan para controlar la aplicación del nodo y que esta se reinicie en caso de que falle.
Crea un servicio availightd
Para crear un servicio debes realizar los siguientes pasos:
🧊Crea un archivo availightd.service con las instrucciones del servicio.
sudo tee /etc/systemd/system/availightd.service > /dev/null <<EOF
[Unit]
Description=Avail Light Client
After=network.target
StartLimitIntervalSec=0
[Service]
User=root
ExecStart=$(which avail-light) --network goldberg
Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target
EOF
🧊Gestiona el servicio availightd con los siguientes comandos del servicio:
Activar el reinicio automático para tu nodo Avail.
sudo systemctl daemon-reload
sudo systemctl enable availightd.service
Poner en marcha tu nodo Avail.
sudo systemctl start availightd.service
🧊Comprueba que el nodo está funcionando.
El parámetro status, permite ver la información de estado sobre el servicio, este comando es fundamental para ver si está en funcionamiento o no.
sudo systemctl status availightd.service
Para salir de esta pantalla usa las teclas:
CTRL + C
🧊Comprueba los registros del servicio en tiempo real.
El comando journalctl permite ver el registro generado por el servicio.
sudo journalctl -f -u availightd
Para salir de esta pantalla usa las teclas:
CTRL + C
En caso de necesitar reiniciar el light client utiliza:
sudo systemctl restart availightd.service
Para detener el light client utiliza:
sudo systemctl stop availightd
🧊 Para más info puedes consultar la documentación oficial de Avail: