jolocom / smartwallet-app

A decentralized self sovereign identity solution developed by Jolocom.
https://jolocom.io
Other
80 stars 38 forks source link
ethereum self-sovereign-identity

Jolocom SmartWallet - An application to manage your digital identity.

Interested in our vision? Take a look at our whitepaper.

Gitter chat

Prerequisites

Installation

  1. Clone the repository to a directory of your choice.
  2. cd into the cloned repo and run yarn from your terminal to install the required depencencies .

Running a debug version for development

Android

  1. Please set up an Android development environment and install the required SDKs.
  1. Connect an Android device and enable USB debugging OR start an Android AVD emulator
  2. Run yarn android to install the application and run it.

iOS

  1. Please set up an appropriate Xcode development environment.
  1. cd into the ios folder, and install the native dependencies using the pod install command.
  2. Run yarn ios to install and run the application in an emulator.

Running a build on a physical device requires the appropriate code signing certificates.

Deeplinks

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

Testing

We use Jest + React Native Testing Library for unit testing.

To run unit tests with watch and testing coverage:

yarn test --watch --coverage

Code Style and Formatting

Copyright (C) 2014-2022 JOLOCOM GmbH