Taller de desarrollo de aplicaciones descentralizadas en la Blockchain de Ethereum
Este año, como Proyecto de Fin de Máster me he pegado con el desarollo de aplicaciones descentralizadas (ÐApps) con contratos inteligentes (Smart Contracts) en la Blockchain de Ethereum.
En este taller pretendo hacer una pequeña aplicación descentralizada con un pequeño contrato inteligente, y enseñar todo lo que yo he aprendido a base de golpes.
Veremos un poco de Solidity, un lenguaje para programar contratos inteligentes. Utilizaremos también Truffle, un framework para desarrollar y testear aplicaciones descentralizadas. Necesitaremos usar web3js para llamar desde nuestra web a la Blockchain. Usaremos MetaMask para interactuar con la aplicación. Y para minar nuestras transacciones de prueba levantaremos una instancia de Ganache.
Recursos
Slides de la taller
Ejecución de la ÐApp
Prerequisitos
Instalar NodeJS https://nodejs.org/
Instalar MetaMask https://metamask.io/
Clonar el repositorio
Ejecutar:
git clone git@github.com:asanzdiego/commit-conf-taller-blockchain.git
cd commit-conf-taller-blockchain
Instalar dependencias globales
Ejecutar:
npm install -g truffle
npm install -g ganache-cli
npm install -g @angular/cli
Instalar dependencias del proyecto
Ejecutar en la carpeta del proyecto:
npm install
Ejecutar ganache (nodo privado)
Ejecutar en la carpeta del proyecto en una consola separada:
ganache-cli --gasLimit 7000001
Compilar y migrar los contratos al nodo privado
Ejecutar en la carpeta del proyecto en una consola separada:
truffle compile && truffle migrate
Testear los contratos contra el nodo privado
Ejecutar en la carpeta del proyecto en una consola separada:
truffle test
Arrancar el front
Ejecutar en la carpeta del proyecto en una consola separada:
ng serve
Abrir la aplicación
En un navegador con MetaMask instalado abrir: http://localhost:4200/
Para desarrollar
Recomiendo Visual Studio Code con el plugin de Solidity de Juan Blanco