Skip to content

Latest commit

 

History

History
184 lines (126 loc) · 6.22 KB

README.md

File metadata and controls

184 lines (126 loc) · 6.22 KB

Inji

Inji Mobile Wallet is a mobile application specifically created to streamline all types of identification and credentials into one digital wallet. It offers a secure, trustworthy, and dependable mobile Verifiable Credentials wallet designed to fulfil the following functions

  • Download and store Verifiable Credentials
  • Share Verifiable Credentials
  • Enable users to log in to relying parties with their credential
  • Generate a QR code for the credential to be shared offline with relying parties.

for more details refer here

Setup PreRequisites

Be sure to have the following build tools installed before proceeding:

Android

iOS

  • XCode = >15
  • Minimum Deployment Target = 13.0
  • cocoapods > 1.12
  • Ruby >= 2.6.10

Configuring the Environment

If you ever want to use something in your local environment based on your customization and in need of using environment files other than default (.env), you can add some variables to your .env.local file. Create a .env.local file using .env as your template in your root directory :

# Mimoto Server
MIMOTO_HOST =  https://api.collab.mosip.net/

# ESignet Server
ESIGNET_HOST =  https://esignet.collab.mosip.net/

# Telemetry Server
OBSRV_HOST = https://dataset-api.obsrv.mosip.net
Telemetry Dashboard = https://druid.obsrv.mosip.net/unified-console.html#workbench

#Application Theme can be ( orange | purple ), defaults to orange theme
APPLICATION_THEME=orange

#environment can be changed if it is toggled
CREDENTIAL_REGISTRY_EDIT=true

#Inji Wallet CLIENT ID for Data backup & Restore
GOOGLE_ANDROID_CLIENT_ID='<client_id>'

for more information on the backend services refer here.

Building & Running for Android

For local build, update targetSdkVersion to 33. There is some known issues in the debug build with targetSdk version = 34.

Step 1: Generate debug keystore for building debug build. [One time activity]

keytool \
 -genkey -v \
 -storetype PKCS12 \
 -keyalg RSA \
 -keysize 2048 \
 -validity 10000 \
 -storepass 'android' \
 -keypass 'android' \
 -alias androiddebugkey \
 -keystore android/app/debug.keystore \
 -dname "CN=io.mosip.residentapp,OU=,O=,L=,S=,C=US"

Export keystore. Run the below command in your terminal.

export DEBUG_KEYSTORE_ALIAS=androiddebugkey
export DEBUG_KEYSTORE_PASSWORD=android

Step 2: Clone the inji repository and create an android/local.properties file with the following data:

sdk.dir = <location-of-the-android-sdk>

Alternatively, you can open the Android folder in the android studio. It will create local.properties file with sdk.dir = .

Step 3: Update the mimoto url and esignet host in the .env file.

Step 4: Go to the root folder of the project in the terminal. Install all the dependencies using npm install.

Step 5: Build and run the application on the device:

  • Run npm run android:mosip to build and install the application on the device.
  • Run npm run android:mosip --reset-cache to build and install the application if any change is made in the .env file.

Note: Alternative to building and running app via react native CLI, it can be built via Android Studio. The app is available in this repository's ./android directory. Open this directory in Android Studio (version
4.1 and above) and the app can be built and run from there.

Refer to the documentation of Inji Wallet's build and deployment android section for the steps to build the android application.

More info here:

Building & Running for iOS

Step 1: Install all the dependencies

npm install
npx pod-install

Step 2: Run Metro bundler in the background

npm start

Step 3: Run Inji directly to a connected device Command to run on simulator

npm run ios

Step 4: Command to run real device

npm run ios -- --device

Refer to the documentation of Inji Wallet's build and deployment iOS section for detailed steps to build the iOS application.

More info here:

Contributions

Please refer here for contributing to Inji

Credits

Credits listed here

Troubleshooting

If you can't get this to work, see the Troubleshooting page. this project runtime can be debugged using Flipper.

Learn More

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