Meetup RSK – Como instalar un nodo RSK en nuestra máquina

¡Hola a todos!

El pasado lunes 9 de abril estuvimos presentando en el Meetup ¿Eres dev y aún te rompe la cabeza eso de Blockchain? para dar una breve introducción junto con Alex Casas sobre la tecnología blockchain y la plataforma P2P sobre Bitcoin que permite la ejecución de contratos inteligentes, RSK.

Con este post queremos dejar constancia del proceso de instalación del un nodo RSK para poder empezar a hacer nuestros pinillos en la materia. ¡Así que vamos a ello!

Requisitos mínimos para tener el nodo operativo en la máquina según la documentación:

  • 4 cores
  • 4 GB de RAM
  • 50 GB de Almacenamiento

Herramientas necesarias para poder seguir este tutorial:

¿Está todo preparado? ¡Estupendo! Procedamos entonces la instalación del nodo. Para esta instalación vamos a utilizar el instalador de paquetes apt-get. Es tan simple como ejecutar desde consola los siguientes comandos:

$ sudo add-apt-repository ppa:rsksmart/rskj
$ sudo apt-get update
$ sudo apt-get install rskj

Nos va a salir una serie de displays en los que debemos aceptar las políticas y de uso y elegir para que red vamos a levantar el nodo. Vamos a levantarlo en la red testnet, que es el entorno de pruebasde RSK.

¡Enhorabuena, tu nodo RSK ya está instalado!

Vamos a arrancar el nodo y luego a gestionarlo con una herramienta que nos proveen los chicos de RSK.

Vamos entonces a arrancar nuestro nodo con el siguiente comando:

$ sudo service rsk start

Y ahora a verificar el estado de nuestro nodo:

$ sudo service rsk status

El output debería ser algo similar a esto:

● rsk.service - RSK Node
   Loaded: loaded (/lib/systemd/system/rsk.service; enabled; vendor preset: enabled)
   Active: active (running) since mar 2018-04-10 17:22:29 CEST; 12s ago
 Main PID: 22057 (java)
    Tasks: 37
   Memory: 502.2M
      CPU: 13.983s
   CGroup: /system.slice/rsk.service
           └─22057 /usr/bin/java -Dlogback.configurationFile=/etc/rsk/logback.xml -cp /usr/share/rsk/rsk.jar co.rsk.Start 2>&1 &

En caso de querer parar nuestro nodo utilizaremos la siguiente instrucción:

$ sudo service rsk stop

Notas a tener en cuenta:

  • El fichero de configuración de nuestro nodo se encuentra en el directorio /etc/rsk/. En este directorio veremos que están contenidos los tres ficheros de configuración posibles (mainnet, testnet y regtest) y también veremos que el fichero node.conf es un enlace simbólico al fichero que corresponde a la red que hemos elegido en la instalación. En este caso testnet.conf.
  • También es importante que sepamos que nuestro nodo va a almacenar toda la información en el siguiente directorio: /var/lib/rsk/databases.
  • La configuración por defecto levanta un nodo que escucha peticiones a través del puerto 4444

Instalación del herramientas de utilidad para nuestro nodo de RSK:

Los chicos de RSK Labs tienen un repositorio donde cuelgan todas las soluciones que ofrecen para trabajar con RSK.

Nosotros vamos a usar el proyecto de Utilities en el que tienen tres soluciones:

  • RSK Node Console: un proyecto en JS que nos permite de forma sencilla levantar una consola para poder interactuar con nuestro nodo.
  • RSK Node Explorer: un proyecto también en JS que nos levanta un sitio web en el que podremos crear de forma muy sencilla cuentas y assets en nuestro nodo a parte de ver las transacciones y bloques de este.
  • RPC-Tests: un proyecto con varios test para nuestros contratos inteligentes

Nosotros, en esta ocasión solo vamos a utilizar la parte del proyecto RSK Node Console. Que nos permite verificar el estado de nuestro nodo.

Para hacer esto vamos a crearnos una carpeta en nuestro directorio personal, para después clonar el repositorio y arrancar la Consola de RSK. Entonces para esto ejecutaremos los siguientes comandos:

$ mkdir ~/RSKRules
$ cd ~/RSKRules/
$ git clone https://github.com/rsksmart/utilities.git
$ cd utilities/console/

Si todo ha ido bien después de la ejecución de estos comandos habremos descargado el proyecto Utilities y accedido a la solución de la Consola de RSK. Ahora deberemos instalar las dependencias del proyectos y luego arrancarlo. ¡Vamos a ello!:

$ npm install
$ node console.js -server localhost:4444

El resultado de la ejecución de estos comando es un display como este: RSK >

Llegados a este punto tenemos nuestra lista para mandar comandos. Ahora lo que vamos a hacer es lanzar un comando para ver si nuestro nodos se está sincronizando con la blockchain.

RSK > web3.eth.syncing

Si el output de este comando no devuelve false y algo similar a lo siguiente es que nuestro nodo se está sincronizando correctamente.

{ startingBlock: 65383,
  currentBlock: 108991,
  highestBlock: 109632 }

¡Perfecto! Hasta aquí este pequeño tutorial en el que hemos aprendido a:

  • Instalar un nodo RSK
  • Descargarnos el proyecto de utilidades para trabajar con nuestro nodo RSK
  • Arrancar la solución de la consola para verificar el funcionamiento de nuestro nodo

Gracias por tu tiempo y esperamos que haya sido de interés esta guía. Abajo os dejamos enlaces para ampliar información y también tenéis la caja de comentarios para dejar vuestras consultas. Y por último, si quieres estar al día de nuevas actualizaciones con documentación o nuestros proyectos te recomendamos que nos sigas en nuestro Twitter @blocknitive o en nuestra página en Linkedin.

La segunda parte del Meetup la podéis encontrar aquí

2 comentarios de “Meetup RSK – Como instalar un nodo RSK en nuestra máquina”

Deja un comentario

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