Aleomail (ZKMail) is a blockchain-based email service that leverages Zero-Knowledge Proofs (ZKPs) and cryptographic techniques to provide secure and private communication between users. Built on the Aleo blockchain, ZKMail ensures end-to-end encryption, sender/receiver anonymity, and immutable mail records while keeping email contents confidential.
- Decentralized Email System – No central authority, fully on-chain.
- End-to-End Encryption – Emails are encrypted using asymmetric cryptography.
- Zero-Knowledge Proofs – Verifies transactions without exposing message content.
- Secure Authentication – Uses blockchain identities and Aleo wallet integration.
- Spam & Phishing Protection – Smart contract-based filtering and reputation scoring.
- Decentralized Storage – Encrypted content stored via IPFS/Arweave, metadata on-chain.
- Real-Time Notifications – Alerts for incoming messages.
- Blockchain: Aleo (Zero-Knowledge Proofs support)
- Cryptography: ZK-SNARKs, ECC, asymmetric encryption
- Smart Contracts: Aleo programming model
- Storage: IPFS/Pinata (off-chain), Aleo blockchain (on-chain metadata)
- Frontend: React/Next.js
- Backend: Aleo-based smart contract execution
- Node.js (v16+ recommended)
- Aleo Wallet
- Aleo Development Environment
-
Clone the repository:
git clone [https://github.com/your-repo/zkmail.git](https://github.com/Minimask-lap/aleomail) cd aleomail
-
Install dependencies:
npm install
-
Configure environment variables:
cp .env.example .env
Edit
.env.sample
with the required blockchain and storage configurations. -
Start the development server:
npm run dev
- Register an account using Aleo wallet.
- Send a mail by encrypting the content with the recipient’s public key.
- Receive mail by decrypting messages using your private key.
- Verify email transactions using ZK-SNARKs to ensure privacy.
- Implement inbox filtering with smart contract-based reputation scoring.
- Enable multi-chain interoperability with Ethereum and Solana identities.
- Develop a mobile-friendly UI for better accessibility.
- Introduce a DAO-based governance model.
Contributions are welcome! To get started:
- Fork the repo
- Create a new branch:
git checkout -b feature-branch
- Make your changes and commit:
git commit -m "Added new feature"
- Push the branch:
git push origin feature-branch
- Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions, reach out via: