Skip to content

floscodes/xmes

Repository files navigation

xmes

xmes

Decentralised, end-to-end encrypted messaging — built with Rust and XMTP.

status rust wasm


What is xmes?

xmes is an open-source messenger built on the XMTP protocol — a decentralised, blockchain-based messaging standard. Identities are Ethereum keypairs: no central server controls your account or your messages.

The project compiles a single Rust codebase to WebAssembly, targeting web (PWA), desktop, and mobile via Dioxus.


Repository structure

xmes/
├── xmes-xmtp-wasm/   # XMTP integration layer — WASM only, no UI
└── xmes-mobile-pwa/         # Dioxus Mobile PWA frontend — WebAssembly

xmes-xmtp-wasm

The XMTP integration layer, compiled exclusively to WebAssembly. Wraps the libxmtp WASM bindings and exposes a clean Rust API. Responsibilities:

  • Ethereum keypair generation and identity management
  • Private key serialisation (hex) for local persistence
  • Conversation listing and group creation via XMTP
  • Worker infrastructure — spawns a Dedicated Worker so the XMTP SQLite database can use the OPFS Sync Access Handle VFS (browser main thread restriction workaround)
  • Environment switching (Local / Dev / Production)

xmes-mobile-pwa

The Progressive Web App frontend fpr mobile devices built with Dioxus 0.7, compiled to WebAssembly. A pure UI crate: no JS interop, no wasm-bindgen direct dependency — only Dioxus and xmes-xmtp-wasm.

landing-page

The landing page of Xmes.


Getting started

Prerequisites

  • Rust
  • Dioxus CLI: cargo install dioxus-cli
  • wasm32-unknown-unknown target: rustup target add wasm32-unknown-unknown

Development

# Start the dev server (PWA) with hot reload
dx serve --addr 0.0.0.0 --port 9000

# Build for web
dx build

# Lint (automatically targets WASM via .cargo/config.toml)
cargo clippy

# Format
cargo fmt

License

MIT — see LICENSE for details.

About

Xmes is an open-source decentralized messenger built on XMTP. No app store, no signup, no central server, no phone number.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors