Skip to content

lucasnzd/quark-ssi-wallet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configurations:


Description

The agent allows the creation of a self-sovereign digital identity. It also creates, receives, and shares verifiable credentials. It can have trusted contacts, public DIDs of organizations and governments. Access services from different organizations securely and in a standardized way. Communicate with other agents or organizations in a decentralized, encrypted, and authenticated manner.

Features

  • DID Generation (Generation of keys for recovery, update, signature, and transport)
  • Storage of verifiable credentials
  • Storage of known entities
  • Handling of WACI-DIDComm protocol (with WACI-Interpreter)
  • Capability for credential presentation
  • DID import and export
  • VC Attachments
  • VCs Back Up and Recovery

Technologies

The application uses the following technologies:

  • Node 14.19.3
  • React Native 0.69.3
  • Expo 5.3.0
  • Typescript 2.0.4

Architecture

Diagram

Documentation

Link

Local Environment Setup

  1. Clone the repository

Prerequisites:

  • Install Java SDK v14.*

  • Install the development environment React Native 0.69.3

  • Configure Java environment variables:

    • JAVA_HOME
    • PATH
  • Install Android Studio. It should be used with Java SDK v14, mentioned in the first step.

  • Generate an emulator in Android Studio

  • Open the project with the selected editor

  • Open a terminal and execute:

Install dependencies:

cd source
yarn 
yarn postinstall
  • Modify: The file: node_modules\react-native-os\android\build.gradle Line 47: change 'compilation' to 'implementation'

Environment Variables

  • Configure your variables in the file /source/src/config/agent.ts

Start the app

yarn android

Running on macOS with M Chips

To run the project on macOS with Apple Silicon (M1, M2, M3) chips, follow these additional steps:

  1. Use Node.js version 18:
nvm use 18
  1. Set up Android SDK path:
cd android
touch local.properties

Add the following line to local.properties:

sdk.dir = /Users/YOUR_USERNAME/Library/Android/sdk

Replace YOUR_USERNAME with your macOS username.

  1. Fix JFrog download URL issue by installing patch-package:
npm install --save-dev patch-package postinstall-postinstall
  1. Fix the React Native boost download URL:

    Edit the file: node_modules/expo-modules-core/android/build.gradle

    Replace the JFrog URL with the archives.boost.io URL:

    Change:

    def srcUrl = REACT_NATIVE_TARGET_VERSION >= 69
      ? "https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz"
      : "https://github.com/react-native-community/boost-for-react-native/releases/download/v${BOOST_VERSION.replace("_", ".")}-0/boost_${BOOST_VERSION}.tar.gz"
    

    To:

    def srcUrl = REACT_NATIVE_TARGET_VERSION >= 69
      ? "https://archives.boost.io/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz"
      : "https://github.com/react-native-community/boost-for-react-native/releases/download/v${BOOST_VERSION.replace("_", ".")}-0/boost_${BOOST_VERSION}.tar.gz"
    

    Additionally, if you find it and update:

    def srcUrl = "https://boostorg.jfrog.io/artifactory/main/release/${transformedVersion}/source/boost_${BOOST_VERSION}.tar.gz"
    

    To:

    def srcUrl = "https://archives.boost.io/release/${transformedVersion}/source/boost_${BOOST_VERSION}.tar.gz"
    
  2. Create the patch:

npx patch-package expo-modules-core
  1. Clean the Gradle project:
cd android
./gradlew clean
cd ..
  1. Launch the Android app:
yarn android

These fixes address the React Native community issues with broken download URLs from JFrog. For more information, see this GitHub issue.

General

N/A

Logs

N/A

Network Requirements

The application must have internet connectivity.

Access Route

N/A

About

Fork Application that functions as a wallet for our verifiable credentials. It participates in the creation of DIDs and can communicate with other agents in a decentralized, encrypted, and authenticated manner to receive, verify, or expose the stored VCs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 57.2%
  • JavaScript 34.0%
  • Java 3.4%
  • C++ 1.4%
  • Objective-C++ 1.4%
  • Shell 1.1%
  • Other 1.5%