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
Oct 13
Blockchain: Tribalyte Technologies socio de Alastria

Cómo actualizar Geth en un nodo Blockchain de la Red T de Alastria

  • octubre 13, 2020
  • Rafael Barriuso
  • No Comments
  • Blockchain, Tecnologías

En este tutorial muy práctico os explicamos los pasos para actualizar la versión de Geth de vuestros nodos de Red T de Alastria.

 

¿Qué es Alastria?

Desde 2018 Tribalyte Technologies es miembro de Alastria, un consorcio multisectorial sin ánimo de lucro. El objetivo principal de Alastria – muy en resumen – es proveer a cualquier entidad interesada en el proyecto toda herramienta fundamental para desarrollar su propia estrategia blockchain. Podrás encontrar más información aquí.

 

Aquí el Checklist para actualizar Geth en un nodo Blockchain de la Red T de Alastria

Alastria (Red T) está construida sobre tecnología Quorum

«Red T de Alastria construida sobre tecnología Quorum». Fuente: web oficial de Alastria

Primero que nada, el salto que haremos será de la versión v1.8.12 a la v1.8.18, y lo haremos recopilando y actualizando el binario de geth para cambiarlo dentro de la imagen Docker del nodo. También existe la posibilidad de hacerlo montando de nuevo el nodo de Red T, el cual por defecto nos traerá la versión v1.8.18, pero es bastante más engorroso si queremos mantener nuestras cuentas. Si estáis interesados en los cambios que existen entre esta versiones, podéis verlos en el GitHub de geth.

Es fundamental que paremos nuestro nodo y para ello debemos meternos dentro de nuestro contenedor de Docker donde tenemos el nodo corriendo con las siguientes instrucciones:

 

Listamos todos los containers con:

docker ps -a

 

Copiamos el “container id” de nuestro nodo y accedemos a él con la sentencia:

docker exec -it <container-id> /bin/bash

 

Accedemos a la carpeta donde se encuentran los script con:

cd ~/alastria-node/scripts

 

Paramos el nodo ejecutando el script “stop.sh” con:

./stop.sh

 

Una vez parado el nodo vamos a colocarnos el repositorio de “Quorum” para poder compilar tanto el nuevo binario de “Geth” y el “bootnode” que será lo que necesitaremos para poder utilizar este nuevo “Geth” con nuestro nodo “Quorum”. Para ello:

 

Accedemos a la carpeta donde están los binarios:

cd /usr/local/bin

 

Clonamos el repo y hacemos checkout al commit marcado:

git clone https://github.com/alastria/quorum.git
cd quorum
git checkout 775aa2f5a6a52d9d84c85d5ed73521a1ea5b15b3

 

A continuación, compilamos con «make» y renombramos los binarios obtenido a “geth-v1.8.18” y “bootnode-v1.8.18”

make all
mv build/bin/geth /usr/local/bin/geth-v1.8.18
mv build/bin/bootnode /usr/local/bin/bootnode-v1.8.18

 

Volvemos a la carpeta de los binarios:

cd /usr/local/bin

 

Por último, solo tenemos que renombrar ambos archivo a los nombres básicos de “geth” y “bootnode”, pero antes, recomendamos cambiar el nombre de los binarios actuales, por si algo saliera mal, esto sería:

 

Renombramos los antiguos binarios:

mv geth geth-v1.8.12
mv bootnode bootnode-v1.8.12

 

Ponemos el nombre básico a los binarios de la nueva versión:

mv geth-v1.8.18 geth
mv bootnode-v1.8.18 bootnode

 

Volvemos a la carpeta de scripts:

cd ~/alastria-node/scripts

 

Y para finalizar, lanzamos nuestro nodo de nuevo

./start.sh

 

Si todo ha salido bien, nuestro nodo estará funcionando a la perfección y podremos comprobar que hemos actualizado correctamente la versión en la web de netstats de Red T, en la que nuestro nodo cambiará el texto que precede a su nombre de “nombre-del-nodo/v1.8.12-stable/…” a “nombre-del-nodo/v1.8.18-stable(quorum-v2.2.3-0.Alastria_EthNetstats_IBFT)/…”

 

En caso de tener cualquier problema podemos parar de nuevo el nodo, eliminar los binarios actuales de geth y el bootnode, renombrar de nuevo los binarios anteriores y volver a lanzar el nodo, haciendo que todo vuelva a estar como antes.

 

Hay que tener en cuenta que, dado que hemos hecho cambios en un contenedor en ejecución, a no ser que originalmente se hubieran montado los directorios de trabajo como volúmenes en el host, se perderán los cambios al detener el contenedor de Docker. Para persistirlos en una nueva imagen de Docker, ejecutamos:

docker commit <container-id>

 

¿Por qué hemos actualizado la versión de Geth?

Quitando el hecho de que casi siempre es interesante tener las últimas versiones posibles del software que usemos, ya que esto puede resolver problemas de seguridad importantes, nosotros decidimos actualizar ya que teníamos un problema con ciertas peticiones a nuestro nodo que se devolvieron vacías debido a un timeout en la RPC. A partir de la versión v1.8.13 los timeout de las respuestas RPC son configurables dentro de un archivo ”.toml” y por tanto decidimos actualizar para ver si esta configuración resolvía el problema. Desgraciadamente por ahora, esto no parece resolver nuestro problema, el cual ha sido comunicado tanto a Quorum, en esta issue, como a Alastria. Con todo esto, agradeceríamos cualquier tipo de ayuda disponible para resolver el problema planteado en la issue que añadimos a quorum.

 

El blockchain va a ser uno de los protagonistas de la recuperación económica y de la adaptación de las empresas a la nueva normalidad, así que, si no quieres que te coja por sorpresa, contáctanos para saber más. 

 

Artículos Relacionados:

  • Principios S.O.L.I.D. - Open-ClosedPrincipios S.O.L.I.D. - "Open-Closed"
  • qué es blockchain o cadena de bloquesBlockchain: qué es y 5 razones para usarlo
  • Blockchain: Tribalyte Technologies socio de AlastriaTribalyte Technologies forma parte de Alastria
  • Día Internacional de la MujerDía Internacional de la Mujer
  • Metdologías... ¿tradicional vs ágil?Metdologías... ¿tradicional vs ágil?
  • Facebook
  • Twitter
  • LinkedIn
  • E-Mail

About The Author

CTO y Cofundador en Tribalyte. Soy Ingeniero de Telecomunicación, con más de 15 años de experiencia internacional en el sector del desarrollo de software. Mi misión en Tribalyte es guiar el Área de Ingeniería de Software y contribuir a que los proyectos se realicen con las tecnologías más adecuadas y la más alta calidad.

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
  • Sistema embebido
  • Tecnologías

Suscríbete a nuestra newsletter y entérate de las últimas tendencias tecnológicas.

Una compañía dedicada al desarrollo y la mejora de plataformas tecnológicas globales.

SOCIOS

Contacto

Glorieta de Quevedo 8 6º2
28015 Madrid (ESPAÑA)
Phone: +34 910 177 514 E-Mail: contact@tribalyte.com Web: www.tribalyte.com

AYUDA

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

CERTIFICACIONES

INTERNACIONALIZACIÓN

  Tribalyte     Technologies S.L. en   el Marco del Programa de Iniciación a la Exportación del Prog. ICEXNEXT, ha contado con el apoyo del ICEX y con la cofinanciación del fondo Europeo FEDER. La finalidad de este apoyo es contribuir al desarrollo Internacional de la empresa y de su entorno.
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