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.
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.
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 ¶
- Ether Converter
- Remix (el IDE de Solidity)
- ¿Qué es solidity?
- Intro to programming Smart Contracts on Ethereum
- CryptoZombies (el mejor recurso para aprender a programar Smart Contracts con Solidity)
- State Of The Dapps
- Loom Network
- Ethereum URL Shortener (una DAPP real)
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:
Daniel Primo
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.