Tribalyte Technologies Tribalyte Technologies
  • Inicio
  • Misión y visión
  • Nuestros expertos
  • Nuestras soluciones
  • Casos de éxito
  • Blog
  • Contáctanos
  • Únete al equipo
Tribalyte Technologies Tribalyte Technologies
  • Inicio
  • Misión y visión
  • Nuestros expertos
  • Nuestras soluciones
  • Casos de éxito
  • Blog
  • Contáctanos
  • Únete al equipo
Abr 05

Creación de un nodo en la red blockchain de Alastria

  • abril 5, 2018
  • Ronny Demera
  • Blockchain, Consejos tecnológicos, Tecnologías

¡Hola a todos! Como ya indicamos en otra entrada del blog, Tribalyte Technologies se ha unido a la red Alastria, por lo que encontrábamos adecuado explicar el proceso de creación de un nodo de la misma.

La asociación Alastria facilita los diferentes repositorios en GitHub con numerosa documentación para las herramientas existentes en la red. En el caso de esta entrada, estamos interesados en la creación de un nodo de Alastria.

Creación de un nodo de la Red blockchain de Alastria

Lo primero de todo, indicar que para poder desplegar el nodo creado, se revisará antes si  pertenece a Alastria por lo que tan solo se aceptarán aquellos que se confirme que pertenecen a la misma.

Aquí podemos encontrar el repositorio donde se nos indican los siguientes pasos a seguir. Primero hemos de prestar atención a los requisitos establecidos para la creación de nuestro nodo. Los requisitos son los siguientes:

  • CPU’s: 2 cores.
  • Memoria: 4 Gb.
  • Disco duro: 30 Gb SSD.
  • Sistema operativo: Ubuntu 16.04, CentOS 7.4 o Red Hat Enterprise Linux 7.4, siempre en 64 bits.

Y hemos de abrir los siguientes puertos de red:

  • 8443: TCP – Puerto para monitorización.
  • 9000: TCP – Puerto para la comunicación de Constellation.
  • 21000: TCP/UDP – Puerto para establecer la comunicación entre procesos geth.
  • 22000: TCP – Puerto para establecer la comunicación RPC. (este puerto se usa para aplicaciones que comunican con Alastria, y puede estar filtrado hacia Internet).

Tras ello hacemos fork del repositorio, ya que será necesario para vincular nuestro nodo con el resto de la red. Clonamos el repositorio en nuestra máquina y ejecutamos el script «bootstrap.sh» dentro de la carpeta «scripts»:

$ git clone https://github.com/alastria/alastria-node.git
$ cd alastria-node/scripts/
$ sudo -H ./bootstrap.sh
$ source ~/.bashrc

Código

Con ello comenzará la instalación y configuración de las dependencias necesarias para iniciar el nodo.
Una vez termine, nos queda iniciarlo indicando nuestra dirección IP, el tipo de nodo: si será uno general o bien validador, y finalmente el nombre del mismo. Todo ello serán nuestros datos de entrada que daremos al script init.sh.
Recomendamos usar por facilidad el parámetro auto para que introduzca automáticamente nuestra dirección IP:

./init.sh auto node-type node-name

Código

Tras ello, se habrán modificado algunos archivos dentro de nuestro repositorio. Si es general:

  • data/constellation-nodes.json
  • data/permissioned-nodes_validator.json

Mientras que si el nodo es validador:

  • data/permissioned-nodes_general.json
  • data/permissioned-nodes_validator.json
  • data/static-nodes.json

Ahora hemos de modificar manualmente el archivo DIRECTORY_REGULAR.md o  DIRECTORY_VALIDATOR.md e indicar los datos de nuestro nodo tal y como se indica:

  • Entidad: Indicaremos nuestro nombre de la entidad que representamos.
  • Contacto: Los datos de aquellos a quien pertenece el nodo y un método de comunicación (Correo, slack…)
  • Hosting info (Cores/Mem/HDD): Como bien indica, introducimos los datos de nuestra máquina en el orden que se nos requiere.
  • Clave private for *: Se nos habrá generado una clave única tras la inicialización del nodo en el fichero ~/alastria/data/constellation/keystore/node.pub
  • Enode: Se nos habrá generado los datos de nuestro nodo en la consola durante la inicialización. Los introducimos.

Tras todo ello tan solo será necesario realizar un pull request de nuestra rama a la rama del repositorio de Alastria (Atención: actualmente feature/ibtf, no en su rama master). Cuando sea validada por el equipo de Alastria ya estaremos dentro de la red y podremos desplegar nuestras aplicaciones sin problema.

Podremos interaccionar con nuestro nodo a través de los siguientes puertos que hemos abierto:

  • 8443 TCP – Usado para la monitorización: Uno de los scripts que podemos usar después de ejecutar «bootstrap.sh» es «monitor.sh». Este monitor nos permite controlar nuestro nodo y ver su estado en cualquier momento. Mediante «monitor.sh build« lo instalaremos, y con «monitor.sh start« lo iniciaremos. Para acceder a los diferentes comandos soportados y su uso, es posible consultar el repositorio del monitor en GitHub.
  • 9000 TCP – Comunicación de constellation: Este puerto es el usado por los nodos de la red para la comunicación entre ellos.
  • 21000 TCP/UPD – Comunicación entre procesos geth: Mediante este puerto es enviada las comunicaciones JSON RPC, que explicaremos posteriormente, entre los diferentes nodos de la red.
  • 22000: TCP – Puerto para establecer la comunicación RPC: Este puerto permite la comunicación con aplicaciones a la red Alastria. Mediante este puerto podemos comunicar con nuestro nodo a través de JSON RPC.

El protocolo JSON RPC utilizado por geth es una especificación que define el procesamiento de estructuras de datos para la comunicación remota con el nodo. Con ello podemos transmitir información a nuestro nodo y recibir datos de la misma. Existe documentación detallada sobre los métodos disponibles en la documentación oficial de Ethereum correspondiente.

En este caso podemos enseñaros un ejemplo de interacción con nuestro nodo, como por ejemplo mediante el método net_listening podemos ver si nuestro nodo está escuchando a conexiones de la red.

foto-4

 

Espero que esta entrada os haya podido servir de ayuda ¡No dudéis en comentar si os encontráis ante alguna dificultad al seguir estas indicaciones!

EDIT: podéis encontrar más información en esta entrada del blog de Alastria sobre como poner en marcha un nodo regular.

Artículos Relacionados:

  • Fissios-appFissios para pacientes de COVID-19
  • Software empresarial - Tribalyte Technologies - Desarrollo de software a medida en Madrid | Alessandro Barbera FormicaDesarrollo de Software Empresarial | Guía para Empresas
  • El método científico aplicado al desarrollo de softwareEl método científico aplicado al desarrollo de software
  • Entendiendo CSS (parte 2)Entendiendo CSS (parte 2)
  • LINUX Embebido | Qué es, cómo funciona y para qué se usa | Tribalyte TechnologiesLINUX Embebido | Qué es, cómo funciona y para qué se usa
  • Facebook
  • Twitter
  • LinkedIn
  • E-Mail

About The Author

Ronny Demera es ingeniero de software y un gran apasionado de la tecnología. Su trabajo actualmente consiste en el desarrollo de software y blockchain basado en TypeScript, Angular e Ionic, tiene interés en especializarse como desarrollador full stack. Siempre con ganas de seguir aprendiendo.

Related Posts

  • Tribalyte se incorpora a la Red Alastriafebrero 19, 2018

1 Comment

  1. Introducción a la programación de un Smart Contract - Tribalyte Technologies
    mayo 4, 2018 at 1:31 pm ·

    […] nodos de la red se comunican mediante el puerto RPC como ya indicamos al crear un nodo de la red Alastria e interpretan los datos en formato JSON-RPC, y ahí es donde entra en juego […]

ELIGE UNA CATEGORÍA

  • Blockchain
  • Consejos tecnológicos
  • Desarrollo de aplicaciones
  • Desarrollo de software
  • Sistema embebido
  • Tecnologías
  • Uncategorized

Una compañía dedicada al desarrollo de apps, software y soluciones embebidas para empresas.

SOCIOS

Contacto

Glorieta de Quevedo 8 6º2
28015 Madrid (ESPAÑA)
Phone: +34 919 049 820 E-Mail: contact@tribalyte.com Web: www.tribalyte.com
Sello PYME INNOVADORA 21/01/2025
PYME INNOVADORA
Válido hasta el 21 de enero de 2025
escudo de MEIC 21/01/2025

AYUDA

  • Política de privacidad
  • Política de calidad
  • Política de seguridad
  • Términos de uso

CERTIFICACIONES

⠀⠀⠀⠀⠀⠀⠀⠀⠀

SUBVENCIONES

Tribalyte Technologies S.L. ha    conseguido la ayuda C007/20-ED de Red.es para el impulso y la promoción de actividades de I+i y para el fomento de la inversión empresarial para desarrollar el proyecto iPatia. Así mismo, valoramos muy positivamente la contribución del FEDER, principal fondo de la política de cohesión europea, por lo que supone de impulso a nuestro trabajo y en consecuencia al crecimiento económico y la creación de empleo de esta región y de España en su conjunto.
Esta página web utiliza cookies para mejorar su experiencia de usuario y para recabar estadísticas anónimas de uso. Aceptar Más información