Skip to content

BlockBelle is a Web3-based chat application built specifically for women in the blockchain space. It leverages ENS (Ethereum Name Service) for user verification and provides a WhatsApp-like interface for seamless communication between verified community members

Notifications You must be signed in to change notification settings

Ryjen1/BlockBelle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ฌ Chata-Bella

A Web3 Chat Platform Exclusively for Women in Blockchain

Chata-Bella is a decentralized chat application built on Celo that creates a safe, verified space for women in the Web3 ecosystem to connect, collaborate, and thrive together.

Live Demo License: MIT Built on Celo


โœจ Features

๐Ÿ” Identity Verification

  • Self Protocol Integration: Privacy-preserving age (18+) and gender verification using zero-knowledge proofs
  • Queens-Only Access: Gender-based verification ensures the platform remains a women-only space
  • Contract-Level Enforcement: Smart contract-level gender verification prevents unauthorized access
  • On-Chain Attestation: Verification status stored permanently on Celo blockchain

๐Ÿ’ฌ Decentralized Chat

  • ENS-Based Registration: Users register with custom ENS names
  • Group & Private Messaging: Chat with the entire community or individual members
  • Group Invites: Invite members to groups with accept/decline functionality
  • On-Chain Messages: All messages stored on Celo for transparency and permanence

๐Ÿ‘‘ Tier System

  • Tier 3 Badge: Verified users receive a crown badge indicating trusted identity
  • Visual Recognition: Badges displayed next to usernames throughout the app

๐ŸŽจ Modern UI/UX

  • Gradient Design: Beautiful pink-to-purple-to-indigo gradients
  • Responsive: Works seamlessly on desktop and mobile
  • Dark Mode Ready: Glassmorphism effects and modern aesthetics

๐ŸŽ GoodDollar Engagement Rewards

  • Welcome Bonus: New users receive ~63 G$ when referred by existing users
  • Referral Rewards: Inviters earn ~27 G$ for each successful referral
  • One-Time Claim: Users can claim rewards once per app per 180 days
  • Verified Users Only: Only users verified on GoodDollar can claim rewards
  • Seamless Integration: Built with GoodDollar Engagement SDK

๐Ÿš€ Tech Stack

Frontend

  • Next.js 16 - React framework with App Router
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first styling
  • Wagmi - React hooks for Ethereum
  • RainbowKit - Wallet connection UI
  • Self Protocol - Identity verification

Smart Contracts

  • Solidity 0.8.28 - Smart contract language
  • Foundry - Development framework
  • OpenZeppelin - Security-audited contract libraries

Blockchain

  • Celo Mainnet - Layer-1 blockchain
  • IPFS - Decentralized storage (planned)

๐Ÿ“‹ Prerequisites

  • Node.js 18+ (Note: Self Protocol requires Node 22-23)
  • npm or yarn
  • MetaMask or compatible Web3 wallet
  • Celo tokens for gas fees

๐Ÿ› ๏ธ Installation

1. Clone the Repository

git clone https://github.com/yourusername/Chata-Bella.git
cd Chata-Bella

2. Install Frontend Dependencies

cd next-frontend
npm install

3. Install Contract Dependencies

cd ../contracts
forge install

4. Environment Setup

Create .env.local in next-frontend/:

# Self Protocol Verification
NEXT_PUBLIC_SELF_ENDPOINT=0x0a0c863edd00af4e48ecbb6f0cd11fd42dee56c2
NEXT_PUBLIC_SELF_APP_NAME=Chata-Bella
NEXT_PUBLIC_SELF_SCOPE=chatabella-chat

# GoodDollar Engagement Rewards - Backend Signing Key
# Generate with: node scripts/generate-signing-key.js
APP_SIGNING_KEY=your_private_key_here

# Celo RPC
NEXT_PUBLIC_CELO_RPC_URL=https://forno.celo.org
NEXT_PUBLIC_APP_URL=https://chata-bella.vercel.app/

Create .env.production in next-frontend/:

NEXT_PUBLIC_SELF_ENDPOINT=0x0a0c863edd00af4e48ecbb6f0cd11fd42dee56c2
NEXT_PUBLIC_SELF_APP_NAME=Chata-Bella
NEXT_PUBLIC_SELF_SCOPE=chatabella-chat

Create .env in contracts/:

PRIVATE_KEY=your_private_key_here
CELOSCAN_API_KEY=your_celoscan_api_key

๐Ÿƒ Running Locally

Frontend Development Server

cd next-frontend
npm run dev

Visit http://localhost:3000

Smart Contract Testing

cd contracts
forge test

๐Ÿ“ฆ Deployment

Deploy Smart Contracts

cd contracts
forge script script/DeployProofOfHuman.s.sol --rpc-url celo --broadcast --verify

Deploy Frontend to Vercel

  1. Push to GitHub
  2. Connect repository to Vercel
  3. Set root directory to next-frontend
  4. Add environment variables
  5. Deploy

๐Ÿ—๏ธ Project Structure

Chata-Bella/
โ”œโ”€โ”€ next-frontend/          # Next.js frontend application
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ app/           # App router pages
โ”‚   โ”‚   โ”œโ”€โ”€ components/    # React components
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/         # Custom React hooks
โ”‚   โ”‚   โ”œโ”€โ”€ config/        # Wagmi & Web3 config
โ”‚   โ”‚   โ””โ”€โ”€ lib/           # Utility functions
โ”‚   โ”œโ”€โ”€ public/            # Static assets
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ contracts/             # Solidity smart contracts
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ProofOfHuman.sol    # Verification contract
โ”‚   โ”‚   โ”œโ”€โ”€ WhisprRegistry.sol  # User registration
โ”‚   โ”‚   โ””โ”€โ”€ WhisprChat.sol      # Chat functionality
โ”‚   โ”œโ”€โ”€ script/            # Deployment scripts
โ”‚   โ””โ”€โ”€ test/              # Contract tests
โ”‚
โ””โ”€โ”€ README.md

๐Ÿ“ Smart Contracts

Deployed Contracts (Celo Mainnet)

Contract Address Purpose
ProofOfHuman 0x0a0c863edd00af4e48ecbb6f0cd11fd42dee56c2 Identity verification
WhisprRegistry 0xA72B585c6b2293177dd485Ec0A607A471976771B User registration
WhisprChat 0x562456dBF6F21d40C96D392Ef6eD1de2e921bF2C Chat messages

Contract Verification

All contracts are verified on CeloScan. View source code and interact directly on the blockchain explorer.


๐ŸŽฏ How It Works

1. Connect Wallet

Users connect their Web3 wallet (MetaMask, WalletConnect, etc.) using RainbowKit.

2. Register

Choose a unique ENS name and register on-chain. This creates your Chata-Bella identity.

3. Verify Identity

Scan QR code with Self Protocol mobile app to verify:

  • Age (18+)
  • Gender (Female only)
  • Nationality (optional)

4. Get Verified

  • Females: Receive "Congratulations, Queen!" message and Tier 3 badge
  • Males: Receive respectful redirect message and cannot access chat

5. Start Chatting

Join the community chat or send private messages to other verified queens!


๐Ÿ”’ Security & Privacy

Zero-Knowledge Proofs

Self Protocol uses ZK proofs to verify identity without revealing personal information. Your passport data never leaves your device.

On-Chain Verification

Verification status is stored on Celo blockchain, ensuring:

  • Transparency
  • Immutability
  • Decentralization

Gender Verification

Enforced at both frontend and smart contract levels for maximum security. Only verified females can participate in chat functions.


๐Ÿ›ฃ๏ธ Roadmap

Phase 1: Core Features โœ…

  • Wallet connection
  • ENS registration
  • Self Protocol verification
  • Group chat
  • Private messaging
  • Group invites
  • Gender-specific verification messages

Phase 2: Enhanced Security โœ…

  • Contract-level gender enforcement
  • Multi-signature admin controls
  • Rate limiting for spam prevention

Phase 3: Community Features ๐Ÿ”ฎ

  • Mentorship matching
  • Event calendar
  • Resource library
  • Reputation system
  • NFT badges for achievements

Phase 4: Scalability ๐ŸŒŸ

  • IPFS integration for media
  • Layer-2 scaling solutions
  • Mobile app (React Native)
  • Multi-chain support

๐Ÿค Contributing

We welcome contributions from women developers! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow existing code style
  • Write tests for new features
  • Update documentation
  • Be respectful and inclusive

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Celo Foundation - For the amazing blockchain infrastructure
  • Self Protocol - For privacy-preserving identity verification
  • RainbowKit - For beautiful wallet connection UX
  • All the Queens - Who inspire and support this project

๐Ÿ“ž Contact & Support


๐Ÿ’– Support the Project

If you believe in creating safe spaces for women in Web3, consider:

  • โญ Starring this repository
  • ๐Ÿฆ Sharing on social media
  • ๐Ÿ‘ฉโ€๐Ÿ’ป Contributing code or documentation
  • ๐Ÿ’ฌ Spreading the word to women builders

Built with ๐Ÿ’œ for Queens in Web3

Chata-Bella - Where Women in Blockchain Connect, Collaborate, and Thrive

About

BlockBelle is a Web3-based chat application built specifically for women in the blockchain space. It leverages ENS (Ethereum Name Service) for user verification and provides a WhatsApp-like interface for seamless communication between verified community members

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages