Lanza tu nodo en la testnet de Massa

Cumulo

Guía de instalación paso a paso Linux/Ubuntu

Actualización según la versión testnet 12.1, del 13 de julio 2022

Testeo y corrección a cargo de Sisu.Cumulo

Apoyo y soporte : andrei craciun

La siguiente guía está basada en la documentación oficial del proyecto Massa.

Puedes ver el github del proyecto original en:

install · massalabs/massa Wiki

You can’t perform that action at this time. You signed in with another tab or window. You signed out in another tab or…

github.com

ACTUALIZADO A VERSIÓN TESTNET 12.1

A partir de la versión 12.1 de la testnet de Massa es necesario instalar el nodo desde cero. Recomendaciones de instalación:

· Guarda los archivos anteriores de la wallet & nodo en un lugar seguro como respaldo en el caso de que pierdas tu ID de Discord.

· Borra todos los ficheros de la versión anterior del nodo de tu servidor, eliminando la carpeta massa.

· No reutilizar la anterior wallet o clave privada de nodo en la nueva instalación ya que nos son compatibles, por lo que se tendrá que generar una nueva wallet y clave privada.

Información adicional:

Los formatos de address, clave pública y clave privada han cambiado debido a actualizaciones criptográficas.

La wallet y el archivo de claves de staking, ahora están encriptados. Al iniciar massa-client y massa-node por primera vez, se te pedirá que elijas una contraseña para crear y cifrar tu wallet y tu archivo de claves de participación. Los lanzamientos posteriores solicitarán esa contraseña para descifrar los archivos. La contraseña no tiene que ser la misma para el cliente (wallet.dat) y el nodo (staking_keys.json). No olvides tus contraseñas ya que no hay forma de recuperarlas una vez perdidas y lo único que puedes hacer es borrar wallet.dat y/o staking_keys.json para generar otras nuevas.

También está disponible una opción en línea de comando para ingresar la contraseña sin el aviso ( — pwd=mypassword).

Primeros pasos: qué necesito?

· Una cuenta en Discord validada: https://discord.com/

· Servidor virtual o dedicado. En su defecto se puede probar con un ordenador personal. Requisitos mínimos: 4 cores y 8 GB de RAM.

· En el presente documento utilizaremos Ubuntu aunque es posible utilizar los sistemas operativos Windows, Mac y Linux.

· Cliente SSH o Telnet: para la administración remota del Servidor Virtual, Telnet es un servicio que te permite controlar su Servidor Virtual en forma remota y acceder a otras computadoras fuera del área. Telnet no es una conexión segura y por ese motivo se recomienda SSH, que transmite los datos por un canal encriptado.

El cliente que usaremos en la presente guía es Putty:

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Datos del servidor

Para lanzar el nodo necesitarás tener a mano los siguientes datos de tu servidor:

· Nº IP del Host

· Usuario

· Pass

Instalación de un nodo en Ubuntu / MacOS

Tras instalar el cliente SSH y ejecutarlo, entraremos con nuestro Host y se abrirá una ventana de línea de comandos en la que tendremos que introducir nuestro usuario y password.

Acceso al server mediante Putty.

Si no quieres escribir a mano los comandos, puedes copiarlos del documento con CTRL+C pero para pegarlos debes hacer clic con el botón derecho sobre la línea de comandos y pegará el último texto copiado.

Ventana de línea de comandos de Putty

Instalación de las librerías y el repositorio

· pkg-config es un software que provee una interfaz unificada para llamar bibliotecas instaladas cuando se está compilando un programa a partir del código fuente.

Comando: sudo apt install pkg-config curl git build-essential libssl-dev libclang-dev

También puedes usar: sudo apt install pkg-config curl git build-essential libssl-dev libclang-dev -f

  • Al añadir -f fuerza a buscar las dependencias de instalaciones. Soluciona un error de instalación en Ubuntu 20.0.
  • Es recomendable también realizar una actualización de las librerías del sistema con:

Comando: sudo apt update

Comando: sudo apt upgrade

· Instalamos el lenguaje de programación de código abierto rustup, utilizado en el proyecto Massa:

Comando: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Te preguntará si quieres lanzar la instalación por defecto o “customice”, la instalación por defecto es suficiente.

· Configurar path. PATH es la variable del sistema que utiliza el sistema operativo para buscar los ejecutables necesarios desde la línea de comandos o la ventana Terminal:

Comando: source $HOME/.cargo/env

· Comprobamos la versión de rust:

Comando: rustc -version

En algunas versiones de Ubuntu quizá no funcione el comando anterior y haya que utilizar el siguiente:

Comando: rustc -V

· Instalamos nigthly:

Nightly es una de las versiones de rustup. Es la más inestable y se actualiza con mucha frecuencia así que te aseguras de que siempre estarás utilizando la última versión.

Comando: rustup toolchain install nightly

· La configuramos como predeterminada:

Comando: rustup default nightly

· Comprobamos la versión:

Comando: rustc -version o rustc -V

· Clonamos el repositorio de Massa:

git clone --branch testnet https://github.com/massalabs/massa.git

Corriendo un nodo en código fuente

#Iniciar el nodo

· En una ventana de la consola SHH, entramos en el directorio del nodo Massa:

Comando: cd massa/massa-node/

· Lanzamos el nodo en Ubuntu:

Comando: RUST_BACKTRACE=full cargo run --release -- -p <PASSWORD> |& tee logs.txt

Reemplaza <CONTRASEÑA> con una contraseña que deberás conservar para reiniciar tu nodo

También puedes usar:RUST_BACKTRACE=full nohup cargo run --release -- -p <PASSWORD> |& tee logs.txt

El comando nohub mantiene el proceso iniciado aunque cierres la ventana de la consola.

Lo dejaremos ejecutando e iniciaremos de nuevo la aplicación Putty para abrir una segunda ventana de línea de comandos.

#Iniciar el cliente

En una segunda ventana de consola.

READ  Massa — Conoce a los Fundadores

· Iniciamos el cliente:

Comando: cd massa/massa-client/

· Lanzamos el cliente:

Comando: cargo run --release -- -p <PASSWORD>

Reemplaza <CONTRASEÑA> con una contraseña que deberás conservar para reiniciar tu cliente. Espera hasta que se creen los directorios antes de pasar al siguiente paso.

Consola de comandos de Massa

#Creando una Massa wallet

Una billetera Massa es un archivo que contiene una lista de tus claves privadas.

Al igual que otras blockchainMassa utiliza criptografía de curva elíptica para la seguridad de tus monedas. Significa que tu clave privada es la contraseña que te permite gastar monedas que se enviaron a tu dirección (tu dirección es el hash de tu clave pública).

A continuación, se explica cómo crear una billetera Massa.

Comando: cd massa/massa-client/

Se carga el fichero wallet.dat. Si no existe este es creado.

Ahora puedes generar una nueva clave privada (y la clave pública/dirección asociada):

Comando: wallet_generate_secret_key

Devolverá la siguiente info:

· Private key

· Public key

· Address

O, agregar manualmente una clave privada existente si ya tienes una de una billetera anterior:

Comando: wallet_add_secret_keys <tu_clave_privada>

Puedes acceder a la lista de direcciones y claves de tu wallet con:

Comando: wallet_info

Staking

En Massa, el número mínimo de monedas necesarias para poder hacer staking es 100 MAS (lo que se denomina 1 “roll”). El suministro inicial total es de 500M MAS, por lo que, en teoría, podría haber 5 millones de personas apostadas.

Las direcciones se seleccionan al azar para crear bloques en todos los subprocesos, en función del número de rolls que poseen. Aquí se puede ver la lista de apostadores y sus rolls: https://test.massa.net/#staking

Los rolls se pueden comprar con monedas Massa o vender para recuperar las monedas. Si ya tienes más de 100 Massa, puedes continuar con este tutorial, de lo contrario, envía tu wallet Address al faucet bot en el canal “testnet-faucet” del Discord de Massa. https://discord.gg/massa

** Recuerda que debes disponer de una cuenta de Discord validada con tu número teléfono previamente.

Simplemente accede al canal de Massa, y en testnet-faucet envía un mensaje con tu wallet Address.

#Compra de rolls

· Consigue la dirección de la billetera donde tienes monedas. En el cliente de Massa:

Comando: wallet_info

WARNING: do not share your private keyPrivate key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPublic key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxAddress: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxThread: 5Balance:Final balance: 100.01Candidate balance: 0.01Locked balance: 0Rolls:Active rolls: 0Final rolls: 0Candidate rolls: 0

· Compra rolls con él: pon tu dirección, la cantidad de rolls que deseas comprar y la tarifa de operación (puedes poner 0):

Comando: buy_rolls <address> <roll count> <fee>

· Debería tardar menos de un minuto para que tu roll sea definitivo, consulta el saldo con:

Comando: wallet_info

WARNING: do not share your private keyPrivate key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPublic key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxAddress: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxThread: 5Balance:Final balance: 0.01Candidate balance: 0.01Locked balance: 0Rolls:Active rolls: 0Final rolls: 1Candidate rolls: 1

· Ahora deberás decirle a tu nodo que empiece a hacer staking con tus Rolls.

Consigue la clave privada que tiene rolls en tu billetera:

Comando: wallet_info

Registra tu clave privada para que tu nodo comience a apostar con ella:

Comando: node_add_staking_secret_keys <tu_private_key>

Ahora debes esperar un tiempo para que tus rolls se activen: 3 ciclos de 128 períodos (un período es de 32 bloques — 16 segundos), aproximadamente 1h 40 minutos.

Puedes comprobar si tus rolls están activos con el mismo comando:

Comando: wallet_info

Balance:

Final balance: 0.94

Candidate balance: 0.94

Locked balance: 0

Rolls:

Active rolls: 1

Final rolls: 1

Candidate rolls: 1

Resumiendo:

100 massa = 1 roll

Para que los rolls estén activos tendríamos 1 candidate Final y 1 Active.

Cuando tus rolls se activen, ¡eso es todo! ¡Estás haciendo staking!

Deberías ser elegible para crear bloques en los diferentes subprocesos.

Para verificar cuándo se selecciona tu dirección para stake, ejecuta este comando:

Comando: get_addresses <your_address>

Thread: 5Balance:Final balance: 0.98Candidate balance: 0.98Locked balance: 0Rolls:Active rolls: 1Final rolls: 1Candidate rolls: 1Block draws:Endorsement draws:Blocks created:Involved in endorsements:Involved in operations:Production stats:produced 0 and failed 0 at cycle 670 (final)produced 0 and failed 0 at cycle 671 (final)produced 1 and failed 0 at cycle 672 (final)produced 0 and failed 0 at cycle 673 (final)produced 0 and failed 0 at cycle 674 (non-final)

y mira la sección “ next draws “.

Comprueba también que tu saldo aumenta, por cada bloque o aval que crees deberías obtener una pequeña recompensa.

#Venta de rolls

Si deseas recuperar algunas o todas tus monedas, vende los rolls de la misma manera que los compraste:

Comando: sell_rolls <address> <roll count> <fee>

Debería tardar algún tiempo para que tus monedas sean recibidas, y se congelarán durante 1 ciclo antes de que puedas gastarlas, nuevamente verifica con:

Comando: wallet_info

Routabilidad

Los nodos de la red Massa necesitan establecer conexiones entre ellos para comunicarse, propagar bloques y operaciones, y mantener el consenso y sincronía todos juntos.

Para que el nodo A establezca una conexión hacia el nodo B, el nodo B debe ser enrutable. Esto significa que el nodo B tiene una dirección IP pública a la que se puede acceder desde el nodo A y que los puertos TCP 31244 y TCP 31245 están abiertos en el nodo B y que los firewalls del nodo B permiten la conexión entrante en esos puertos. Establecida la comunicación, esta conexión es bidireccional y ya no importa cuál de los dos nodos inició el establecimiento de la conexión.

Si solo una pequeña cantidad de nodos son enrutables, todos los demás nodos podrán conectarse solo a esos nodos enrutables, lo que puede sobrecargarlos y, en general, dañar la descentralización y la seguridad de la red, ya que esos pocos nodos enrutables se convierten en comunicación central de facto, hubs, cuellos de botella y puntos únicos de fallo. Por lo tanto, es importante tener tantos nodos enrutables como sea posible.

En Massa, los nodos no son enrutables de forma predeterminada y requieren una operación manual para convertirse en enrutables.

READ  Asegurar el futuro de Web3 — con Thyra, en Massa

Con el comando get_status veremos que aparece la siguiente línea que es la que tenemos que corregir.

No routable IP set

#Cómo hacer que su nodo sea enrutable

Asegúrate de que el ordenador en el que se ejecuta el nodo tenga una dirección IP pública estática (IPv4 o IPv6). Puedes recuperar la dirección IP pública de tu ordenador abriendo https://api.ipify.org.

Si el ordenador que ejecuta el nodo está detrás de un enrutador / NAT, deberás configurar tu enrutador:

Si el enrutador usa DHCP, la dirección MAC del ordenador que ejecuta el nodo debe configurarse para tener una concesión DHCP permanente (una dirección IP local que nunca cambia, generalmente de la forma 192.168.X.XX)

Las conexiones entrantes en los puertos TCP 31244 31245 deben dirigirse hacia la dirección IP local del ordenador que ejecuta el nodo.

· netstat es una herramienta de línea de comandos que nos puede ofrecer información relacionada con las direcciones IP, las conexiones de red, puertos y servicios que se comunican en estos puertos.

Comando: sudo apt install net-tools

Comando: sudo netstat –pl

· -p Muestra el PID.

· -l Va a mostrar solo puertos a la escucha.

Comando: sudo netstat -plnt | grep :31244

Comando: sudo netstat -plnt | grep :31245

· Deberemos ejecutar el siguiente Script para abrir los puertos (de la comunidad de Massa)

Comando:

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) 31244 31245

· Configura el firewall en tu ordenador para permitir conexiones TCP entrantes en los puertos 31244 31245

Para listar los servicios permitidos por el Firewall

Comando: sudo ufw app list

Debe aparecer el servicio OpenSSH, en el caso de que no aparezca lo habilitamos:

Comando: sudo ufw allow "OpenSSH"

Habilitamos los puertos del nodo Massa:

Comando: ufw allow 31244 && ufw allow 31245

Por último activamos el Firewall:

Comando: sudo ufw enable

· Edite el archivo massa-node / config / config.toml (créalo si no está disponible) con el siguiente contenido:

[network]

routable_ip = "AAA.BBB.CCC.DDD"

Donde AAA.BBB.CCC.DDD debe reemplazarse con su dirección IP pública (¡no la local!). También se admite IPV6.

Comando: sudo vi massa/massa-node/base_config/config.toml

Con el comando vi, utilizamos la tecla Insert para poder movernos por el fichero y editarlo

Utilizamos las flechas del teclado hasta encontrar la línea y añadimos en

[network]

routable_ip = "IP de tu nodo"

Para guardar primero tecla ESC, y luego el comando para salir y guardar:

:wq

Y LISTO!!

Ahora debemos reiniciar el nodo para actualizar esta modificación. Desde la consola de cliente de Massa:

Comando para pararlo: cd massa/massa-client

Comando : cargo run
Comando : node_stop

Comando para reiniciarlo: cd massa/massa-node/

RUST_BACKTRACE=full nohup cargo run --release -- -p <PASSWORD> |& tee logs.txt

Comando lanzar cliente: cd massa/massa-client/

Comando: cargo run

Una vez corregido, con el comando: get_status veremos esta línea:

Node's ID: (ID del nodo)

Node's IP: (IP del servidor)

Luego puedes probar si tus puertos están abiertos escribiendo tu dirección IP pública y el puerto 31244 en https://www.yougetsignal.com/tools/open-ports/ (lo mismo con el puerto 31245)

Una vez que tu nodo sea enrutable, debe enviar la dirección IP pública de tu nodo al bot de Discord. Primero debes registrarte en el programa de recompensas de participación.

Último paso: activar el score

Para validar tu participación en el programa de recompensas de participación de testnet, debes registrarte con tu cuenta de Discord.

Join the Massa Discord Server!

Check out the Massa community on Discord – hang out with 13,182 other members and enjoy free voice and text chat.

discord.com

Posibles errores para interactuar con el bot en Discord:

· Dar permisos en seguridad, para que los usuarios de tus servidores puedan hablarte.

· Si el bot no contesta cuando introduces el resultado que te da el cliente, se recomienda ir a Verify, deseleccionar el tic y volverlo a activar.

Escribe algo en el canal testnet-rewards-registration del Discord de Massa y el bot te enviará instrucciones por correo electrónico. Más información aquí: Testnet rewards program.

MassaBot

Se abrirá una conversación con el bot con el siguiente mensaje:

¡Bienvenidos! A continuación, se explica cómo registrarse para el programa de recompensas de participación de testnet (consulta los detalles en https://github.com/massalabs/massa/blob/main/docs/testnet_rules.md).

Suponemos aquí que instalaste con éxito tu nodo, obtuviste tus primeras monedas del faucet y comenzaste a hacer stake.

Para registrarte, ejecuta el comando en el cliente Massa:

Comando : cd massa/massa-client

Comando : cargo run

node_testnet_rewards_program_ownership_proof (your_staking_address) xxxx

en tu cliente Massa y dame el resultado aquí.

¡Tienes que reemplazar your_staking_address por tu propia dirección de wallet (ver wallet_info)!

Esto vinculará tu nombre de Discord con tu dirección de participación e ID de nodo.

Con esto, podrás rastrear los bloques que creaste y marcar la estabilidad de tu nodo: ¡no te pierdas tus espacios!

>> Resultado:

Your discord account XXX has been associated with this node ID: XXX and this staking address: XXX. Congratulations!
Now you can check your registration and your score by sending me this message: info. A leaderboard of the best scores will be updated in channel leaderboard! The second step is optional, but is worth half of your score.

Como nos dice el mensaje de confirmación podemos enviar el mensaje info para obtener más información de las recompensas en nuestra wallet.

El segundo paso es opcional, pero vale la mitad de tu puntuación.

Para ayudarnos a descentralizar la red, puedes configurar su nodo para que sea enrutable (mira los tutoriales aquí: https://github.com/massalabs/massa/blob/main/docs/routability.md).

Una vez que tu nodo sea enrutable, envíame la dirección IP pública de tu nodo aquí .

Con tu dirección IP (y la ID de nodo que ya tengo), podré rastrear cuándo se puede acceder a su nodo desde otros nodos.

Por fin tienes tu nodo de la testnet de Massa listo y configurado!! 🙂 🙂

Más información sobre la comunidad de Massa en español:

Telegram: https://t.me/massa_esp

Twitter: https://twitter.com/Massa_esp


Sobre el autor: http://cumulo.pro/

Documento original:
https://medium.com/@cumulo.pro/faq-preguntas-frecuentes-3d13c6259b88
Más artículos sobre Massa en español en:
https://medium.com/massa-espa%C3%B1ol

Total
0
Shares
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicación anterior

FAQ: Preguntas frecuentes sobre la testnet de Massa

Publicación siguiente

La descentralización es innegociable


Disclaimer : This website does not invite anyone to invest in the projects we are talking about. This is simple information about crypto projects that we find interesting.
Artículos Relacionados

Gestiona tu nodo de Massa con SystemD

Cómo crear un proceso en segundo plano Artículo original: https://medium.com/massa-esp/gestiona-tu-nodo-de-massa-con-systemd-b8ddd244e3a5 SystemD es un servicio de daemons, herramientas y librerías diseñado…
Read More
ua.Massadopted.com uses cookies to ensure the best experience for you.