Mopro is a toolkit for ZK app development on mobile. Mopro makes client-side proving on mobile simple.
It offers the following features:
- Directly imports and executes any Rust crate.
- Exports bindings for iOS (Swift) and Android (Kotlin).
- Generates WebAssembly (WASM) with Rayon for browser compatibility.
- Provides project templates for
- Swift in Xcode
- Kotlin in Android Studio
- React Native
- Flutter
- Web development
- 📱 Main Github Repo: https://github.com/zkmopro/mopro
- 📚 Documentation: https://zkmopro.org
- ⚒️ Getting Started: https://zkmopro.org/docs/getting-started
- 💡 Projects you can build: https://zkmopro.org/docs/projects
- 🎥 Demo App: https://github.com/zkmopro/android-benchmark-app
- 🏎️ Benchmark: https://zkmopro.org/docs/performance
- 💬 Community and Talks: https://zkmopro.org/docs/community
- 📰 Blog: https://zkmopro.org/blog
- witnesscalc_adapter: A Rust wrapper for witnesscalc.
- rust-witness: Alternative implementation of circom witness generation.
- rust-rapidsnark: A Rust wrapper for Rapidsnark.
- ark-zkey: Compresses and decompresses zkey files for Arkworks.
- circom-prover: A high-performance Rust-based Circom prover with seamless cross-platform support.
- noir-rs: Rust wrapper for Noir circuits integration.
- Pre-built barretenberg libraries: Pre-built binaries:
https://bb.zkmopro.org/<target>.tar.gz
. - mopro-zkemail-nr: Templates for mobile apps with Noir circuits.
- mopro-kotlin-package: Kotlin bindings for Android.
- mopro-swift-package: Swift bindings for iOS.
- mopro-react-native-package: A React Native wrapper.
- mopro_flutter_package: Flutter bindings for Dart-based apps.
- zkemail-swift-package: Swift bindings for zkEmail verifier.
- zkemail-kotlin-package: Kotlin bindings for zkEmail verifier.
- zkemail-react-native-package: A React Native wrapper for zkEmail.
- zkemail_flutter_package: Flutter bindings for zkEmail.
We are also exploring ways to leverage client-side native GPUs and other proving systems to enhance on-device proof generation. Here are our research findings.
- GPU acceleration: Implementing accelerated multi-scalar multiplication (MSM) on iOS devices for enhanced performance.
- 🎯 Please checkout out open issues
- 🔍 Report and issue and feature request New issue
Mopro is part of Privacy & Scaling Explorations (PSE), a multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives.