Apple Podcast (iTunes) | iVoox | Spotify | Suscríbete al podcast

Los Smart Contracts cambiarán la forma en la que convivimos con la tecnología. Aún están en pañales pero es una tecnología llena de nuevos términos, herramientas y conceptos.

Vamos a conocerlos a lo largo del podcast, pero recuerda que puedes suscribirte gratis al newsletter que envío todos los domingos. Pronto contaré algo nuevo y diferente que quiero presentar en enero. ¿Quieres saber de qué se trata? Suscríbete ya mismo.

Sigue en marcha el Calendario de Adviento del Código Libre con un nuevo recurso sobre Software Libre cada día hasta Navidad. ¡Muchas gracias por participar!

Ethereum y los Smart Contracts

Si quieres saber mejor lo que es el blockchain, escucha el episodio 14: Blockchain explicado como si se entendiera.

Ethereum es un blockchain con un lenguaje de programación integrado que permite no solo acumular transacciones financieras sino también contratos inteligentes y datos en general.

Hay diferentes redes (networks) de Ethereum. “Main” es la principal y es donde el ether tiene un valor en dólares o euros. Luego están las redes de test globales como Ropsten, Koban o Rinkeby. También puedes generar la tuya propia en la nube o en el entorno local.

Cada network está formado por uno o más nodos y cada nodo es una máquina que está ejecutando un cliente de ethereum.

Un contrato inteligente es un programa codificado que ejecuta funciones que simulan los acuerdos a los que llegan entre dos o más partes haciendo que cuando se cumpla el contrato con unas condiciones específicas se lancen una serie de acciones.

El smart contract lanzará las cláusulas del contrato cuando se cumplan las condiciones. De forma automática, sin esperar por nada más.

Smart Contracts 101 Una introducción a los contratos inteligentes

Frameworks y librerías que podemos utilizar con Smart Contracts

Web3 es una librería para interactuar con clientes de Ethereum y Smart Contracts
Está disponible para varios lenguajes de programación: Java, JavaScript, Pyhton, PHP… Con diferentes implementaciones.

Truffle es el entorno de desarrollo más completo. Ideal para desarrollar DAPP. Tiene tres patas fundamentales:

  • Ganache (antes TestRPC) genera un blockchain local para tests
  • Truffle para gestionar los smart contracts
  • Drizzle para las apps en frontend. Incluye web3

OpenZepellin es una alternativa que nos serviría para trabajar con los smart contracts. Es similar a la pata de Truffle que se utiliza para esto.

Solc.js es una librería para compilar contratos en tiempo de ejecución, ya que nuestro contrato en solidity puede convivir con el resto de la aplicación.

MetaMask es una extensión para navegadores:

  • Nos da el soporte para poder enviar ethers a una aplicación web.
  • Trabaja con networks de test, mainnet y también las generadas localmente
  • Realmente es como un wallet, una cartera, donde tendremos almacenadas nuestras cuentas, transacciones y monedas.

Existen otras alternativas para interactuar entre aplicaciones y cuentas de ethereum tales como uPort o Mist Browser.

Infura es un cliente de ethereum en la nube que puedes usar para conectarte a las redes principales, bien sean de producción o de test.

Más enlaces de interés

Puedes seguir a Web Reactiva en telegram t.me/webreactiva o a través de la cuenta de twitter @webreactiva con referencias, recursos y enlaces de interés.

¿Quieres ser mejor desarrollador?

Escrito por Dani

Soy programador web freelance. Especialista en frameworks basados en PHP como Drupal, aunque también me gusta trabajar con microframeworks en varios lenguajes y, por supuesto, tengo a Javascript de gran aliado. aquí.
comments powered by Disqus