EduBlock represents a private blockchain platform intended for the sharing of educational records between universities. It was created to serve as my bachelor thesis degree.
The following software must be installed in order to run the setup:
- RabbitMQ
- Docker
- Node.js
The Docker and RabbitMQ services must be started before running the nodes setup.
- clone the repository
- run
npm install
- run
docker-compose up
in thedocker
folder - start one or more
edunodes
using the gulp commandeduNode:runNode:*
- copy the public key from the console and add them into the network-map-service/resources/network-identities.json file
- start the NMS node with the gulp command
nms:runNode
- start the CA node with the gulp command
ca:runNode
- start the Worker node using the gulp command
eduNode:runNodeWorker:*
- start the edu-nodes UI with the gulp command
eduNode:runNodeUI:*
The setup for each node can be configured in the following files:
- network-map-service/resources/identities.json
- edunode/resources/identities.json
- edunode-worker/resources/identities.json
- certificate-authority/resources/identities.json
- edunode-ui/src/proxies/*.json
The project uses the following libraries:
- Axios: https://github.com/axios/axios
- JsonWebToken: https://github.com/auth0/node-jsonwebtoken
- TypeORM: https://typeorm.io/#/
- TypeDI: https://github.com/typestack/typedi
- EOSJS-ECC: https://github.com/EOSIO/eosjs-ecc
- Amqp-ts: https://github.com/abreits/amqp-ts/wiki
- Mocha: https://mochajs.org
- Chai: https://www.chaijs.com/plugins/chai-http/
- ClassValidator: https://github.com/typestack/class-validator
- Express: https://expressjs.com
- Angular: https://angular.io
- Angular Material: https://material.angular.io
- Gulp: https://gulpjs.com
- NGRX: https://ngrx.io
- Jasmine: https://jasmine.github.io