¡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:
- Un Sistema Operativo Ubuntu 16.x LTS o superior
- Tener instalado Git
- Tener instalado NodeJS v8.x LTS
¿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 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:
Y ahora a verificar el estado de nuestro nodo:
El output debería ser algo similar a esto:
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:
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:
$ 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!:
$ 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.
Si el output de este comando no devuelve false y algo similar a lo siguiente es que nuestro nodo se está sincronizando correctamente.
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.
- Web de RSK: https://www.rsk.co/
- Wiki de GitHub con la documentación oficial: https://github.com/rsksmart/rskj/wiki
La segunda parte del Meetup la podéis encontrar aquí