#mobile #proving #zk #client-side #toolkit #circom #mopro

bin+lib mopro-ffi

Mopro is a toolkit for ZK app development on mobile. Mopro makes client-side proving on mobile simple.

1 unstable release

0.1.0 Jul 26, 2024

#7 in #circom

MIT/Apache

135KB
3K SLoC

Kotlin 1K SLoC // 0.1% comments Rust 1K SLoC // 0.1% comments Swift 674 SLoC // 0.1% comments Shell 3 SLoC // 0.5% comments

mopro-ffi

Mopro is a toolkit for ZK app development on mobile. Mopro makes client-side proving on mobile simple.

Getting started

Run tests

  • circom
    cargo test --features circom
    
  • halo2
    cargo test --features halo2
    

Bindings

  • SwiftBindings
  • KotlinBindings

The uniffi bindings are precompiled and committed here for a specifically named crate. This avoids the complexity of building/invoking the uniffi cli by dependent packages. Note that dependent crates must have the library name mopro_bindings, or rebuild the binding themselves.

Modules

The root module exports functions for generating proofs. It also exports a macro that can be used to setup uniffi from our provided udl file. User modification to the UDL file is not supported at this time.

circom

Includes all proving and serialization logic for circom proofs. Does not include logic for witness generation.

halo2

Includes all proving logic for halo2.

Community

Dependencies

~12–27MB
~365K SLoC