Correr un nodo Baker en la testnet de Concordium
Esta guía ha sido elaborada para correr un nodo baker en la testnet de Concordium mediante un servidor virtual VPS en el sistema operativo Linux Ubuntu.
Qué necesito
- Servidor virtual o dedicado VPS
- Las aplicaciones Docker y Docker Compose
- Wallet móvil testnet de Concordium
Índice de contenidos
· Crea un usuario no root con privilegios de sudo
· Instala y configura Docker
· Instala un nodo Concordium testnet con Docker Compose
· Ejecuta un nodo testnet con Docker Compose
· Crea una wallet testnet de Concordium y vincúlala al nodo
Crea un usuario no root con privilegios de sudo
Uno de los requisitos previos para correr un nodo en testnet de Concordium es ejecutarlo desde un usuario sin privilegios de administrador, por lo tanto, lo primero que vas a hacer es crear ese usuario. En tu aplicación shell de comandos realiza las siguientes operaciones.
Crea el usuario ccd:
sudo useradd -m -s /bin/bash ccd
Asigna una contraseña a tu nuevo usuario.
sudo passwd ccd
Agrega el usuario ccd al grupo sudo.
sudo usermod -aG sudo ccd
Para cambiar a tu usuario no root, en este caso el usuario ccd, desde otro usuario con el que hayas iniciado sesión, introduce el siguiente comando:
su ccd
Instala y configura Docker
Docker es una plataforma de software que te permite crear, probar e implementar aplicaciones rápidamente.
Para realizar la instalación de Docker debes realizar los siguientes pasos:
1) Configura el repositorio:
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
2) Agrega la clave GPG oficial de Docker:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
3) Usa el siguiente comando para configurar el repositorio:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4) Actualiza el índice de paquetes (importante!)
sudo apt-get update
5) Instala la última versión de Docker Engine, containerd y Docker Compose:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
6) Verifica que Docker Compose esté instalado correctamente comprobando la versión.
docker compose version
7) Verifica que Docker Engine esté instalado correctamente ejecutando la imagen hello-world:
sudo docker run hello-world
Instala un nodo Concordium testnet con Docker Compose
Puedes consultar la guía oficial en inglés aquí.
Concordium proporciona dos imágenes de Docker, una de mainnet y otra de testnet. Estas imágenes están diseñadas para usarse junto con Docker Compose o un controlador similar.
En nuestro caso la imagen del nodo testnet se puede obtener de la siguiente dirección
https://hub.docker.com/r/concordium/testnet-node
El nodo requiere una base de datos que debe almacenarse en el servidor del nodo. Depende del usuario seleccionar la ubicación de la base de datos en su sistema local. En la guía, la ubicación utilizada es /var/lib/concordium-testnet, pero servirá cualquier ubicación a la que tenga acceso el usuario que ejecuta el comando Docker.
El comando pull te permite descargar la imagen del repositorio e instalarla.
docker pull concordium/testnet-node
Ejecuta un nodo testnet con Docker Compose
Para ejecutar un nodo en testnet, deberás crear el fichero de configuración testnet-node.yaml y guardarlo en tu servidor. El contenido del fichero lo podrás copiar en:
https://developer.concordium.software/en/mainnet/net/guides/run-node.html#run-a-node
En la sección Run a testnet node:
Copia todo el contenido del texto y crea un fichero en tu servidor, mediante el comando:
sudo vi testnet-node.yaml
Ahora pega el contenido copiado en el editor del fichero testnet-node.yaml. Debes modificar el valor CONCORDIUM_NODE_COLLECTOR_NODE_NAME para indicar el nombre que quieras asignar al nodo, en nuestro ejemplo cumulo-test:
testnet-node-collector:
container_name: testnet-node-collector
image: concordium/testnet-node:latest
pull_policy: always
environment:
# Settings that should be customized by the user.
- CONCORDIUM_NODE_COLLECTOR_NODE_NAME=cumulo-test
Finalmente guárdalo con los siguientes comandos:
TECLA ESC
:wq!
Una vez guardado el fichero de configuración puedes iniciar el nodo Concordium mediante Docker Compose:
docker compose -f testnet-node.yaml up -d
La opción -d permite que el nodo se ejecute en segundo plano.
Con estos pasos has finalizado la configuración y el arranque del nodo.
Sigue el estado del nodo en el Dashboard de Concordium: https://dashboard.testnet.concordium.com/
Puedes acceder a los logs de ejecución del nodo con el siguiente comando:
docker logs testnet-node
Crea una wallet testnet de Concordium y vincúlala al nodo
Lo siguiente que debes realizar para convertir tu nodo testnet en baker y comenzar a validar bloques en la red es crear una wallet móvil, exportar las claves de la cuenta al servidor del nodo y vincularlas al nodo. El saldo mínimo de la wallet para poder convertir el nodo en baker es de 14.000 CCD.
1) Descarga la wallet testnet de Concordium en tu móvil:
Recuerda que tiene que ser una wallet testnet y tiene que ser la versión móvil.
2) Obtén el faucet de 2.000 CCD, para reunir los 14.000 CCD tendrás que crear varias cuentas y pedir en todas ellas el faucet, luego enviar el saldo a la cuenta que deseas vincular al nodo hasta reunir los 14.000 CCD.
3) Crea un fichero de exportación para convertir el nodo en baker. Accede a la cuenta de tu wallet con el saldo mínimo de 14.000 CCD y ve a la opción Baking.
4) Después de las pantallas que explican el baking, especifica la cantidad que deseas stakear en la pantalla Registrar el baker.
Más info en: https://developer.concordium.software/en/mainnet/net/mobile-wallet/add-baker-mw.html#add-baker-mw.
5) Siguiendo los pasos podrás crear un fichero de exportación baker_credentials.json que enviarás al servidor del nodo. Para ello puedes usar Firezilla, con los pasos relatados en la guía Cómo correr un nodo Baker en Concordium con Ubuntu-Docker. Apartado Crea una cuenta de usuario FTP.
6) Aloja el fichero baker_credentials.json en el directorio por defecto de la aplicación del nodo var/lib/concordium-testnet/
7) Modifica el fichero de configuración del nodo testnet-node.yaml para indicar el fichero baker_credentials.json.
sudo vi testnet-node.yaml
Añade el siguiente código:
- CONCORDIUM_NODE_BAKER_CREDENTIALS_FILE=/mnt/data/baker-credentials.json
Guárdalo con los siguientes comandos:
TECLA ESC
:wq!
Reinicia el nodo con el comando:
docker compose -f testnet-node.yaml up -d
Ya tienes un nodo baker ejecutándose en la testnet. Puedes comprobar el Dashboard de Concordium:
https://dashboard.testnet.concordium.com
Como puedes observar la columna Baker tiene ahora un número que identifica el nodo lo que confirma que efectivamente tienes el nodo validando bloques como Baker:
Únete a la comunidad en Concordium: