SolChat is a secure, decentralized peer-to-peer messaging application built on the Solana blockchain. It features end-to-end encryption, decentralized file sharing, and a modern UI, providing a private and robust communication experience.
- End-to-end encrypted messages using TweetNaCl.
- Messages stored locally with optional IPFS integration.
- Seamless wallet-based authentication (Phantom, Solflare, Backpack).
- Custom usernames and editable profiles.
- Recent peers list with real-time status indicators.
- Nickname support for easier peer identification.
- Share images, PDFs, and other documents securely.
- Built-in image preview modal.
- IPFS-backed decentralized file storage.
- Responsive design for mobile and desktop.
- Real-time message status updates.
- Intuitive peer selection and chat interface.
- Node.js v18+
- npm or Yarn
- Git (recommended)
- A Solana Wallet (e.g., Phantom browser extension)
git clone https://github.com/solchat-dev/solchat.git
cd solchat
npm install
# or
yarn install- Modify the RPC endpoint and cluster config in
src/index.ts(or equivalent). - Ensure the correct on-chain chat program address is set in
src/idls/solchat.json:"metadata": { "address": "<your-program-address>", "origin": "anchor" }
npm install -g typescript ts-node
ts-node generate.tsStart the development server:
npm start
# or
yarn dev- Connect your Solana wallet via the "Select Wallet" button.
- Set your username when prompted.
- Start messaging by entering a Solana address or selecting a recent peer.
- Attach files via the paperclip icon. Image previews are supported.
- Manage contacts and nicknames from the peers panel.
- React 18 + TypeScript
- Tailwind CSS
- Vite
@solana/web3.js@solana/wallet-adapter
- IPFS / Helia
- TweetNaCl
- LocalStorage
Licensed under the MIT License.
Made with ❤️ by the SolChat team.