A production-grade peer-to-peer messaging platform built on Ethereum using smart contracts — no servers, no databases, fully decentralized.
🔗 Live App: https://chat-dapp-live.netlify.app/
This project demonstrates a complete end-to-end Web3 application where users communicate directly through blockchain transactions.
Unlike traditional chat apps that rely on centralized servers, this system stores relationships and messages on-chain, ensuring:
- 🔐 Trustless communication
- 🌐 Censorship resistance
- 🧾 Immutable message history
- 👛 Wallet-based identity
Designed to showcase real-world smart contract architecture + modern Web3 frontend engineering.
- MetaMask wallet login (no passwords)
- On-chain account creation
- Address-based identity system
- Add friends via public wallet address
- Mutual friend relationship enforcement
- Dynamic friend list retrieval
- Peer-to-peer blockchain messaging
- Deterministic chat channels
- Immutable message storage
- Timestamped conversations
- Real-time UI updates
- Responsive mobile-first design
- Modern chat interface
- Message alignment (sender vs receiver)
- Attachment picker UI
- Dismissible error handling
- Optimized re-render performance
- Smart contract-controlled state
- Gas-efficient data structures
- Multi-network support
- Holesky / Sepolia compatible
User (MetaMask) │ ▼ Frontend (Next.js + React) │ ▼ Ethers.js / Web3Modal │ ▼ Smart Contract (Solidity) │ ▼ Ethereum Network(Mainnet/Testnet)
Try running some of the following tasks:
npx hardhat help
npx hardhat compile
REPORT_GAS=true npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.js --network localhost
npx hardhat run scripts/deploy.jsgit clone https://github.com/MayankSharma-ops/BlockChain-ChatDApp.git
cd BlockChain-ChatDAppnpm install
npm run dev
Mayank Sharma 🐙 GitHub: https://github.com/MayankSharma-ops
💼 Web3 / Full-Stack Developer
0x5FbDB2315678afecb367f032d93F642f64180aa3
##LICENSE MIT Liscense