Skip to content

Storage example and prover for react native

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

0xPolygonID/js-sdk-react-native-tools

Repository files navigation

This is a new React Native project, bootstrapped using @react-native-community/cli.

First: Checking dependencies

Please check react-native-rapidsnark in package.json. Native prover as snarkjs.groth16 method

  • if using local need to add manually *.a files from react-native-rapidsnark to Link Binary With Libraries(Build phases) in Xcode

Check bundlers

Please look at metro.config.js. There are extraNodeModules. Please look at babel.config.js. There are alias to js sdk esm source code

ProofService initialization

Witness Calculation

Example shows 2 possible ways to do Witness Calculation.

  1. Using react-native-webassembly written on C++. See witness-calculator-native.ts
  2. Using WebView with witness.ts string for execution. See WebViewProvider.tsx

WebView faster 15x+. react-native-webassembly ~7sec vs WebView ~0.3sec.

Other

Added shim.ts in App.tsx for global polyfills.

Folder share contains storages & proof service.

Need to set RHS_URL & RPC_URL in common.constants.ts

Step 1: Start the Metro Server

First, you will need to start Metro, the JavaScript bundler that ships with React Native.

To start Metro, run the following command from the root of your React Native project:

# using npm
npm start

# OR using Yarn
yarn start

Step 2: Start your Application

Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:

For Android

# using npm
npm run android

# OR using Yarn
yarn android

For iOS

# using npm
npm run ios

# OR using Yarn
yarn ios

If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.

Step 3: Modifying your App

Now that you have successfully run the app, let's modify it.

  1. Open App.tsx in your text editor of choice and edit some lines.

  2. For Android: Press the R key twice or select "Reload" from the Developer Menu (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes!

    For iOS: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes!

Congratulations! 🎉

You've successfully run and modified your React Native App. 🥳

Now what?

Troubleshooting

If you can't get this to work, see the Troubleshooting page.

Learn More

To learn more about React Native, take a look at the following resources:

License

js-sdk-react-native-tools is part of the 0xPolygonID project copyright 2024 ZKID Labs AG

This project is licensed under either of

at your option.

About

Storage example and prover for react native

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published