etherum logo decomposed

Desarrollo en blockchain 2.0: Configurando nuestro puesto de desarrollo

ethereum logo

Hoy comenzamos una serie de “posts” sobre Desarrollo en blockchain (mas concretamente utilizando la implementación de Ethereum). Durante esta serie de “posts” profundizaremos sobre el desarrollo de blockchain desde su parte mas operativa hasta analizar diferentes opciones de implementaciones de blockchain, o comenzar aspectos de DevOps para blockchain.

De partida no vamos a realizar una introducción sobre blokchain puesto que existen muy buenos sitios especializados sobre blokchain con buenas introducciones sobre la tecnología a diferentes niveles de los que os dejamos una selección:

Suponiendo que tenemos un nivel básico/intermedio sobre blockchain 2.0 y sobre Ethereum (implementación “open source” que podremos encontrar dentro del marketplace de Azure) partiremos del “post” anterior acerca de configurar una VM con Ubuntu 16.04 LTS con desktop gráfico Xfce 4.12 y la utilizaremos como base para nuestro puesto de desarrollo en blockchain.

Software básico para desarrollar con blockchain

Visual Studio Code y Ethereum

Os dejo a continuación un conjunto de aplicaciones software para instalar en vuestra VM con Linux:

  • NodeJS (version 6.10.2 LTS es la última version estable disponible a fecha de escritura de este “post”)
  • npm (cualquier versión medianamente actualizada valdrá)
  • Git (nunca empecéis a desarrollar nada sin un repositorio de código)
  • Cualquier editor especializado para desarrollo o de vuestra elección (personalmente en mi caso me decidí por Visual Studio Code)
  • Muy recomendables las siguientes extensiones de Visual Studio Code

Como veréis este conjunto de software os da a entender que vamos a utilizar NodeJS para nuestros desarrollos con blockchain. Si habéis profundizado un poco en blockchain y en especial en Ethereum, habréis visto que esto es simplemente una opción y que existen otras muchas alternativas en cuanto al lenguaje y a los frameworks que usar, pero dado el auge que está teniendo este lenguaje en los últimos años parece buena idea decantarnos por esta opción.

Pasemos ahora a ver que frameworks y librerías necesitaremos para desarrollar nuestro primer “Smart Contract”

Frameworks y Librerías de desarrollo con  blockchain (Ethereum)

truffle logo testrpc logo

De nuevo, hay que tomar todo lo siguiente como una recomendación o sugerencia, y como en el apartado anterior, existen muchas otras opciones para este apartado igualmente válidas. En este caso, vamos a utilizar en nuestro puesto de desarrollo (que además servirá como nuestro entorno de desarrollo -en algún “post” posterior hablaremos de las diferencias entre los dos términos) los siguientes paquetes de NPM:

  • test-rpc nos permitirá albergar una red de Ethereum totalmente funcional en nuestro puesto de desarrollo y que ejecutará 100% en memoria (super-útil cuando queremos una instancia fresca a voluntad de blockchain)
  • Truffle es uno de los frameworks de desarrollo sobre Ethereum más ampliamente difundidos y utilizados en la comunidad de desarrollo de Ethereum
  • (opcional) algún cliente (CLI) para Etherum como por ejemplo geth que es el “oficial” de Ethereum
  • también opcionalmente os sugiero que os familiaricéis con frameworks de testing para NodeJS como Mocha, Chai, etc. (Truffle los utiliza para las pruebas unitarias)

En este punto nuestro puesto/entorno de desarrollo ya cuenta con todo lo necesario para poder empezar a familiarizarnos con el desarrollo con Ethereum. En la siguiente entrega de esta serie de “posts” abordaremos un clásico en los tutoriales de desarrollo: “Hello World!” con blockchain 2.0.

UPDATE: Seguid la serie sobre desarrollo en Blockchain, en el siguiente artículo del la serie:

Desarrollo en blockchain 2.0: Creando nuestro primer Smart Contract (I)

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.