Ejemplo práctico de una dapp chorra de Ethereum.
- Paquetes:
$ sudo apt install python3
$ sudo apt install python3-pip
$ sudo apt-get install nodejs npm
- Dependencias:
#Instalar las dependencias de la API:
$ cd pruebas/
$ npm i
#Instalar las dependencias de la Web:
$ cd libreria/
$ npm i
#Instalar las dependencias de las Pruebas:
$ pip3 install request
$ pip3 install json
Hay dos opciones:
- Instalar ganache: https://github.com/trufflesuite/ganache-cli
$ npm install -g ganache-cli
$ ganache-cli
- Run docker:
$ docker run --name socialNetwork_redis -p 6379:6379 redis:6.0-alpine
Hemos utilizado Quorum Maker
https://github.com/synechron-finlabs/quorum-maker que es una herramienta que te permite desplegar y controlar una red de Quorum:
$ git clone https://github.com/synechron-finlabs/quorum-maker.git #Clonar el repositorio
$ cd quorum-maker
$ ./setup.sh # Levantar la red
(Necesario tener docker instalado)
Hemos utilizado Truffle
como herramienta de entorno de desarrollo.
$ npm install -g truffle
Para poder compilar y ejecutar los smart contrats, hay que ir al directorio raiz /smartContracts
y ejecutar los siguientes comandos:
truffle compile # Compilar los contratos
truffle test # Testear los contratos
truffle migrate # Desplegar los contratos
#Pruebas
$ make entorno # Generar un nuevo contrato y usuario
$ make main # Añadir libros, obtener libros y reservar libro.
¡Importante! Generar un entorno antes de ejecutar make main
y relevantar la api para que se actualice el .env
Una vez que ya este desarrollado el smart contract hay que copiar el ABI en la carpeta api/abis
cp smartContracts/build/contracts/Library.json /api/abis/Library.json