Coder Social home page Coder Social logo

juanluisgozalofdez / blockchainlab2-identidad-2 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 31 KB

Lab for the Blockchain Course, subject Digital Identity. The lab will be used for testing the use of Identity based on ERC725v1 & ERC735

License: MIT License

Solidity 42.00% HTML 42.57% Shell 0.34% JavaScript 15.09%
lab blockchain ssi

blockchainlab2-identidad-2's Introduction

UNIR Curso Experto Desarrollo Aplicaciones Blockchain

Práctica de Identidad Digital

En esta práctica se usará un modelo ERC-725 y ERC-735 para practicar y afianzar los conceptos de Identidad Digital en Blockchain.

Actividad

El alumno debe modificar las funciones indicadas en las llamadas del fichero index.html de la carpeta web para hacer las correspondientes llamadas a las funciones públicas de los Smart Contracts factilitados.

El resultado de las llamadas se puede ver a través del navegador.

Requerimientos previos

Cómo empezar

En un directorio nuevo, ejecutar

$> git clone ESTE-REPOSITORIO $> npm init $> npm install -g @remix-project/remixd

Arrancar Ganache (en modo gráfico o consola), ejecutar (ejemplo, según version)

$> ./ganache-*.AppImage

Se mostrará en la pantalla, la dirección donde se está ejecutando, el puerto y el número de la red, así como las cuentas con ETH asignadas en prueba.

Arrancar remixd desde la línea de comandos del Sistema operativo para

$> remixd -s directorio-del-código/BlockchainLab2-identidad-2 --remix-ide http://remix.ethereum.org

Conectar REMIX IDE con remixd para acceder a los ficheros locales. Desde dentro de la pantalla de RemixIDE, opción "Connect to Localhost". Si es todo correcto, se mostrarán los ficheros del directorio en la página de RemixIDE.

Editar el fichero index.html para poner la URL donde se está ejecutando Ganache y el puerto correspondiente.

Compilar los contratos "ClaimHolder.sol" y "ClaimVerifier.sol".

Desplegar los contratos eligiendo un "Environment"="Web3 Provider" que será nuestro servidor Ganache. Asegurar que ponemos el puerto correcto de Ganache.

Para desplegar los contratos, se debe ir eligiendo una cuenta diferente para cada elemento de la práctica (Alumno, Universidad, Empresa) y se debe asociar cada uno a su contrato correspondiente según corresponda:

  • el Alumno es ¿ClaimHolder o ClaimVerifier?
  • la Universidad es ¿ClaimHolder o ClaimVerifier?
  • la Empresa es ¿ClaimHolder o ClaimVerifier?

Cada vez que se despliega un contrato en RemixIDE va asignando un address que debemos copiar dentro del index.html en el apartado correspondiente a cada actor.

En el caso del ClaimVerifier, al desplegar el contrato, se necesita un parámetro (el verificador confiable). Hay que seleccionar la address del contrato desplegado correspondiente ¿es el del Alumno o el de la Universidad o el de la Empresa?

Por último, se lanzará la web. Para ello, en una ventana de Consola del Terminal, que quedará cautiva, ejecutaremos

$> python3 -m http.server

Ahora, ya podremos lanzar el navegador y acceder a la página https://localhost:8000 para ver el index.html e iniciar la práctica

Acciones posteriores a desarrollar por el alumno

En el código Web3 de index.html sólo se facilita la función inicial y deben completarse las funciones restantes:

  • Emisión de credencial
  • Acceptación de credencial
  • Verificación de credencial

blockchainlab2-identidad-2's People

Contributors

juanluisgozalofdez avatar

Watchers

 avatar

Forkers

jborregos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.