Mucha gente piensa que ser validador necesitas habilidades técnicas imposibles, otros piensan que es muy fácil si eres un programador, por ejemplo, y muchos otros no tienen ni idea de lo que esto significa.
Como acabamos de comenzar el Testnet para el proyecto Humans.ai, queremos dejar más claro qué es un validador y cómo se puede crear uno. El Proyecto Humans es un proyecto que tiene como objetivo principal la inteligencia artificial utilizada para mejorar y hacer más fácil nuestra vida, trabajo, ganar nuevas habilidades y tiempo, también.
El siguiente artÃculo estará lleno de material técnico, pero el objetivo principal es traducir lo que se debe hacer y de una forma más fácil de entender incluso si eres al principio.
I) Que significa un validador?
Un validador es un tipo especial de nodo que participa en el consenso y se vuelve responsable de verificar, votar y mantener un registro de transacciones.
Los validadores almacenan una copia de la cadena de bloques de la red y deben realizar ciertas funciones para mantener la seguridad del sistema. Dependiendo de la red, puede haber un número limitado de nodos Validator o ilimitado. Por ejemplo, para Humans.ai solo hubo 50 validadores elegidos para Testnet, y otros 25 están en lista pendiente.
La parte más esencial del sistema POS (Proof of stake) está representada por validadores. Actúan como moderadores del sistema de staking y tienen la importante tarea de agregar nuevos bloques en la cadena.
Para tener el sistema lo más descentralizado posible, es importante elegir un buen número de validadores. Esto ayuda a la comunidad al ofrecer una mayor variedad de opciones de participación, asà como a proteger el sistema al evitar que la cadena de bloques sea controlada por un validador muy rico.
II) Qué necesitas para ejecutar un Validador?
Requisitos o requisitos del sistema
Para los proyectos técnicos, estas necesidades se llaman requisitos . ¡Al igual que con cualquier otro servicio, los requisitos son muy importantes!
a) Fuerte conexión al internet
b) Deberá asegurarse de obtener un servidor con al menos 32 GB de memoria (RAM)
c) Unidad de estado sólido con al menos 500 GB de almacenamiento en disco SSD
d) Al menos 1000mbps de ancho de banda de red
e) Abra varios puertos para conectarse a la red peer-to-peer de Humans
Para exportar métricas de tendermint, Prometheus escucha la dirección: 26660
Exportador de Prometeo: 9464
Para conectarse a la red peer-to-peer de Humans: 26656
Exportar métricas del SDK de Cosmos: 1317
Tenga en cuenta que a medida que crece el uso de la cadena de bloques, los requisitos del servidor también pueden aumentar, por lo que también debe tener un plan para actualizar su servidor.
III) Cómo construir su nodo/validador Humans
Todos los proyectos comparten tutoriales e información muy útil en su Github. Entonces, asegúrate de hacer de Github tu mejor amigo :)
A partir de aquà te recomendamos seguir el tutorial oficial que puedes encontrar aquÃ: https://github.com/humansdotai/testnets
Además de los pasos anteriores, también deberá realizar la configuración de nuestro servicio de la siguiente manera:
1. Asegúrese de que su máquina funcione con Ubuntu 20.04
2. Comience actualizando la lista de paquetes:
sudo apt update
3. Instale el paquete build-essential escribiendo:
sudo apt upgrade -y
4. Este comando instala un montón de paquetes nuevos, incluidos gcc, g ++ y make.
sudo apt-get install manpages-dev
5. Instale los paquetes necesarios para ejecutar Go
sudo apt install build-essential -y
6. Comproba la versión de gcc
gcc --version
7. Primero elimine cualquier instalación Go antigua existente
sudo rm -rf /usr/local/go
sudo rm -rf /root/go
8. Instale la versión Go compatible y correcta
curl https://dl.google.com/go/go1.20.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
9. Actualice las variables de entorno para incluir Go
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
10. Consulta la versión GO
go version
En respuesta, deberÃamos obtener algo como esto:
go1.20.1 linux / amd64
11. Instale la utilidad git (en caso de que aún no esté instalada)
apt install git
12. Instale la última versión de humand y asegúrese de verificar la etiqueta correcta
git clone https://github.com/humansdotai/humans
cd humans && git checkout tags/v0.1.0
make install
13. Verifique la versión instalada con
humansd version --long
14. Establece tu nombre de validador
humansd init stake2earn --chain-id=humans_3000-1
15. Crea una clave local o recuperar una existente
humansd keys add wallet_test
humansd keys add --recover wallet_test
¡No olvides guardar tu semilla mnemotécnica!
Nunca cree sus claves de validación de red principal utilizando un backend de claves de prueba. Si lo hace, podrÃa provocar una pérdida de fondos al hacer que sus fondos sean accesibles de forma remota a través del punto final eth-sendTransaction JSON -RPC.
16. Comprueba todas las llaves que tienes con
humansd keys list
IV) Cómo iniciar y administrar su nodo/validador Humans
Systemd
Para realizar un seguimiento de sus registros y errores, puede crear los siguientes archivos y archivos de servicio. Esto es obligatorio solo si desea sincronizar el nodo automáticamente y reiniciar el demonio de Humans Cosmos siempre que sea necesario debido a la falla:
1. Cree los archivos para rastrear errores:
sudo mkdir -p /var/log/humans && sudo touch /var/log/humans/humans.log && sudo touch /var/log/humans/humans_error.log
2. Y copie el siguiente script en su servicio de sistema
sudo tee /etc/systemd/system/humans.service > /dev/null <<'EOF'
[Unit]
Description=humans sync node service
After=network-online.target
[Service]
User=root
TimeoutStartSec=0
CPUWeight=90
IOWeight=90
Environment=OTEL_EXPORTER_PROMETHEUS_PORT=9464
ExecStart=/root/go/bin/humansd start - log_level=warn
StandardOutput=file:/var/log/humans/humans.log
StandardError=file:/var/log/humans/humans_error.log
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
3. Comprueba el servicio de tu sistema
cat /etc/systemd/system/humans.service
4. Controle y rastree sus registros a través de los siguientes comandos:
systemctl daemon-reload
sudo systemctl enable humans
sudo systemctl start humans
sudo systemctl stop humans
sudo systemctl restart humans
systemctl -l status humans
sudo journalctl -u humans-f
tail -f /var/log/humans/humans.log
tail -f /var/log/humans/humans_error.log
5. Consulta el estado de tu nodo/validador
humansd status 2>&1 | jq .SyncInfo
Preste atención a "catching_up"
Si es "True" significa que NO está sincronizado todavÃa.
Si es "False" significa sincronizado.
6. Crear validador
Después de que catch_up sea False (falso), debe crear su validador:
humansd tx staking create-validator \
--amount=9850000aheart \
--pubkey=$(humansd tendermint show-validator) \
--moniker=stake2earn 🌜 \
--website="https://stake2earn.com" \
--details="Blockhain validator in POS networks - Decentralized and noncustodial crypto staking services 🌜" \
--identity=D153AB5E9F506C47 \
--chain-id=humans_3000-1 \
--commission-rate="0.05" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.1" \
--min-self-delegation="1" \
--gas-prices 0.025aheart \
--from=wallet_test
¡Felicidades! ¡Acabas de construir tu nodo/validador! :)