arun664 / Blockchain-based-Certificate-Authentication-System

Decentralized Application to verify the authenticity of Academic Certificates

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OUTDATED REPO: CREATE PR IF YOU WISH TO CONTRIBUTE :shipit:

Blockchain-based-Certificate-Authentication-System

Decentralized Application to store and verify the authenticity of Academic Certificates

Built using Ethereum on local blockchain setup and deployed on Ropsten test network.

Contract deployed at 0xAC677Fd653576A70b9fAde4396caEE4AE21fc95a
RPC Network Ropsten Test Network

Steps to set up local development environment

Setting local blockchain

  1. We need to install Node, Ganache and Truffle.

    Download Node.js

    Download Ganache & create a workspace.

    For Truffle

    npm i -g truffle
  2. Install dependencies

    Launch cmd in project folder path

    npm install

    after completion

    cd client
    npm install
  3. Deploy the smart contract to the local blockchain.

    truffle migrate

If the contracts are modified, then they should be re-migrated.

Setting MongoDB

  1. Create account in MongoDB Atlas

  2. Create a cluster and get the URI key, add it to .env file.

Setting Mail Service

  1. Create an account in Sendgrid

  2. Verify single sender email and get the API key, add them to .env file

Now we can start the server

In project folder, for server

npm run dev

In client folder

npm start

Deploying Smart Contract

The contract can be deployed in any test networks. We are using Ropsten test network with the help of truffle.

  1. First of all we need to have a metamask account. When we create an account in metamask a mnemonic is given to us. You can read how to get a mnemonic here.

  2. After that create a project in Infura. This will help us to use ropsten network through infura.

  3. You will get an endpoint like this https://ropsten.infura.io/yourapikey.

  4. Add this API key, Ropsten Account address and it's private key in .env files.

  5. Now you can deploy the smart contract using a single command:

    truffle migrate

Deploy client to heroku

Deploy

Install heroku-cli & follow the steps to deploy.

Youtube project demo video

youtube-picture

Client side Heroku

Certificate Id : b2a90ded903d7b07b47c1bec2b398fd788deef5f

Click here to view and verify certificate.

Contributors

st
Arun Kumar M
st
Dilip Vummaneni
st
Gnanendra Prasad T
st
Shashidhara N

Happy coding!! 😎

About

Decentralized Application to verify the authenticity of Academic Certificates

License:GNU General Public License v3.0


Languages

Language:JavaScript 97.0%Language:Solidity 1.6%Language:HTML 1.5%