Jolocom SmartWallet - An application to manage your digital identity.
Interested in our vision? Take a look at our whitepaper.
- Set-up requires Node.js to be installed on your computer.
- The Jolocom SmartWallet requires
Node.js v12+
to build the project. You can either manually install Node version above 12, or you can delegate it toVolta
(follow this link to installVolta
). Node12.4.1
is pinned to the project
- The Jolocom SmartWallet requires
- We use Yarn as our package manager.
- We use CocoaPods for
iOS
dependency management.
- Clone the repository to a directory of your choice.
cd
into the cloned repo and runyarn
from your terminal to install the required depencencies .
- Please set up an Android development environment and install the required SDKs.
- The Getting Started guide for React Native may come in handy.
- Look for the instructions under React Native CLI Quickstart.
- Connect an Android device and enable USB debugging OR start an Android AVD emulator
- Run
yarn android
to install the application and run it.
- NOTE: this will start a metro bundler server automatically, with stdout/stderr discarded. You can close this and run
yarn start
to manually start the bundler and receive more detailed output.
- Please set up an appropriate Xcode development environment.
- The Getting Started guide for React Native may come in handy.
- Look for the instructions under React Native CLI Quickstart.
cd
into theios
folder, and install the native dependencies using thepod install
command.- Run
yarn ios
to install and run the application in an emulator.
- This will default to an iPhone X emulator.
- The device can be specified by adding
--simulator
and the device name.- e.g.
yarn ios --simulator "iPhone SE"
- e.g.
NOTE
: this will start a metro bundler server automatically, with stdout/stderr discarded. You can close this and runyarn start
to manually start the bundler and receive more detailed output.NOTE
: A debug build can also be built through Xcode.
Running a build on a physical device requires the appropriate code signing certificates.
The application supports deeplinks with this syntax
https://jolocom.app.link/interact?token={jwt}&redirectUrl={redirect_url}
where jwt
is a jwt containing a valid interaction token and redirect_url
(NOTE: url is an optional parameter) is an address a user will be redirected to (after the user's confirmation) after an interaction has been completed (full cycle of tokens exchange has happened and no exceptions were encountered on the way). Note redirect_url
should be “url encoded”. You can do so programaticily, i.e. in JS encodeURIComponent(redirect_url)
A QR code containing a deeplink can be scanned by both the wallet camera and the device camera
We use Jest + React Native Testing Library for unit testing.
To run unit tests with watch and testing coverage:
yarn test --watch --coverage
- We use ESLint and Prettier to keep a consistent style across the codebase.
- There are plugins available for a range of IDEs and text editors; automatic formatting on save is also supported in some editors.
- Check the
yarn lint:fix
andyarn prettier:format
scripts.
Copyright (C) 2014-2022 JOLOCOM GmbH