A decentralized, blockchain-based instant messaging application built on MetaID protocol
Features • Getting Started • Tech Stack • License
- 🔐 Decentralized Identity - Built on MetaID protocol, your identity is truly yours
- 💬 End-to-End Encryption - Private messages are encrypted using ECIES
- 👥 Group Chat - Create and manage encrypted group conversations
- 🧧 Crypto Red Packets - Send BTC/MVC red packets to friends
- 📁 Decentralized Storage - Files stored on blockchain via MetaFile
- 🌐 Multi-language Support - i18n internationalization
- 📱 PWA Support - Install as a native app on any device
- 🔗 Wallet Integration - Connect with MetaletWallet and other Web3 wallets
- Node.js >= 16
- Yarn package manager
# Clone the repository
git clone https://github.com/metaid-developers/IDChat.git
# Navigate to project directory
cd IDChat
# Install dependencies
yarn install# Start development server (testnet)
yarn gray
# Start development server (mainnet)
yarn mainnet# Build for testnet
yarn build:gray
# Build for mainnet
yarn build:mainnet- Framework: Vue 3 with Composition API
- Build Tool: Vite
- UI Components: Element Plus, Headless UI
- Styling: Tailwind CSS, SCSS
- State Management: Harlem
- Blockchain: MVC (MicrovisionChain), Bitcoin
- Protocol: MetaID
src/
├── api/ # API service modules
├── components/ # Reusable Vue components
├── config/ # App configuration
├── hooks/ # Vue composables
├── languages/ # i18n translation files
├── layout/ # Layout components
├── lib/ # Third-party libraries
├── stores/ # State management
├── utils/ # Utility functions
├── views/ # Page components
└── wallet-adapters/ # Wallet integration adapters
API configuration is located in public/app-config.json:
{
"api": {
"chatApi": "https://api.idchat.io",
"chatWs": "wss://api.idchat.io",
"fileApi": "https://file.metaid.io/metafile-indexer/api/v1/files"
}
}Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE.md file for details.