Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

General Question on how to use Quorum blockchain

I am very new to quorum programming. I already made some Smart Contracts with solidity on ethereum and made some dapps with Truffle, React and Metamask.

Now I did this Quorum Tutorial: https://truffleframework.com/tutorials/building-dapps-for-quorum-private-enterprise-blockchains

Before I get to the problem I have, I tell you what I am trying to do: Right now we have a database in our school, where the teacher can save the marks of the students, and the students can log in and see the marks they have. I'm trying to make a prototype, where this data is stored on a private blockchain like quorum.

So what I already did is a react front end for the prototype and I want that teachers can log in, save marks for a student and then the students can log in and see their marks. This means that students and teachers all need a login.

The Problems I face:

  1. How can I set up a local productive quorum node?
  2. For ethereum and ganache, you can use metamask and then use the metamask account in the react front-end to make transactions. How does it look like with quorum?

  3. How can I make a login? Or does the teacher and student need to know a private key for their account?

As you can see, Im very new in this world and I need to learn a bit more about the concept.

Thank you for your help

like image 979
BlockchainProgrammer Avatar asked Mar 04 '23 16:03

BlockchainProgrammer


2 Answers

How can I set up a local productive quorum node?

Something like Quourum Maker may assist you in being able to quickly bootstrap a Quorum network without having to go through tedious manual configuration. The Quorum documentation is also full of tutorials that can guide you through this process.

For ethereum and ganache, you can use metamask and then use the metamask account in the react front-end to make transactions. How does it look like with quorum?

You could utilize something akin to ethereumjs-wallet to create wallets in-code and send the transactions via the Quorum web3.js library. You would need to then map these wallets to users in an off-chain database which leads into your next question.

How can I make a login? Or does the teacher and student need to know a private key for their account?

You can handle authentication in your web application via an IDP in which students and faculty already have existing credentials with if you have the appropriate access to do so. Otherwise, you could utilize SSO with well-known IDPs via something akin to Auth0.

Your flow would essentially involve first having the user authenticate, then tying their identity to a generated Ethereum wallet upon their first authentication and persisting these tied identities to an off-chain database. Subsequent authentications would pull the persisted wallet information from the off-chain database and use that for transaction signing. Other considerations would involve utilizing appropriate key management services as well as utilizing an HSM for secure transaction signing.

like image 149
Ben Beck Avatar answered Mar 25 '23 05:03

Ben Beck


I could have given you the steps but on a second thought, I think its a good idea to start using something simpler like https://github.com/ssbc/ssb-db and then, come back to Ethereum.

like image 45
BobinsonKB Avatar answered Mar 25 '23 03:03

BobinsonKB