Skip to content

abdulsamad245/blockchain-app

Repository files navigation

Blockchain App

Web3 marketplace application with a frontend client and Solidity smart contracts.

Overview

This repository contains:

  • A frontend app for wallet connection, listing, and purchase flows.
  • A contract package for NFT and marketplace logic.
  • Shared scripts for formatting, linting, testing, and deployment.

Tech Stack

  • Frontend: React
  • Smart Contracts: Solidity + Hardhat
  • Web3: Ethers.js

Project Structure

  • frontend/ application source and UI assets
  • contracts/ smart contracts, deployment scripts, and tests
  • docs/ architecture notes

Frontend source layout:

  • frontend/src/components/ route/UI components
  • frontend/src/lib/ reusable domain utilities (wallet, IPFS, hashing, certificates)
  • frontend/src/config/ runtime environment accessors
  • frontend/src/contractsData/ deployed ABI and address artifacts

Prerequisites

  • Node.js 18 or newer
  • npm 9 or newer
  • MetaMask (or compatible injected wallet)

Getting Started

npm install
npm --prefix frontend install
cp frontend/.env.example frontend/.env

Environment Variables

  • REACT_APP_INFURA_PROJECT_ID Infura project ID (required)
  • REACT_APP_INFURA_PROJECT_SECRET Infura project secret (required)
  • REACT_APP_IPFS_GATEWAY_BASE_URL public gateway used to resolve uploaded IPFS content
  • REACT_APP_BLOCK_EXPLORER_BASE_URL explorer base URL for wallet links

Available Scripts

From repository root:

  • npm run dev start frontend in development mode
  • npm run build build frontend for production
  • npm run test run frontend test suite
  • npm run test:contracts run Hardhat contract tests
  • npm run deploy:local deploy contracts to local network and sync ABI/address files
  • npm run lint run lint checks
  • npm run format format source files
  • npm run format:check verify formatting

Deployment Artifacts

Contract deployment output is written to frontend/src/contractsData and consumed by the frontend runtime.

Troubleshooting

  • Reconnect MetaMask or refresh the page if wallet initialization stalls.
  • Re-run npm run deploy:local if contract artifacts and frontend addresses are out of sync.
  • Remove contracts/cache and contracts/artifacts if Hardhat cache causes stale compile behavior.

Documentation

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors