A document vault decentralised application for students to get their documents and certificates from their universities. Our platform provides this in two ways. The first one using something called Soul Bound Tokens(SBT). As the name suggests the documents issued by the institution as SBT's are permanently minted to the student's address and are non-transferable. These are the documents a student might get need of anytime in his lifetime like their College Degree, Gradesheets and LOR(Letter of Recommendation).
The second one is a time-based document issuing we made possible using a standard called ERC 4907(Rental NFT's). Documents like Institute ID Card should only be available to the students for a fixed limited time. This is what we did. After the timer set by the institute expires, the document automatically burns for the student and the ownership goes back to the institute of issuing. This way institute can prevent the misuse of college documents after a student has graduated.
The major question now is how do we keep all of this under control? We do this by only using domain emails to verify the students and institutes (OTP verification). Only a student studying in a particular institute having the respective email domain can request for a document. Similarly, only the corresponding institution can issue a document/certificate to a student and no one else.
This is how we solve the problem of storing, maintaining, and security of documents by bringing it on chain making it easier for the students as well as institutes.
There were quite a few challenges we came across while building this project. The first one was making our Solidity contracts compatible and running within the XDC architecture. Since we were new to XDC it took us more time than it should to deploy the contracts. The issue was majorly with version mismatches due to Hardhat. But we eventually came across this hurdle using the XDC Docs and examples which were clear and thorough. We made a small mistake of not refering the Docs sooner.
We also faced issues displaying a live counter for our time based documents for the Student Profile. This was due to our lack in experience working with rental NFT's before. We overcame this challenge by being patient and giving the issue some time.
We sat patiently for hours solving the bugs and errors one by one and eventually emerged succesful.
For the deployment of smart contracts on Coin Ex using Hardhat we faced difficulty finding the correct test url. We had to go through a lot of Open Source projects to figure it out. Later, we found a medium article explaining step by step deployment of Contracts on CoinEx using Hardhat.
We also faced some time management issues due to having a large frontend to build from scratch in such less time frame. We wasted some of our time in poor team management and work division and had to take some help and advice from our mentors who were with us throughout the hackathon. With our experts to our help we were able to divide and distribute all the work very efficiently and complete the hackathon timely.
Tracks Applied (5)
Polygon
XDC Network
XDC Network
XDC Network
CoinEx Smart Chain
Discussion