App Store: https://apps.apple.com/app/zingo/id1668209531
Google Play: https://play.google.com/store/apps/details?id=org.ZingoLabs.Zingo
yarn
nodejs
recommended version v16.16.0 LTS.- Install Rust
- Add the ios targets
rustup target add aarch64-apple-ios x86_64-apple-ios
cargo install cargo-lipo
cargo install cbindgen
sudo gem install cocoapods
to install cocoapods
- In the
./rust/ios
directory, run./build.sh
. This step will take a long time. - In the
./ios
directory, runpod install
- From the root
./
of the project, runyarn install
- Run
yarn react-native start
to start the dev server - Run
yarn run ios
to install the app on an emulator/connected device. You can also open the./ios
folder in XCode and run it there.
For notes on known issues and problems, see the trouble-shooting notes.
docker
(for building the rust library)yarn
nodejs
recommended version v16.16.0 LTS.- Android Studio or commandline tools
Carefully follow the instructions to setup Android Studio for your operating system. It is not neccessary to install watchman or the Android 12 system images.
If you do not have a physical device, you can create and start a new Android 11, API 30 emulator device compatible with the chip on your system and start the emulated device.
It is possible emulate android with the command line.
- install sdkmanager (or included with androidstudio). standalone setup has a quirk as navigated in
scripts/sdkmanager_install.sh
. then sdkmanager must be added to PATH. - run
scripts/start_interactive.sh -a x86
to automatically set up the android sdk, build the app, and stream it to the emulator. it will boot, then take a minute to load from a local port. outputs are generated inandroid/app/build/outputs/emulator_output/
- Start docker daemon
- AS A NONROOT USER: In the
rust/
directory, run./build.sh
. This step will take a long time. - From the root of the project, run
yarn install
- Run
yarn react-native start
to start the dev server - Run
yarn run android
to compile and install the app on an emulator or connected device. You can also open theandroid
directory in Android Studio as a project, select 'app' and the API 30 system image in the upper toolbar and click the "Run 'app'" button.
sdkmanager
(android commandline tools or android studio)
- To create a quick-boot snapshot. From the root directory, run:
./scripts/integration_tests.sh -a x86_64 -s
- To run the integration tests. From the root directory, run:
./scripts/integration_tests.sh -a x86_64
- To test other ABIs, such as x86. Specify the target ABI with the
-a
flag:-a x86
For more information. From the root directory, run:
./scripts/integration_tests.sh -h
The first run may take a long time to download the x86
and x86_64
system images.
Alternatively, to run gradle managed devices integration tests. From the root directory, run:
./scripts/integration_tests_gradle.sh
-
build to step 3.
-
choose a build target to run against. currently works against x86 and x86_64. download and create emulator with sdkmanager.
./scripts/flow_emulator_setup.sh -a x86
if you already have the emulator created, you can target it without recreating it:./scripts/emulator_target.sh -a x86_64
-
yarn detox build -c android.emu.x86
-
yarn detox test -c android.emu.x86
or to run a specific test:yarn detox test -c android.emu.x86 new_wallet