Skip to content

ZeroSHA256Chain/web

Repository files navigation

DEDUAssess - Decentralized EDU Assessment

We, the ZeroSHA256Chain team, are dedicated to developing an innovative blockchain-based platform that enables students to validate their completed tasks while allowing educators and independent experts to efficiently verify these achievements. Our goal is to create a transparent, automated, and secure system for tracking educational success.


Getting Started

This guide will help you set up the development environment, run tests, and deploy the contract either locally. Whether you're a developer new to blockchain or an experienced contributor, these instructions are designed to help you get up and running quickly.


Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v14 or later)
  • npm or bun

For Hardhat installation and documentation, visit the Hardhat Getting Started Guide.


Local hardhat setup

Repository with the smart contract - https://github.com/ZeroSHA256Chain/smart_contract

  1. Clone the Repository:
     git clone https://github.com/ZeroSHA256Chain/smart_contract
     cd smart_contract
  2. Install Hardhat (if not already installed):
     npm install --save-dev hardhat
  3. Install Project Dependencies:
     yarn   
    or
    npm install .

4 Running Tests To run the complete test suite and ensure everything is working as expected, execute:

npx hardhat test

Local Smart Contract Deployment and UI Interaction

To deploy and interact on your local blockchain network, follow these steps:

  1. Start a Local Hardhat Node:

    npx hardhat node

    This command starts a local Ethereum JSON-RPC server at http://127.0.0.1:8545/ Also you can see a list of test accounts you can use later

  2. Deploy the Contract Locally:

    npx hardhat ignition deploy ./ignition/modules/DEDUAssess.js --network localhost
  3. Add local network to MetaMask

    First, you need to visit our website. In the pop-up window, you will need to connect your MetaMask wallet.

    Next, we go to MetaMask and connect to our local network:

    • First click. Select a network

    • Second click. + Add a custome network

    image

    You should see something similar to this.

  4. Get test account

    When you run npx hardhat node, you may see many test account:

    image

    These are test accounts that have tokens on the network and can be used for network testing. Choose one account that you like and copy its private key.

    Now you need to return to MetaMask:

    • First click: accounts
    • Second click: + Account or hardware wallet
    • Third click: Import account

    image

    Now click import and test account should appear in your wallet.(with 10000 tokens)

    image

    Now you can return to our website and perform system testing :)

Running UI localy

You can use deployed website on https://web-zeta-wheat-80.vercel.app/ but it is also possible to start it localy

  1. clone web repository
  2. npm install
  3. npm run dev

Using UI

  1. After connecting to metamask you can see a starting page. Firstly add a project.
image
  1. After reloading projects, you can see the project in a "Projects you can verify" list image

  2. Choose different account in MetaMask and reload page

    image
  3. Now open the project and submit a task image

  4. Choose previous account and open your project. You can see a submitted task.

image
  1. Verify or reject it and reload submission lists image
image
  1. You can verify any submission on "Verify Submission" Page
image

Latest Deployed Contract

The most recent deployment of the DEDUAssess contract is available at:

0xC3B6ECF9E480c27A9492A975710Bb976ED008e7b

You can view the contract details on the Polygon Amoy Explorer