Skip to main content

Encrypted messaging over Evrmore

Project description

📬 EvrMail

A secure, blockchain-native email system built on the Evrmore blockchain, providing encrypted, decentralized communication.

⚠️ IMPORTANT: Work In Progress ⚠️
EvrMail is currently under active development and not yet ready for production use. Features may be incomplete, contain bugs, or change significantly before release. Use at your own risk and only on test environments.

📋 What is EvrMail?

EvrMail is a revolutionary email system that bridges the gap between blockchain and traditional email. Unlike conventional email services that rely on centralized servers, EvrMail leverages the Evrmore blockchain and IPFS to create a decentralized, secure, and censorship-resistant communication platform.

How It Works in Simple Terms

  • Decentralized Storage: Messages are stored on IPFS (InterPlanetary File System), not on corporate servers
  • Blockchain for Notifications: The Evrmore blockchain is used to broadcast notifications about new messages, not to store the content itself
  • Asset-Based Outboxes: EvrMail uses Evrmore blockchain assets as "outboxes" - own the asset, control who can send from it
  • Address-Based Inboxes: Your Evrmore addresses function as inboxes for receiving messages
  • Bridge to Traditional Email: Through evrmail.com, blockchain emails can be sent to and received from regular email addresses (gmail, outlook, etc.)
  • Integrated Blockchain Browser: Browse .evr domains directly through the built-in browser that resolves domain names using IPFS data stored in Evrmore assets and ESL payloads
  • Self-Sovereign Identity: You own your identity and communications - no account to create, no password to remember, just your blockchain keys
  • No Central Server Required: The combination of blockchain and IPFS eliminates the need for centralized servers
  • Seamless Multi-Wallet Support: Use multiple wallets simultaneously or import existing ones with just a few clicks - the most user-friendly wallet management in the Evrmore ecosystem
  • Built-in Spam Protection: Communication requires public key exchange first - no more unsolicited messages from unknown senders

Current Status & Roadmap

Completed (v0.1.0):

  • Core protocol implementation
  • End-to-end encryption with secp256k1 ECDH + AES-GCM
  • Asset-based outboxes and address-based inboxes
  • Basic sending & receiving functionality
  • Multi-wallet management system
  • Contact book with public key exchange
  • Local IPFS integration for message storage

🔄 In Progress (v0.2.0 - Q3 2025):

  • Message broadcasting to multiple recipients
  • Improved UI/UX with PyQt5 and React/TypeScript
  • Performance optimizations for large mailboxes
  • Enhanced message threading and conversation view
  • Attachment support for documents and images
  • Testnet support for development and testing

🚧 Coming Soon (v0.3.0 - Q4 2025):

  • Clearnet email bridging through evrmail.com
  • Gateway for sending/receiving from traditional email services
  • Message forwarding service for offline recipients
  • Mobile applications (iOS and Android)
  • Mainnet deployment with security audits

🔮 Future Roadmap (v1.0 and beyond):

  • Email-to-asset swaps & trading platform
  • Public email groups & forums
  • DAO governance for public channels
  • Browser extension for web integration
  • Advanced filtering and search capabilities
  • Integration with other blockchain messaging systems

🔒 Key Features

  • Blockchain-native Messaging: Uses Evrmore assets as outboxes and addresses as inboxes
  • End-to-End Encryption: Messages are encrypted with secp256k1 ECDH + AES-GCM
  • Decentralized Storage: IPFS integration for message storage and retrieval
  • Self-sovereign Identity: Own your identity through blockchain asset ownership
  • Multi-wallet Support: Create, import, and manage multiple wallet identities with ease
  • Modern UI: Intuitive interface with support for desktop and web
  • Decentralized Web Browser: Built-in browser with .evr domain resolution via Evrmore assets and ESL payloads
  • Spam-Free Communication: Exchange public keys before messaging - ensuring only wanted communications

🏗️ Architecture

EvrMail uses a clean, modular architecture:

  • Core: Blockchain interaction, cryptography, and messaging protocol
  • GUI: Modern interface using PyQt5 with QWebEngineView and React/TypeScript
  • Daemon: Background services for message syncing and notification
  • Storage: IPFS integration for decentralized content storage

🚀 Quick Start

Installation

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install EvrMail
pip install evrmail

Prerequisites

  1. IPFS Node: EvrMail requires IPFS for message storage. On first run, EvrMail will offer to install and configure IPFS for you automatically.

  2. Evrmore Wallet: You'll need an Evrmore wallet with some EVR for transaction fees.

  3. Evrmore Asset: To send messages, you need to own an Evrmore asset that will function as your outbox.

Setup

# Start EvrMail - it will help you set up IPFS if needed
evrmail

# Or manually install IPFS if you prefer
evrmail ipfs install
evrmail ipfs start

# Create a wallet
evrmail wallets create

# Create an address for receiving messages
evrmail receive MyInbox

# Get your public key to share with contacts
evrmail addresses get MyInbox

# Add a contact
evrmail contacts add <ADDRESS> <PUBKEY> --friendly-name "Alice"

# Set an asset as your outbox (you must own this asset)
evrmail outbox set <YOUR_ASSET_NAME>

Usage

# Start the GUI application
evrmail

# Or use CLI commands:
evrmail --help

💡 How It Works

  1. Identity: Each user controls a unique channel asset on the Evrmore blockchain
  2. Sending: Messages are encrypted with the recipient's public key and stored on IPFS
  3. Notification: A small blockchain transaction notifies the recipient of a new message
  4. Retrieval: Recipients decrypt messages using their private keys
  5. Decentralized Web: The integrated browser resolves .evr domains by looking up the associated asset data on the blockchain and routing through IPFS content identified in ESL payloads

📚 Technical Stack

  • Cryptography: secp256k1, ECDH, AES-GCM, HKDF
  • Blockchain: Evrmore RPC, ZeroMQ for event monitoring
  • Storage: IPFS for decentralized content storage
  • Frontend: PyQt5 with QWebEngineView and React/TypeScript
  • Backend: Python for business logic and blockchain interaction

📦 CLI Commands

evrmail                       # Start the GUI application
evrmail --nodejs              # Start GUI in nodejs development mode
evrmail --help                # Show all commands and options

# Wallet Management
evrmail wallets               # 💼 Manage your Evrmore wallets
evrmail wallets create        # Create a new wallet
evrmail wallets list          # List existing wallets
evrmail wallets import        # Import an existing wallet

# Address Management
evrmail addresses             # 🏷️ Manage addresses and keys
evrmail addresses create      # Create a new address
evrmail addresses list        # List your addresses
evrmail addresses get         # Get details for an address

# Balance & Transactions
evrmail balance               # 💳 Show EVR or asset balances
evrmail send                  # 🚀 Send EVR, assets, or metadata messages

# Contacts Management
evrmail contacts              # Manage your EvrMail contacts and contact requests
evrmail contacts add          # Add a new contact
evrmail contacts list         # List your contacts
evrmail contacts remove       # Remove a contact

# Messaging
evrmail receive               # 📥 Receive messages

# IPFS Management
evrmail ipfs                  # Manage IPFS install and operation
evrmail ipfs install          # Install IPFS
evrmail ipfs start            # Start IPFS daemon
evrmail ipfs stop             # Stop IPFS daemon

# Development & Debugging
evrmail dev                   # 🔧 Developer tools
evrmail logs                  # Access and filter EvrMail logs

For detailed help on any command, use:

evrmail [COMMAND] --help

🔄 Development

# Clone the repository
git clone https://github.com/ManticoreTech/evrmail.git
cd evrmail

# Install dependencies
pip install -r requirements.txt

# Run in development mode
python -m evrmail dev

Manticore Technologies® is a registered trademark.

📝 License

© 2025 Manticore Technologies®


EvrMail is a product of Manticore Technologies®. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evrmail-0.1.25.tar.gz (108.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evrmail-0.1.25-py3-none-any.whl (140.8 kB view details)

Uploaded Python 3

File details

Details for the file evrmail-0.1.25.tar.gz.

File metadata

  • Download URL: evrmail-0.1.25.tar.gz
  • Upload date:
  • Size: 108.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for evrmail-0.1.25.tar.gz
Algorithm Hash digest
SHA256 5bced9521cfb81b74443d4daff2eccd0072d5628cb50a8b15242370fa2ee4b79
MD5 857c7a0a785a115a403b6688529de748
BLAKE2b-256 9af78727ffd1a6aca81611d162d70219059bceaec082b3d59a61057316ca397f

See more details on using hashes here.

File details

Details for the file evrmail-0.1.25-py3-none-any.whl.

File metadata

  • Download URL: evrmail-0.1.25-py3-none-any.whl
  • Upload date:
  • Size: 140.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for evrmail-0.1.25-py3-none-any.whl
Algorithm Hash digest
SHA256 c9a089419ad4e4a333ff1560d64f9940eca5fe0a80bcc4158ea6e4d9f4bfc8e2
MD5 ad8e98d8ab97b9ae7e2c1592e5e1049b
BLAKE2b-256 d14ee16072e6227a229bb0c62c06d95d2371ec4226d037ab6605c91d9294b708

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page