This repository contains the core ZkEmail Rust library along with implementations for various ZK Virtual Machines (ZKVMs).
ZkEmail is a library for email-based zero-knowledge proofs, allowing verification of email contents while preserving privacy. This monorepo contains both the core library and various ZKVM implementations.
zkemail/
├── crates/
│ ├── core/ # Core ZkEmail library
│ ├── sp1/ # SP1 ZKVM implementation
│ └── common/ # Shared utilities and types
- Core Library: The foundation of ZkEmail, providing email parsing, cryptographic primitives, and proof generation interfaces
- SP1: Implementation using SP1, a RISC-V based zkVM
- Rust (latest stable)
- Cargo
- Additional requirements vary by ZKVM implementation
# Clone the repository
git clone https://github.com/zkemail/zkemail.rs
cd zkemail.rs
# Build all crates
cargo build
cargo test --workspace
Each ZKVM implementation has its own specific usage pattern. See the README in each crate's directory for detailed instructions.
Contributions are welcome! Please feel free to submit a Pull Request.