Files
self/app
2024-02-12 12:24:07 +01:00
..
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-01-18 21:34:01 +01:00
2024-01-15 18:33:36 +01:00
2024-02-04 02:21:43 +01:00
2024-02-12 12:21:37 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-02-12 12:24:07 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-02-04 02:21:43 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-02-12 12:21:37 +01:00
2024-01-10 10:52:10 +01:00
2024-02-12 12:21:37 +01:00
2024-01-28 12:45:18 +01:00
2024-02-12 12:21:37 +01:00
2024-01-10 10:52:10 +01:00
2024-02-12 12:24:07 +01:00

Proof of Passport App

Requirements

Install nodejs v18, circom and snarkjs

For android, install java, android studio and the android sdk

For ios, install Xcode and cocoapods

Installation

yarn

In /common, also run:

yarn

Build the app

Go to the circuit folder of the monorepo and build the circuit.

Build the android native module

Run:

./scripts/build_android_module.sh

You might need to set the rust-toolchain rust version as global default. Example:

rustup default 1.67.0

This you modify the circuits, you might have to modify ark-circom-passport/src/passport.rs too.

Build the iOS native module

Run:

./scripts/build_ios_module.sh

Now:

cd ios
pod install
./post_install.sh
cd ..

Run the server

To run the server, first connect your phone to your computer, allow access, then:

yarn start

Then press a for android or i for iOS

If you want to see the logs and have a better ios developer experience, open /ios in Xcode and launch the app from there instead.

⚠️ Due to the current limitations of mopro, see #51, the proving on iOS only works when the app is run on Xcode. It will not work with the react native server or in a .ipa build. We are working on fixing that.

To see the android logs you'll have to use the Android Studio Logcat.

To export an apk:

cd android
./gradlew assembleRelease

The built apk it located at android/app/build/outputs/apk/release/app-release.apk

Download zkey

If you want to mint a proof of passport SBT, instead of building the circuit yourself, run:

./scripts/download_current_zkey.sh

This will download the zkey currently deployed onchain in the proof of passport contract and place it in `circuits/build`` Then, build the android or iOS native module and run the app.