Skip to content

nishant-uxs/firstonblockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

NFT Diplomas: Issue Verifiable Diplomas as NFTs for Graduates

Vision

The NFT Diplomas project envisions a future where traditional paper-based diplomas are replaced by blockchain-based, verifiable digital certificates. By issuing diplomas as NFTs (Non-Fungible Tokens), educational institutions can provide students and graduates with verifiable credentials that are secure, transparent, and easily transferable. This system eliminates diploma fraud, reduces administrative burden, and allows employers and institutions to easily verify the authenticity of a graduate's credentials on the blockchain.

Why NFT Diplomas?

  • Authenticity: Diplomas are stored on the blockchain, making them tamper-proof and easily verifiable.
  • Decentralized: Removes reliance on centralized authorities for diploma issuance and verification.
  • Ownership: Graduates have full control over their digital diploma NFTs.
  • Transferability: Graduates can share and prove their qualifications anywhere online or offline through a verified blockchain record.

Future Goals

Short-Term Goals

  • Institutional Partnerships: Engage with educational institutions to issue NFT diplomas directly from their systems.
  • User-friendly Interfaces: Develop easy-to-use interfaces for students and administrators to mint, transfer, and verify diplomas.
  • Public Verification System: Build a public verification platform where anyone can input a wallet address or NFT ID to verify a diploma's authenticity.

Long-Term Goals

  • Cross-chain Compatibility: Expand the project to other blockchain ecosystems like Ethereum, Solana, and Binance Smart Chain, enabling institutions and users to choose their preferred network.
  • Smart Contract Upgrades: Include features such as NFT metadata for detailed information on the degree (e.g., major, GPA, date of graduation) and course history.
  • Integration with Employment Platforms: Partner with job platforms such as LinkedIn and Indeed to integrate verifiable credentials, allowing instant verification of qualifications during hiring processes.
  • Automated Issuance and Notifications: Automate diploma issuance upon graduation and implement notifications for degree updates or further certifications.

Smart Contract Overview

The smart contract for NFT Diplomas is written in Move, the programming language of the Aptos blockchain. Below is an overview of the contract's key components.

Contract Name: Diploma::NFTDiploma

1. Struct: DiplomaNFT

This struct defines the NFT that represents the diploma. Each diploma contains:

  • creator: The address of the institution or authority issuing the diploma.
  • graduate_name: The name of the graduate, stored as a vector of bytes.
  • issue_date: The date the diploma was issued, represented as a Unix timestamp (u64).
struct DiplomaNFT has key {
    creator: address,
    graduate_name: vector<u8>,
    issue_date: u64,
}

2. Function: mint_diploma

This function allows the authorized account (an institution or admin) to mint a new diploma NFT. The NFT is linked to the graduate by storing the name and issue date.

Parameters:

  • account: The signer's account that is issuing the diploma.
  • graduate_name: The graduate's name (in vector format).
  • issue_date: The date the diploma was issued.
public fun mint_diploma(
    account: &signer,
    graduate_name: vector<u8>,
    issue_date: u64
) {
    let owner_address = signer::address_of(account);
    let diploma_nft = DiplomaNFT {
        creator: owner_address,
        graduate_name,
        issue_date,
    };

    move_to(account, diploma_nft);
}

Behavior:

  • Mints a new DiplomaNFT and moves it into the account of the issuer (the educational institution).

3. Function: transfer_diploma

This function allows the current owner of the diploma to transfer the NFT to another address, which can be a graduate or another institution.

Parameters:

  • account: The signer's account that is transferring the diploma.
  • _recipient: The recipient's address to whom the diploma NFT will be transferred.
public fun transfer_diploma(account: &signer, _recipient: address) acquires DiplomaNFT {
    let owner_address = signer::address_of(account);
    let diploma_nft = move_from<DiplomaNFT>(owner_address);

    move_to(account, diploma_nft);
}

Behavior:

  • Transfers the DiplomaNFT from the issuer or current holder to a new owner.

How to Deploy and Use the Contract

Step 1: Deploying the Contract

To deploy this contract on the Aptos blockchain:

  1. Install the necessary development environment for Aptos.

  2. Compile the Move module and deploy it using the Aptos CLI:

    aptos move compile
    aptos move publish
  3. After deployment, you can interact with the contract using the Aptos SDK or Aptos CLI.

Step 2: Minting a Diploma

To mint a diploma, you can call the mint_diploma function by passing the graduate's name and issue date. This will create an NFT diploma and store it in the issuer's account.

Step 3: Transferring a Diploma

Once the diploma is minted, it can be transferred using the transfer_diploma function. The institution can transfer the diploma to the graduate's account.


Deployment:-

https://explorer.aptoslabs.com/account/0x2431955aaeaa679d1233bbd5f28a7504367d7dcf86f6078be7996011fd994e3e?network=mainnet Hash:- 0x2431955aaeaa679d1233bbd5f28a7504367d7dcf86f6078be7996011fd994e3e

Testing and Interaction

You can test the deployed smart contract by:

  1. Using the Aptos CLI for function calls.
  2. Using a frontend dApp built with Aptos SDK to call the contract functions from a web interface.
  3. Integrating with wallets like Martian or Petra to sign and submit transactions.

Conclusion

The NFT Diplomas project is a step towards making credential verification secure, decentralized, and globally accessible. With the increasing need for verifiable digital assets and credentials, NFT diplomas on the blockchain offer a revolutionary way to authenticate educational achievements, making verification simple and foolproof.

By implementing this system, we aim to empower educational institutions and graduates alike, providing secure and easily transferable credentials for the digital age.


License

This project is open-sourced under the MIT License.


This README includes a description of your project's vision, future goals, and details about the smart contract functions and structure, making it easier for others to understand and contribute to the project. Let me know if you need any adjustments!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors