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
Jul 05

Uso de Websockets en la red T de Alastria

  • julio 5, 2019
  • Ronny Demera
  • 1 Comment
  • Blockchain, Desarrollo de software

¡Hola a todos! En la entrada de hoy os vamos a enseñar cómo conectarse a un nodo regular de la Red T a través de una conexión websocket. Para poneros en un poco de contexto, la red T es una red pública permisionada que pertenece a Alastria, una de las redes de blockchain más grandes a nivel europeo. Para entrar en la misma nos tienen que dar permiso de acceso. Esta es una red Quorum que utiliza el algoritmo de consenso IBFT

Websocket

El motivo por el cual intentamos realizar conexiones de tipo websocket a un nodo regular de una red Quorum, se debe al interés que teníamos en escuchar eventos en “tiempo real” emitidos por la blockchain. 

Este tutorial se realiza sobre un nodo regular de la Red T, desplegado en un docker dentro de una instancia. Si quieres instalar el tuyo propio aquí tienes una guía para la Instalación de un nodo regular en la red T.

No hace falta que nuestro nodo esté desplegado con docker, como ya hicimos en la antigua Testnet de Alastria. Uno de los factores diferenciales entre estas instalaciones es la inclusión de un Access Point que filtra las peticiones desde fuera de la red por medio de un proxy(por defecto nginx), así que tendremos que configurar estos accesos. Si tenemos la opción de elegir es recomendable instalar el nodo a través de docker, para tener un control más exhaustivo de las conexiones a nuestro nodo.

Para realizar las conexiones vamos habilitar un puerto específico de tipo websocket, en nuestro caso de prueba hemos elegido el 22001, hay que tener cuidado con no seleccionar uno de los puertos que ya están en uso, ya que nos causará bastantes problemas.

Primeros pasos

El primer paso es incluir en nuestro nodo geth las apis/flags que habilitarán la conexión websocket. Para ello tendremos que modificar el script que inicia el nodo (./start.sh). Principalmente modificaremos la variable $GLOBAL_ARGS

1

 

Dentro de start.sh modificamos la variable $GLOBAL_ARGS en la línea 76 (la numeración podría variar) añadiendo los flags específicos de websocket. Con ellos le decimos al proceso que habilite las conexiones de tipo websocket y que les asigne el puerto específico.

2

 

Aunque no lo parezca el siguiente es uno de los paso más comprometidos, parece raro que no podamos añadir el flag de –wsorigins directamente en la línea 76, no lo hacemos de esta forma simplemente porque no funciona. Así que modificamos $GLOBAL_ARGS en las líneas 124 y 126 (la numeración podría variar) añadiendo el siguiente valor a la variable $GLOBAL_ARGS:

3

 

Con ello estamos aceptando las peticiones de conexión websocket que tengan como parámetro de origen a “test.com”

A continuación guardamos los cambios que hemos realizado en el ejecutable start.sh. Para que estos cambios sean efectivos paramos el nodo y lo volvemos a levantar.

4

 

Ahora vamos a realizar los cambios necesarios en el proxy para poder habilitar la conexión websocket. La configuración del proxy se encuentra el archivo access-point.conf 

Accederemos al archivo de configuración y habilitaremos una location específica para los websockets:

5

 

Añadimos a la configuración, teniendo en cuenta que ya habíamos elegido el puerto 22001 para las conexiones websocket. En la configuración del proxy tendremos que especificar el puerto ya asignado:

6

 

Y dentro de «server» añadimos una nueva «location»:

7

 

 

Guardamos los cambios y realizados y recargamos la configuración de nginx:

8

 

Realizando estas modificaciones ya podremos establecer conexiones a nuestro nodo vía websocket.

Si quieres probar un código que usa conexiones websocket para escuchar eventos, aquí te dejamos un ejemplo de prueba. Si esto no es suficiente y tienes alguna duda no dudes en ponerte en contacto con nosotros. Por correo o creando una «issue» en el repositorio de github.

¡Gracias por leernos y nos vemos dentro de poco!

Artículos Relacionados:

  • Selenium-IDE-Welcome-TribalyteIntroducción a Selenium IDE
  • novedades-brighbyte-tribalyteNovedades BrightByte Cloud v0.4
  • Tribalyte se incorpora a la Red AlastriaTribalyte se incorpora a la Red Alastria
  • Blockchain y COVID-19 | ¿Qué está pasando? | Usos y ejemplos | Alessandro Barbera Formica | Tribalyte TechnologiesBlockchain y COVID-19 | ¿Qué está pasando? ¿Qué más va a pasar?
  • Salud digital en España | ¿Por qué es el momento para invertir? | Alessandro Barbera Formica | Tribalyte TechnologiesSalud digital en España | ¿Por qué es el momento para invertir?
  • 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.

1 Comment

  1. Market News
    agosto 15, 2020 at 4:40 am · Responder

    It’s wonderful that you are getting thoughts from this article as well as from
    our dialogue made at this time.

Leave a reply Cancelar respuesta

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

ELIGE UNA CATEGORÍA

  • Blockchain
  • Consejos tecnológicos
  • Desarrollo de aplicaciones
  • Desarrollo de software
  • General
  • 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