Skip to content

GHX5T-SOL/chumchon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

57 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Chumchon - Decentralized Social Network on Solana

License: CC BY-NC 4.0 Platform: Android Framework: React Native Blockchain: Solana Mobile Wallet Adapter Solana Mobile Stack

Chumchon Logo

A decentralized social app built for Solana Mobile, featuring token-gated communities, on-chain messaging, escrow trading, and meme challenges.


πŸ“‹ Table of Contents


πŸš€ Features

Core Social Features

  • πŸ‘€ User Profiles: Create and customize your on-chain profile with NFT profile pictures
  • πŸ”’ Token-Gated Groups: Create and join exclusive communities based on token or NFT ownership
  • πŸ’¬ Messaging System: Send messages in groups and tip content creators with SOL or SPL Tokens
  • 🀝 Escrow System: Securely trade tokens with other users through on-chain escrow in "Whale Groups"
  • πŸ“¨ Invite System: Generate and share invite links to bring friends into groups

Gamification & Rewards

  • 🎭 Meme Challenges: Create AI-powered meme contests with SOL or token rewards
  • πŸ“š Educational Rewards: Complete tutorials to earn SOL or token rewards
  • πŸ† Community Contests: Participate in community-driven challenges and competitions

Mobile-First Experience

  • πŸ“± Native Mobile App: Built specifically for Android with React Native
  • πŸ”— Wallet Integration: Seamless connection with Phantom, Backpack, and other mobile wallets
  • ⚑ Fast Transactions: Optimized for mobile blockchain interactions

πŸ”§ Technology Stack

Component Technology Version
Frontend React Native (Expo) Latest
Blockchain Solana (Anchor Framework) Latest
Mobile Integration Solana Mobile Stack (SMS) Latest
Wallet Support Mobile Wallet Adapter (MWA) Latest
Language TypeScript Latest
State Management React Context Built-in
Storage AsyncStorage React Native

πŸ“± Solana Mobile Stack Implementation

βœ… Mobile Wallet Adapter (MWA)

  • Wallet Authorization: Secure connection to mobile wallets (Phantom, Backpack, Solflare)
  • Transaction Signing: Native transaction signing through mobile wallets
  • Message Signing: Off-chain message signing for authentication
  • Session Management: Persistent wallet sessions with automatic reauthorization

βœ… MWA Authorization Caching

  • Persistent Sessions: Users stay connected between app sessions
  • Smart Reauthorization: Automatic wallet reconnection on app restart
  • Cache Invalidation: Proper cleanup on disconnect/deauthorize
  • Error Recovery: Handles corrupt cache data gracefully

βœ… Sign In with Solana (SIWS)

  • Combined Authentication: Single-step wallet verification
  • Cryptographic Verification: Verifies signature authenticity
  • Domain-Specific Signing: Customized signing messages for security
  • Enhanced Security Model: Prevents impersonation attacks

βœ… Wallet Discovery

  • Dynamic Detection: Discovers installed mobile wallets
  • Multi-Wallet Support: Works with Phantom, Backpack, Solflare
  • Wallet Status Monitoring: Shows wallet readiness and connection status

βœ… Expo Integration

  • Native UI Components: Uses Expo's bottom sheet for wallet interactions
  • Cross-Platform Ready: Optimized for Android with iOS compatibility
  • Phantom Wallet Support: Enhanced integration with Phantom mobile wallet

πŸ—‚οΈ Project Structure

chumchon_mobile/
β”œβ”€β”€ android/                    # Android native project files
β”œβ”€β”€ app/                        # Expo Router entry (if used)
β”œβ”€β”€ assets/                     # Images, fonts, icons
β”œβ”€β”€ chumchon_program/           # Solana Anchor program
β”œβ”€β”€ components/                 # React Native UI components
β”‚   β”œβ”€β”€ solana/                # Solana-specific components
β”‚   β”‚   └── WalletDiscovery.tsx # Wallet discovery component
β”‚   └── ...
β”œβ”€β”€ constants/                  # App-wide constants
β”œβ”€β”€ hooks/                     # Custom React hooks
β”œβ”€β”€ ios/                       # iOS native project files (if needed)
β”œβ”€β”€ src/                       # Main app source code
β”‚   β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ contexts/
β”‚   β”‚   └── SolanaProvider.tsx # Core Solana context with MWA
β”‚   β”œβ”€β”€ idl/
β”‚   β”œβ”€β”€ navigation/
β”‚   β”œβ”€β”€ screens/
β”‚   β”‚   └── auth/
β”‚   β”‚       └── LoginScreen.tsx # Wallet connection UI
β”‚   β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── siws.ts            # Sign In with Solana utilities
β”‚   └── theme.ts
β”œβ”€β”€ utils/                     # Utility functions
β”œβ”€β”€ App.tsx                    # App entry point with MWA setup
β”œβ”€β”€ app.json                   # Expo config with MWA plugin
β”œβ”€β”€ package.json               # Project dependencies
β”œβ”€β”€ tsconfig.json              # TypeScript config
└── README.md                  # This file

⚑ Quick Start

🎯 For Users

  1. Download the APK: Direct Download Link
  2. Install on Android: Open the APK file and install
  3. Connect Wallet: Open the app and connect your Solana mobile wallet
  4. Start Socializing: Join groups, send messages, and participate in challenges!

πŸ”§ For Developers

# Clone the repository
git clone https://github.com/GHX5T-SOL/chumchon.git
cd chumchon_mobile

# Install dependencies
npm install

# Start the development server
npm start

# Run on Android
npm run android

πŸ› οΈ Prerequisites

For Users

  • Android Device: Android 8.0+ or Android emulator
  • Solana Mobile Wallet: Phantom, Backpack, or Solflare
  • Devnet Configuration: Set wallet to devnet for testing

For Developers

  • Node.js: Version 18 or higher
  • npm or yarn: Package manager
  • Android Studio: For Android development
  • Expo CLI: For React Native development
  • Solana CLI: For blockchain interactions

πŸ“¦ Installation

Option 1: Direct APK Download (Recommended)

  1. Download APK: Download Link
  2. Enable Unknown Sources: Go to Settings > Security > Unknown Sources
  3. Install APK: Open the downloaded file and install
  4. Launch App: Open Chumchon from your app drawer

Option 2: QR Code Installation

QR Code

Option 3: Web Preview

Visit: https://chumchon--demo.expo.app/

Option 4: Development Setup

# Install dependencies
npm install

# Start Expo development server
npx expo start

# Scan QR code with Expo Go app
# Or press 'a' for Android emulator

πŸ§ͺ Testing

Solana Program Tests

# Navigate to the program directory
cd chumchon_program

# Run Anchor tests
anchor test

# Run specific test file
anchor test --skip-local-validator

Mobile App Tests

# Run unit tests
npm test

# Run integration tests
npm run test:integration

# Run E2E tests
npm run test:e2e

Wallet Integration Tests

  • Test with Phantom mobile wallet
  • Test with Backpack mobile wallet
  • Test with Solflare mobile wallet
  • Verify MWA authorization caching
  • Test SIWS functionality

πŸ” Security

Blockchain Security

  • Secure Token Transfers: All transfers go through escrow contracts
  • Account Validation: Comprehensive validation in all Solana instructions
  • Reentrancy Protection: Protection against reentrancy attacks
  • Error Handling: Robust error handling and recovery

Mobile Security

  • MWA Security: Secure wallet connections through Mobile Wallet Adapter
  • SIWS Verification: Cryptographic verification of wallet ownership
  • Cache Security: Secure storage of authorization tokens
  • Session Management: Proper session cleanup and invalidation

Data Security

  • Encrypted Storage: Sensitive data encrypted in AsyncStorage
  • Network Security: Secure communication with Solana network
  • Input Validation: Comprehensive input validation and sanitization

🀝 Contributing

We welcome contributions to Chumchon! Here's how you can help:

πŸ› Reporting Bugs

  1. Check existing issues first
  2. Create a new issue with detailed description
  3. Include steps to reproduce
  4. Add screenshots if applicable

πŸ’‘ Suggesting Features

  1. Open a feature request issue
  2. Describe the feature in detail
  3. Explain the use case and benefits
  4. Consider implementation complexity

πŸ”§ Code Contributions

  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

πŸ“ Code Style

  • Follow TypeScript best practices
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Write tests for new features
  • Follow React Native conventions

πŸ“„ License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License - see the LICENSE file for details.

πŸ”’ License Terms:

βœ… You are free to:

  • Share β€” Copy and redistribute the material in any medium or format
  • Adapt β€” Remix, transform, and build upon the material for personal/educational use
  • Attribution β€” Must give appropriate credit to Chumchon Team

❌ Restrictions:

  • NonCommercial β€” You may not use this material for commercial purposes
  • No Rebranding β€” You may not claim this work as your own
  • Commercial Use β€” Requires explicit permission from Chumchon Team

πŸ’Ό Commercial Licensing:

For commercial use, enterprise licensing, or business partnerships, please contact:

CC BY-NC 4.0 Benefits:

  • βœ… Protects intellectual property rights
  • βœ… Allows personal and educational use
  • βœ… Requires attribution to original creators
  • βœ… Prevents commercial exploitation without permission
  • βœ… Encourages community learning and collaboration

πŸ“ž Contact

Platform Link
🌐 Website https://chumchon.app
🐦 Twitter https://x.com/chumchon_app
πŸ“§ Email chumchon@proton.me
πŸ“± GitHub https://github.com/GHX5T-SOL/chumchon

πŸ™ Acknowledgments

  • Solana Mobile Team: For the amazing Mobile Wallet Adapter and Solana Mobile Stack
  • Expo Team: For the excellent React Native development platform
  • Anchor Framework: For simplifying Solana program development
  • Phantom Wallet: For leading mobile wallet innovation
  • Codigo.ai: For troubleshooting bugs in Solana Program / smart contracts

Built with ❀️ for the Solana Mobile Hackathon

Solana Mobile Made with Love

About

Decentralized Social Network on Solana

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors