/Web3Certificate

Create, Mint and Send certificates as SoulBound Token(Non transferrable NFTS)

Primary LanguageJavaScript

Certify- Blockchain Based Certificates

Track and Send Certificates using Non transferrable ERC721 Tokens (Inspired By: SBT- Soul Bound Token)

Make Sure you have React installed for local setup of this project
Learn more about React »
Report Bug
Project Link

✍️ Table of Contents

🔨 Project Breakdown

  • Developing ERC721 contract. Making changes to this contract and giving it the Sould Bound properties. Changing the before token transfer and after token transfer phases.
  • Deploying the contract using hardhat on goerli test network.
  • Using Ethers JS for smart contract interaction and safely minting the CBT.
  • Using IPFS for setting up the IPFS http client on the development server and adding metadata to the IPFS and receiving the IPFS hash for the Certify Token data.
  • Using ReactJS for setting up IPFS infura client node, ethers.js and also for providing the development server.

🔧 Built With

  • Frontend:
    • HTML
    • React
    • Ethers
    • JavaScript
    • IPFS HTTP Client
  • Contract:
    • Solidity
    • Remix
    • Metamask
    • Hardhat

🚀 Getting Started

To get a local copy up and running follow these simple steps.

🔨 Installation

  1. Clone the repo
git clone https://github.com/hrishi0102/Web3Certificate.git
  1. Installing dependencies and requirements
cd Web3Certificate
npm install ethers
npm install ipfs-http-client
npm install particles-bg
npm install bulma

Note: In case the project is still not working, use

npm i
  1. Running the APP
npm start

🧠 Usage

Built version:

  • npm v8.1.2
  • Node v16.13.2

The Basic goal is to make certificate records easily accessible. Reliable and data once minted cannot be deleted or erased which happens in centralized systems.

🤠 Contributions

Open for contributions. Just clone and follow the installation. Make changes and raise a PR detailing about the changes made.