Diseño y Desarrollo de un Servicio Blockchain para la Gestión de las Calificaciones Definidas en las Guías Docentes de los Títulos Universitarios
Aplicación blockchain para la gestión de una asignatura: alumnos, profesores, evaluaciones, notas...
https://tfm-muirst-bc.netlify.app
Es necesario tener instalado Node.js 12 y git.
- Clonar el repositorio:
git clone https://github.com/tfm-muirst-bc/asignatura.git
- Acceder a la carpeta e instalar las dependencias:
cd asignatura
npm install
-
Abrir Ganache y crear un nuevo workspace seleccionando el fichero
truffle-config.js
. -
Crear un fichero
.env
a partir de.env.example
y rellenar, al menos, la variableREACT_APP_ADDR_COORD_DEPLOYER_ASIGNATURA
con la última cuenta de Ganache (la número 9). -
Ejecutar los test:
npx truffle test
- Compilar los contratos y desplegarlos en la red local:
npx truffle migrate --compile-all --reset
-
Abrir la extensión de MetaMask en el navegador y conectarse a la red de Ganache utilizando su seed phrase.
-
Iniciar la dApp:
npm start
- Rellenar los contratos, que inicialmente están vacíos, ejecutando los scripts:
npx truffle exec scripts/rellenarUpmAlumnos.js
npx truffle exec scripts/rellenarUpmProfesores.js
- Crear un fichero
.env
a partir de.env.example
y rellenar las variables:
REACT_APP_MNEMONIC
con el mnemónico (seed phrase) de la cartera.REACT_APP_PROJECT_ID
con el identificador del proyecto de Infura.REACT_APP_FORTMATIC
con la clave de Fortmatic.
- Compilar los contratos y desplegarlos en la red Ropsten:
npx truffle migrate --compile-all --reset --network ropsten
- Generar la carpeta build para producción
npm run build
-
Subir la carpeta build a Netlify (o a otro hosting de sitios estáticos).
-
Acceder a la página desplegada:
5.1. Usar MetaMask
Abrir la extensión de MetaMask en el navegador y conectarse a la red de Ganache utilizando la seed phrase.
5.2. Usar MetaMask Mobile
Abrir la aplicación de MetaMask Mobile y crear o importar una cuenta. Luego, acceder a la página.
5.3. Usar Fortmatic
Si no puedes o no quieres usar MetaMask, tras esperar unos segundos aparece una ventana de Fortmatic que pide correo y contraseña. Una vez introducidos, Fortmatic ya se encarga de la gestión de cuentas.