Files
self/app
2024-01-24 22:45:58 +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-01-17 14:07:18 +01:00
2024-01-24 22:45:58 +01:00
2024-01-14 15:31:39 +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-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 19:30:39 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 19:30:39 +01:00
2024-01-24 22:45:58 +01:00
2024-01-10 10:52:10 +01:00
2024-01-10 19:30:39 +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. Currently, proof generation seems to fail sometimes with the react native server, so prefer using Xcode instead.

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.