A decentralized messaging application built on Solana, featuring end-to-end encryption and wallet-based authentication.
- 🔐 Secure wallet-based authentication
- 💬 Decentralized chat with end-to-end encryption
- 🌐 Built on Solana blockchain
- 🔄 Real-time message syncing
- 🎨 Customizable message colors
- 💰 Built-in BONK token transfers (coming soon)
- Node.js 16+ and npm
- Expo CLI
- A Solana wallet (e.g., Phantom)
- Solana CLI (for development)
-
Clone the repository
git clone https://github.com/your-username/solchat-mobile.git cd solchat-mobile -
Install dependencies
npm install
-
Set up environment variables Create a
.envfile in the project root with:SOLANA_RPC_URL=your_rpc_url_here -
Start the development server
npx expo start
Follow these steps to quickly run the app on a local device or emulator.
git clone https://github.com/your-username/solchat-mobile.git
cd solchat-mobile
npm install
npm run androidOnce the app launches:
- Connect your Solana wallet
- Create a new account (if prompted)
- Fund your wallet with Solana (use airdrop on devnet)
- Hard-exit the app (completely stop the app)
- Reopen the app — your session and wallet state should persist
app/- Main application code(tabs)/- Tab-based navigationchat/- Chat interface and logicindex.tsx- Main chat componentinterface.tsx- TypeScript interfaceshelper.ts- Helper functions
account/- Account managementcomponents/- Reusable UI componentssolana/- Solana wallet integration
The chat module handles all messaging functionality:
-
Command Processing
/help- Show available commands/color [blue|red|green]- Change message color/pw [key]- Set encryption key/pw off- Disable encryption/sendbonk [address] [amount]- Send BONK tokens (under development)/leave- Exit current chat
-
Encryption
- Optional end-to-end encryption using Hanlock
- Per-message password protection
- Secure key storage using AsyncStorage
-
Chat Flow
- Connect wallet
- Join or create a chat room
- Set a nickname
- Optionally enable encryption
- Start chatting!
# For Android
expo run:android
# For iOS
expo run:iosRun the test suite:
npm testContributions are welcome! Please read our contributing guidelines before submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository or contact the development team.
- Solana Web3.js
- Expo for cross-platform development
- Hanlock for message encryption