/BlockBuster_Hackathon

Hackathon BUET CSE Fest 2023

Primary LanguageJavaScript

BlockBuster

Supply Chain Application for authentic artworks & premium collectibles.

The application ArtBlock is a unique web platform, designed for selling and buying authentic artworks from artists and premium collectibles in physical form from creators around the globe. The platform is built on web3 rails, leveraging blockchain technology and its tools to enforce anonymity, credentials verification, and authenticity.

Badges

SolidityEthereum React Vite TailwindCSS Web3.js NPM

Acknowledgements

Installation

Installation and running of this project to the local machine may vary the dependencies. You may follow the Installation process :

  1. Copy the URL for the repository. To clone the repository using HTTPS, under "HTTPS", click. To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click SSH, then click.To clone a repository using GitHub CLI, click GitHub CLI, then click .

  2. Open Git Bash.

  3. Change the current working directory to the location where you want the cloned directory.

  4. Clone the repository to your local machine using the following command:

  git clone https://github.com/your-username/your-project.git
  1. Press Enter to create your local clone.

  2. Go to the project directory

  cd project-Name
  1. Install dependencies
  npm install

Run Locally

Start the Server

  npm run dev

This will start the development server and it will be accessible at http://localhost:port. Port may vary from machine to machine.

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

PRIVATE_KEY

The PRIVATE_KEY comes from the MetaMask wallet in this project.

Deployment

To deploy this project run

  npm run deploy

API Reference

Retrieve MetaMask Wallet Address

  GET /wallet/address
Parameter Type Description
api_key string Required. MetaMask address under account name

MetaMask Address Authentication

  GET /wallet/address?api_key=YOUR_API_KEY
Parameter Type Description
api_key string Required. Your API key for authentication

Ethereum API

  GET window.ethereum.request
Parameter Type Description
api_key string Required. Return a boolean result
  GET eth_gasPrice
Parameter Type Description
api_key string Required. Ethereum API Gas price
  GET eth_gasPrice
Parameter Type Description
api_key string Required.Ethereum API Gas price
  GET eth_sendTransaction
Parameter Type Description
api_key string Required.Ethereum API Gas price

Features

  • Anonymity for Buyers: Buyers can remain anonymous while purchasing items on the web platform. This feature allows buyers to maintain privacy and confidentiality.
  • Suppliers Registration: Artists and creators are required to register themselves on the platform. This registration process enables the platform to verify the authenticity and credibility of the suppliers.
  • Verify Authenticity: Buyers can verify the authenticity.
  • Request for order anonymously.
  • View Order Status: Buyers can view the delivery/supply status of their orders. And other features based on the supplier and buyer and verifier.

Tech Stack

Client: React, TailwindCSS

Smart contract : Solidity

Server: ThreeWeb

Tools

IDE : Visual Studio Code, Remix

Wallet : Metamask

Environment : Hardhat

Screenshots

Home page

image

Sign In with Metamask wallet

image

Add New ArtWork By Supplier

image

Filter ArtWork By Condition

image

Optimizations

Gas optimization has been used for the smart contract.

Authors