What is MoPro?
MoPro stands for Mobile Prover — a framework designed to simplify the development of client-side zero-knowledge (ZK) proof systems on mobile platforms.
👉 Visit zkmopro.org to learn more about using MoPro and MoPro CLI.
Mopro CLI is a developer-friendly command-line tool that simplifies building native mobile apps with mopro-ffi. It streamlines the integration process and offers powerful customization options.
- Modular: Choose one or more adapters from
mopro-ffi—currently supporting Circom, Halo2, and Noir. You can also integrate your own Rust crate. See Custom Adapters for details. - Versatile: Generate templates for various platforms including Swift (Xcode), Kotlin (Android Studio), React Native, Flutter, and Web.
- Automated: Skip the tedious setup—
moproCLI automates UniFFI bindings and configures Xcode and Android Studio for you.
cargo install mopro-cli- Install the latest change on GitHub
git clone https://github.com/zkmopro/mopro
cd mopro/cli
cargo install --path .mopro --helpor
mopro init --helpto see instructions for each command.
mopro initmopro buildor
mopro build --auto-updatemopro createmopro updateor
mopro update [--src PATH] [--dest PATH] [--no-prompt]By default mopro update looks for bindings and mobile projects in the current
directory. Use --src to point to a bindings directory and --dest to target a
specific mobile project located elsewhere. Frequently used destinations can be
stored in Config.toml under an update section:
[update]
ios_dest = "../MyiOSApp"
android_dest = "../MyAndroidApp"mopro bindgenYou can customize the bindings generation:
-
Choose a witness generator adapter (default
rust-witness):mopro bindgen --adapter witnesscalc
-
Specify the output directory for generated bindings:
mopro bindgen --output-dir ./output
A simplified command for mopro init, mopro build and mopro create.
mopro constructAfter cloning the repository, you can install the CLI locally with your changes by running:
git clone https://github.com/zkmopro/mopro
cd mopro/cli
cargo install --path .- X account:
- Telegram group:
- Mopro Documentation: https://zkmopro.org
- Mopro Github: https://github.com/zkmopro/mopro
This work was initially sponsored by a joint grant from PSE and 0xPARC. It is currently incubated by PSE.