The Student Data Smart Contract aims to create a secure, decentralized system for managing student records on the Ethereum blockchain. This project provides a way for educational institutions, students, and authorized third parties to manage and access student data with transparency and security. By leveraging blockchain technology, we ensure that student data is tamper-proof and controlled directly by the data owner, enabling trust and privacy in data management.
+-------------------------------+
| Deploy Contract |
+-------------------------------+
|
v
+-------------------------------+
| createStudentData() |
| (Student Data Creation) |
+-------------------------------+
|
v
+-------------------------------+
| updateStudentData() |
| (Student Data Update) |
+-------------------------------+
|
v
+-------------------------------+
| viewStudentData() |
| (View Student Data) |
+-------------------------------+
|
v
+-------------------------------+
| transferDataOwnership() |
| (Transfer Ownership) |
+-------------------------------+
|
v
+-------------------------------+
| giveConsent() |
| (Consent Management) |
+-------------------------------+
|
v
+-------------------------------+
| authorizeViewer() |
| (Viewer Authorization) |
+-------------------------------+
|
v
+-------------------------------+
| revokeViewer() |
| (Revoke Viewer Access) |
+-------------------------------+
- Network: ADU chain
- Contract Address:
0x1780EDFAF1e38B982208b088b34693Da47E95FE6
Creates a new student record with the provided name, grade, and data. This function stores the data hash on-chain and emits a StudentCreated event.
Updates the student data identified by _studentId. Only the data owner can perform this action. The function updates the data hash and emits a StudentDataUpdated event.
Allows the data owner or authorized viewers to access the student's name, grade, and data hash. Unauthorized access attempts are rejected.
Transfers the ownership of the student's data to a new address. Only the current data owner can perform this action. A DataOwnershipTransferred event is emitted.
Grants consent for data processing. The data owner must invoke this function, and it triggers a ConsentGiven event.
Revokes previously granted consent. This action is restricted to the data owner and emits a ConsentRevoked event.
Authorizes a new viewer to access the student's data. This function is callable only by the data owner and emits a ViewerAuthorized event.
Revokes a previously authorized viewer's access. This action is restricted to the data owner and triggers a ViewerRevoked event.
- Integration with IPFS: Storing encrypted student data off-chain using IPFS for greater scalability.
- Multi-Signature Authorization: Implementing multi-signature functionality to improve security and consent management.
- Interoperability: Expanding to other blockchains for a multi-chain solution to student data management.
- User Interface: Developing a web-based interface for non-technical users to interact with the contract.
- Developer: Sumit Kumar Jaiswal
- Email: sumit500123@gmail.com
- GitHub: https://github.com/Strange0000

