Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
4 http://digrate.com/uploads/ico_report/RSK_ENG-
5_1.pdf
5 QixCoin is a new cryptocurrency to support peer to peer
gaming, both by strategy or by chance. It is anonymous,
untraceable and peer to peer tradeable against the other
major cryptocurrencies, and has a built-in engine to
verify card games, like Poker or Blackjack.
2. Instalación básica. A lo largo de este apartado trataremos de explicar cada
una de las instalaciones.
La instalación es un conjunto de configuraciones e
instalaciones que irán mutando a lo largo de las
diferentes versiones. Esto es algo que debemos tener 2.1. Instalación de RskJ usando Ubuntu.
claro ya que las interdependencias de versiones nos
pueden causar numerosos quebraderos de cabeza. En Podemos instalar RskJ usando el PPAs de Ubuntu:
este documento explicaremos las instalaciones básicas
que hemos ejecutado de forma explicita. Pero en $ sudo add-apt-repository ppa:rsksmart/rskj
versiones posteriores pasaremos a proporcionar los $ sudo apt-get update
roles de ansible necesarios para automatizar la $ sudo apt-get install rskj
instalación.
Si optamos por la instalación del paquete directamente
Antes de seguir: Las recomendaciones mínimas para mediante dpkg podemos descargarlo desde:
instalar un nodo RSK son:6 https://launchpad.net/%7Ersksmart/
+archive/ubuntu/rskj/+packages
• 4 cores.
• 4 GB RAM. Eso si, deberemos instalar previamente openjdk-8-jre
• 50 GB Almacenamiento. for Ubuntu.
Una vez instalado podemos lanzar el servicio de rsk
Y el sistema Operativo sobre el que lo vamos a instalar mediante systemctl o service:
será: Ubuntu 16.0.4. En el lab usaremos la versión
desktop pero en un entorno un poco más serío serí blockman@RSKLAB:~$ systemctl start rsk.service
mejor usar la versión ubuntu server.
Y comprobamos que todo ha ido bien mediante:
Paquetería adicional:
blockman@RSKLAB:~$ systemctl status rsk.service
• curl. rsk.service - RSK Node
Loaded: loaded (/lib/systemd/system/rsk.service; enabled; vendor
• Terminator. preset: enab
• Tree. Active: active (running) since mar 2017-12-12 15:41:22 CET; 2s
• git. ago
• node.js y npm. Main PID: 5576 (java)
CGroup: /system.slice/rsk.service
• openssh-server. └─5576 /usr/bin/java
-Dlogback.configurationFile=/etc/rsk/logback.xml
bloockman@RSKLAB:~$ sudo apt-get install curl terminator tree
git gradle npm openssh-server dic 12 15:41:22 RSKLAB systemd[1]: Started RSK Node.
Para instalar node.js en ubuntu: También podemos comprobar que el proceso esta
levantado o que los puertos están abiertos mediante:
curl -sL https://deb.nodesource.com/setup_8.x
| sudo -E bash - blockman@RSKLAB:~$ ps -ef|grep rsk
sudo apt-get install -y nodejs blockman@RSKLAB:~$ netstat -putan
Para llevar a cabo las pruebas podemos optar por Si todo ha ido bien veremos algo parecido a esto:
varios métodos de instalación diferentes:
blockman@RSKLAB:~$ ps -ef|grep rsk
1. Instalación de RskJ usando Ubuntu. rsk 5576 1 2 15:41 ? 00:00:17 /usr/bin/java
2. Instalación mediante docker. -Dlogback.configurationFile=/etc/rsk/logback.xml
-Drsk.conf.file=/etc/rsk/node.conf -cp /usr/share/rsk/rsk.jar
3. Instalación desde githup. Command-line ó co.rsk.Start 2>&1 &
IntellJ
Ponemos expresamente esta salida porque se ve
perfectamente como se lanza el nodo de rsk y
configuración utiliza. Es este caso: /etc/rsk/node.conf.
6 https://github.com/rsksmart/rskj/wiki/Node-
Minimum-Requirements
Las rutas que utiliza por defecto la paquetería son:
Instalación de Docker en Ubuntu 16.0.47.
• /etc/rsk Ficheros de configuración.
• /usr/share/rsk Directorio que contiene el jar Para comenzar deberemos asegurarnos de borrar las
que se ejecuta. instalaciones previos o antiguas ( si procede):
• /var/lib/rsk/database Es el directorio donde
se guarda la base de datos. En la imagen $ sudo apt-get remove docker docker-engine docker.io
podemos ver la estructura de directorios que
la componen. Una vez dejado todo limpio, vamos a optar por la
• /var/log/rsk Se guardan los logs de rsk. opción de instalación desde repositorio por lo que
procedemos a seguir los siguientes pasos:
Ahora lo que vamos a hacer es deshabilitar el servicio
en el arranque ya que queremos ser nosotros los que Instalamos los paquetes necesarios para qie apt pueda
controlen cuando arranca o para. Para ello: funcionar vía HTTPS:
blockman@RSKLAB:~$ systemctl disable rsk.service $ sudo apt-get install apt-transport-https ca-certificates curl
Removed symlink /etc/systemd/system/multi- software-properties-common
user.target.wants/rsk.service.
Añadimos la key GPG oficial de Docker:
$ curl -fsSL
https://download.docker.com/linux/ubuntu/gpg |
sudo apt-key add -
Ilustración 1 Estructura de la BD. Para que surja efecto deberemos reiniciar la sesión del
usuario. Para comprobar que todo funciona recurrimos
al hola mundo de docker:
2.2. Instalación mediante Docker. $ docker run hello-world
Para llevar a cabo la instalación mediante este método blockman@RSKLAB:~$ docker run hello-world
deberemos instalar el entorno de docker y docker- Unable to find image 'hello-world:latest'
locally
compose en nuestro equipo. Para ello realzaremos los latest: Pulling from library/hello-world
siguientes pasos: ca4f61b1923c: Pull complete
7 https://docs.docker.com/engine/installation/linux/d
ocker-ce/ubuntu/
Digest: REPOSITORY TAG IMAGE
sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87 ID CREATED SIZE
b255f48e297ec7f98e123905c rsk-node latest
Status: Downloaded newer image for hello- 6fce7b768773 About a minute ago 537MB
world:latest
Recomiendo revisar el fichero rsk-node ya que nos dará
Hello from Docker! muchas indicaciones de como implementan el nodo de
rsk. (Mirarlo sin miedo que es bastante simple.)
Instalación de docker-compose8. Ya tenemos todo preparado así que levantamos nuestra
instancia del nodo rsk:
Ya puestos con docker vamos a instalar esta utilidad
que nos ayudará a levantar dockers de forma $ docker run -d --name rsk-node-01 -p
orquestada. Para ello seguiremos los siguientes pasos: 4444:4444 -p 50505:50505 rsk-node
Nos situamos en la carpeta deseada (LAB) y Siendo el ID_container el número que nos aparece al
descargamos el repositorio que contiene los dockerfile hacer docker ps -a , en el caso de arriba: 223aa44ff409
necesarios: Si no parase, podríamos hacer un docker kill
ID_Container y si lo queremos eliminar del registro del
$ git clone
https://github.com/rsksmart/artifacts.git ps, usaremos docker rm ID_container.
4.2. Explorer
npm install
npm start
10 http://solidity.readthedocs.io/en/develop/installing-
solidity.html
11 https://github.com/trufflesuite/truffle
12 https://www.npmjs.com/package/ethereumjs-
testrpc
APENDICE I.
En la siguiente tabla encontramos una comparativa de
algunos de los parámetros que mejora Blockchain al
añadir RSK a la ecuación.
Ilustración 2: Source: Rooststock Platform white paper (pag. 8).
i Andrea Lean, “RSK podría permitir hasta 20.000 transacciones por segundo en la red bitcoin.”, source:
https://www.criptonoticias.com/entrevistas/rsk-permitir-20000-transacciones-segundo-bitcoin/#axzz512PYxGMP
ii Sergio Demian Lerner, “Drivechains, Sidechains and hybrid 2-way peg designs”, source:
https://uploads.strikinglycdn.com/files/ec5278f8-218c-407a-af3c-ab71a910246d/Drivechains_Sidechains_and_Hybrid_2-
way_peg_Designs_R9.pdf