1 – Ethereum, instalando todas las herramientas necesarias

Ethereum blockchain

Para realizar todo el proceso he creado una máquina virtual con el software Oracle VirtualBox (https://www.virtualbox.org/) que a día de hoy se encuentra en su versión 5.2.

Dentro de esa máquina virtual he usado como sistema operativo Ubunbu (x86) (https://www.ubuntu.com/) que a día de hoy se encuentra en su versión 17.10.

Una vez instalado VirtualBox con el sistema operativo comenzamos a instalar las herramientas de trabajo para poder desarrollar DAPPS (aplicaciones) en Ethereum.

Instalación de Geth

Lo primero, ¿que es geth?. Pues es un interface de linea de comandos que permite ejecutar un nodo ethereum completo.

Para empezar necesitamos ejecutar el siguiente comando: sudo apt-get install software-properties-common, que nos permitirá gestionar, añadir repositorios y registrar sus llaves en el sistema.

Una vez terminada la instalación vamos añadir los dos repositorios ppa de ethereum: sudo add-apt-repository –y ppa:ethereum/ethereum y sudo add-apt-repository –y ppa:ethereum/ethereum-dev. 

Actualizamos nuestra lista de repositorios: sudo apt-get update e instalamos Ethereum: sudo apt-get install ethereum.

Conectar Geth a la red Ethereum

Vamos a crear un directorio donde se descargara blockchain de Ethereum con el siguiente comando: mkdir ~/blockchain_ethereum.

Una vez terminada la instalación de Ethereum podemos comprobar que geth está instalado, ejecutando el siguiente comando: geth – -datadir “~/blockchain_ethereum” – -networkdid 1 (esta operación descarga el blockchain de ethereum).

El parámetro – – datadir indica el directorio donde se descargara el blockchain de Ethereum y el parámetro – – networkid la red donde nos conectaremos siendo 1 la red real y cualquier otro es para pruebas.

Instalación de MIST

La siguiente herramienta que necesitamos instalar es mist, que es un navegador para aplicaciones web descentralizadas y un wallet para ethereum.

Abrimos nuestro navegador y vamos a la siguiente url: https://github.com/ethereum/mist/releases y buscamos la versión acorde a nuestro sistema operativo.

Para poder instalar mist son necesarios algunos paquetes y para instalar esos paquetes usamos el siguiente comando: sudo apt-get install gconf2 gconf-service gconf-service-backend gconf2-common libgconf-2-4

Nos cambiamos ahora al directorio donde descargamos mist: cd ~/Descargas y buscamos el fichero que hemos descargado con el siguiente comando: ls –la

Ahora usamos la herramienta dpkg para instalar el paquete descargado (a día de hoy es Ethereum-Wallet-linux32-0-9-3.deb con el siguiente comando, sudo dpkg –i Ethereum-Wallet-linux32-0-9-3.deb

Instalación de Git y Node

Procedemos a instalar git, ya que vamos a desarrollar en nodejs y para poder descargar los paquetes npm es necesario. Con el siguiente comando procedemos a su instalación: sudo apt-get install git

Instalamos otros paquetes que son necesarios: sudo apt-get install build-essential libssl-dev curl

Con curl vamos a descargar nvm (node versión manager) que es un script de bash que permite gestionar las versiones de nodejs: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

Ejecutamos source ~/.bashrc para que use la nueva configuración y comprobamos que esta correctamente instalada usando el siguiente comando: command -v nvm

Instalamos nodejs y para comprobar que versiones están disponibles usamos el siguiente comando: nvm ls-remote

Ejecutamos el siguiente comando para instalar la última versión: nvm install x.x.x (número de versión que aparece en el listado anterior)

Ahora vamos a especificar que versión vamos a usar: nvm use x.x.x. Finalmente comprobaremos que nodejs funciona y que la versión coincide con la instalada: node – -version

Instalación de testrpc

Como paso final, instalamos testrpc, que es un cliente de ethereum basado en nodejs para pruebas y desarrollos que simula un cliente y permite hacer desarrollo mucho mas agil que con geth: npm install -g ethereumjs-testrpc

Para comprobar que todo funciona correctamente usamos el comando: testrpc. Este comando nos mostrara un listado de llaves públicas y privadas de wallet de etherum que podremos usar en las aplicaciones que desarrollemos.

Con esta pequeña guía dejamos un nodo de ethereum funcionando. En la próxima entrada explicare como se configura una red privada con geth.