Skip to content

Harshithamediboina/fake-product-identification

 
 

Repository files navigation

A blockchain-based Product Ownership Management System to detect and prevent counterfeit products in the supply chain.

Note: This project is under development.

Table of Contents

About

  • In today’s world, how do you know if you are buying a genuine product?
  • We leverage the idea of Bitcoin’s blockchain that anyone can check the proof of possession of balance. Along with this, we plan to use QR codes.
  • We plan to implement a proof-of-concept system employing a blockchain-based decentralized application which gives a customer the entire history of a product ownership (eg - brand info, owner, etc).

Data Flow

Data Flow

Why blockchain?

  • Unlike a normal database, Blockchain has a non-destructive (immutable) way to track data changes over time. This means that data is not editable rather, whenever updates are made, a new block is added to the “block-chain”. This helps track historical data (authenticity and owner data) of a product.
  • Given the amount of data to be dealt with (large amount of products being developed), if you have to keep track of all of them, it is better to have a decentralized and distributed network of nodes so that no entity can tamper with the product data and we also obtain 100% up time.
  • Transparent nature of the Blockchain.
  • Using Blockchain, authenticity can be checked and ownership of a product can be transferred easily.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You should have metamask, and Ganache setup already

Installing

A step by step series of examples that tell you how to get a development env running. You should have metamask, and Ganache setup already (for testing).

Cloning the repo

$ git clone https://github.com/utkarsh914/fake-product-prevention-using-blockchain.git

Installing the dependencies

$ npm install

Migrate

$ truffle migrate --reset

Running the server

$ npm run dev

Running the tests

$ truffle test

Technology Stack

Blockchain:

  • Ethereum - Blockchain Network
  • Solidity - Smart Contracts
  • Truffle - development environment, testing framework and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM)
  • Ganache - Create private Ethereum blockchain to run tests

Web App:

  • Metamask - A crypto wallet & gateway to blockchain apps
  • Web3.js - collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket
  • React - For designing user interface
  • CSS - Style Sheet Language
  • Bootstrap - Templating

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.3%
  • Solidity 13.1%
  • HTML 6.1%
  • CSS 2.5%