Newsletter para devsEntra
Web Reactiva

WR 65: Smart Contracts 101. Una introducción a los contratos inteligentes

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.

Escúchalo también en Spotify | Apple Podcasts | Google Podcasts | iVoox

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.

Escrito por:

Imagen de Daniel Primo

Daniel Primo

CEO en pantuflas de Web Reactiva. Programador y formador en tecnologías que cambian el mundo y a las personas. @delineas en twitter y canal @webreactiva en telegram

12 recursos para developers cada domingo en tu bandeja de entrada

Además de una skill práctica bien explicada, trucos para mejorar tu futuro profesional y una pizquita de humor útil para el resto de la semana. Gratis.