Skip to content

sudhansu-24/launchpad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ LaunchPad NFT Marketplace

LaunchPad NFT Marketplace is a decentralized platform where users can mint, list, buy, and sell NFTs on the Ethereum blockchain. Built using Solidity, Hardhat, React, Ethers.js, and IPFS, this project offers a seamless and intuitive experience for NFT enthusiasts.


🌟 Features

  • πŸ–Ό Mint NFTs: Upload NFT metadata to IPFS and mint unique NFTs.
  • πŸ“’ List NFTs for Sale: Set a price and list your NFTs on the marketplace.
  • πŸ’° Buy NFTs: Purchase NFTs directly from the marketplace.
  • ❌ Delist NFTs: Remove your NFT from the marketplace anytime.
  • πŸ“œ Transaction History: View all past transactions.
  • πŸ”— Ethereum Integration: Supports MetaMask for seamless transactions.
  • ⚑ Fast & Secure: Uses Hardhat for smart contract development and Ethers.js for blockchain interaction.
  • πŸ“± Fully Responsive: Optimized for all devices with mobile-first design

πŸ›  Tech Stack

Frontend: React, JavaScript, Ethers.js, CSS

Backend: Solidity (Smart Contracts), Hardhat, IPFS

Blockchain: Ethereum (Sepolia Testnet)


πŸš€ Installation & Setup

Prerequisites

Ensure you have the following installed:

  • Node.js (v16 or later)
  • MetaMask extension
  • Hardhat (Ethereum development environment)

1️⃣ Clone the Repository

git clone https://github.com/sudhansu-24/launchpad.git
cd launchpad

2️⃣ Install Dependencies

npm install

3️⃣ Setup Environment Variables

Create a .env file in the root directory and add your Infura/Alchemy API Key and MetaMask Private Key:

PRIVATE_KEY=your-metamask-private-key
INFURA_API_KEY=your-infura-or-alchemy-api-key

4️⃣ Compile & Deploy Smart Contract

npx hardhat compile
npx hardhat run scripts/deploy.js --network sepolia

πŸ“Œ Note: Save the deployed contract address and update it in web3.js.

5️⃣ Start the Frontend

cd frontend
npm install
npm start

The application will run at http://localhost:3000.


πŸ“œ Smart Contract Overview

LaunchPadNFT.sol (Solidity Contract)

This contract handles the NFT minting, listing, buying, and delisting functionalities.

  • mintNFT(string memory tokenURI) β†’ Mints a new NFT
  • listNFT(uint256 tokenId, uint256 price) β†’ Lists an NFT for sale
  • buyNFT(uint256 tokenId) β†’ Buys an NFT
  • delistNFT(uint256 tokenId) β†’ Removes an NFT from sale

🎨 UI Screenshots

1. Welcome to LaunchPad

Landing Page

2. Choose Your Role

Role Selection

3. Creator's Dashboard

Creator Dashboard

4. NFT Marketplace Overview

NFT Marketplace

5. NFT Details View

NFT Details

6. Buyer's Interface

Buyer's View

7. Transaction History

Transaction History

8. HOW IT WORKS?? {FOOTER & CONNECTIONS}

Footer Section



πŸ“± Mobile Usage Guide

Setting Up MetaMask on Mobile

  1. Download the MetaMask mobile app from:
  2. Create a new wallet or import your existing wallet using the seed phrase
  3. Connect to the Sepolia testnet:
    • Open MetaMask
    • Tap the network selector at the top
    • Select "Sepolia Test Network"

Using LaunchPad NFT on Mobile

  1. Open the MetaMask mobile app
  2. Tap on the browser icon (🌐) at the bottom of the MetaMask app
  3. Visit our Live Demo in the MetaMask browser
  4. Your wallet will be automatically connected since you're using MetaMask's browser
  5. Start exploring and trading NFTs!

⚠️ Important Note: For the best and most secure experience, always use the built-in MetaMask browser. Other mobile browsers may not work correctly with Web3 applications.

Tips for Mobile Users

  • Ensure you have sufficient Sepolia ETH for transactions
  • Keep your MetaMask app updated
  • For the best experience, use a stable internet connection
  • Clear browser cache if you encounter any issues
  • Double-check NFT prices and gas fees before confirming transactions

Mobile Features

  • Swipe gestures for browsing NFTs
  • Responsive design for all screen sizes
  • Touch-optimized buttons and interfaces
  • Quick access to transaction history
  • Easy-to-use image upload for NFT creation

🀝 Contribution

Want to contribute? Follow these steps:

  1. Fork the repository
  2. Clone your forked repo
  3. Create a new branch: git checkout -b feature-branch
  4. Commit changes: git commit -m "Your message"
  5. Push to GitHub: git push origin feature-branch
  6. Open a Pull Request

🌟 Acknowledgments

  • OpenZeppelin for ERC721 contracts
  • Hardhat for Solidity development
  • MetaMask for Web3 integration
  • IPFS for NFT metadata storage

About

LaunchPad: NFT Marketplace for Space Enthusiasts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors