/DeepSpace

NFT Marketplace

Primary LanguageJavaScript

DeepSpace

Blockchain Based NFT marketplace DApp where users mint ERC721 implemented NFTs.

made-with-react

DeepSpace : About

  • It is a blockchain based project for Trading Nft's.
  • It works on the idea that: “All the users can buy,sell,mint/create their Nft's or can just view Nft's that are created by other people in the world” The entire process works on the blockchain in partnership with the IPFS(to provide data security).
  • Does Everything for Nft's : Creating ,Selling and Buying .
  • Thus this is a modern way to manage and trade Nft's!
  • This is my Diploma Final year Project.

Insight

  • It is D-App on Ethereum.
  • Back-End has Smart Contract
  • Front-end of our Web-App is made with React.Js
  • All User-Data is stored on IPFS also every data is first encryted locally and then send to ipfs to have more security

  • We are using Metamask Browser Extension to work with Ethereum.

  • We have used Truffle for testing our project

    How to Use

Signup/Login

  • Connect to metamask

  • Upon First Signup Metamask User Profile will be set to default values.

  • You can edit your profile by going to the profile Setting page.

  • Landing page.

  • Landing page have these options :

     - `Create`
          - User's can create their Nft's by going to the create section. They can upload their artwork , give it name, set appropriate price and description.
    
     - `Explore`
          - User's can Explore all the Nft's that have been minted by all users on our site. On the explore page user will get some filter options like recently minted or getting Nft's between specific price range(some filters are yet to be added still working on it).
    
  • Create page. - User's can create their Nft's by going to the create section. They can upload their artwork , give it name, set appropriate price and description.

- Explore page. - User's can Explore all the Nft's that have been minted by all users on our site. On the explore page user will get some filter options like recently minted or getting Nft's between specific price range(some filters are yet to be added still working on it).

- Nft Details page. - User's can view details about a particular Nft by clicking on it(nft info includes: Nft image, Creator, Current Owner,Previous Owner,Buy Option,if owner[then keep for sale/remove from sale option and change price option],description).

- Buy Nft by clickinh on buy button

- Query page. - User's can Query details about a particular Nft by the Id of it ,user can get address of the owner an csn get metadata about a particular nft by using its Id.

Stack

  • Solidity - Object-oriented, high-level language for implementing smart contracts.
  • Bootstrap 4 - CSS framework for faster and easier web development.
  • React.js - JavaScript library for building user interfaces.
  • web3.js - Allows users to interact with a local or remote ethereum node using HTTP, IPC or WebSocket.
  • Truffle - Development environment, testing framework and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM).
  • Ganache - Personal blockchain for Ethereum development used to deploy contracts, develop DApps, and run tests.

Interact with the deployed DApp

  • Marketplace DApp requires Metamask browser wallet extension to interact with.
  • Connect metamask browser wallet to Localhost 7545 running a custom RPC like Ganache.

Run the DApp Locally

Install truffle

npm install -g truffle

Install ganache-cli

npm i ganache-cli

Run ganache-cli

ganache-cli --port 7545

Open new terminal window and clone this repository

git clone https://github.com/HarshDilipGhosalkar/DeepSpace.git

Install dependencies

cd DeepSpace
npm install

Compile smart contract

truffle compile

Deploy smart contract to ganache

truffle migrate

Test smart contract

truffle test

Start DApp

npm start
  • Open metamask browser wallet and connect network to Localhost 7545.
  • Import accounts from ganache-cli into the metamask browser wallet to make transactions on the DApp.

    Contributing

    • We're are open to enhancements & bug-fixes.
    • Feel free to add issues and submit patches.

    Authors

License

This project is licensed under the MIT