Nota: projecto desarrollado para el Reto: Blockchain de la UdeG en Talent Land 2018
- Requerimientos
- Instalación
- Desarrollo
- Deployment de los contractos
- Dev server
- Interfaz Web
- Smart Contracts
- Red de Nodos
- Interacción del sistema
- Nodejs
- Ganache
$ npm install
$ npm install -g truffe
$ truffe compile
$ truffe migrate
$ npm start
Se contruyó usando Semantic-UI y ReactJS como framework, consta de diversos componentes que interactuan en una SPA. Internamente usamos web3 y truffle-contract para interactuar con nuestros contratos a través de un proveedor (ejemplo: MetaMask).
El objetivo principal del diseño de la interfaz es ser una herramienta simple que cualquier persona pueda utilizar sin complicadas interacciones. Tambien pretendemos que sea un intefas incluyente que cumpla con los estandares HTML de inclusión.
Procuramos brindar una experiencia fluída para el usuario, esto lo logramos en parte usando optimistic rendering para que el usuario no note el tiempo que las transaction tardan en validarse,
Tenemos dos contractos, uno que centra la información que necesitamos almacenar y otro que permite la administración de multiples contratos usando un patró de diseño Factory.
Este contrato mantiene la información completa la cartilla médica y mantiene una interfaz donde se procura mostrar solo los datos permitidos. Este contrato define los datos que pueden ser consultados públicamente y datos que solo se pueden ver usando una contraseña privada que solo el dueño conoce.
Permite la creación y el almacenamiento de contratos en el blockchain.
Los contratos son compilados y desplegados a la blockchain usando Truffle, su método de migración de contratos otras de sus herramientas. Durante el desarrollo usamos Ganache para simular una red local.
Nuestra aplicación interactúan directamente con la blockchain una vez desplegados los contratos.