Description and Features
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.
- 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
The application uses the following technologies:
- Node 14.19.3
- React Native 0.69.3
- Expo 5.3.0
- Typescript 2.0.4
- 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'
- Configure your variables in the file /source/src/config/agent.ts
Start the app
yarn androidTo run the project on macOS with Apple Silicon (M1, M2, M3) chips, follow these additional steps:
- Use Node.js version 18:
nvm use 18- Set up Android SDK path:
cd android
touch local.propertiesAdd the following line to local.properties:
sdk.dir = /Users/YOUR_USERNAME/Library/Android/sdk
Replace YOUR_USERNAME with your macOS username.
- Fix JFrog download URL issue by installing patch-package:
npm install --save-dev patch-package postinstall-postinstall-
Fix the React Native boost download URL:
Edit the file:
node_modules/expo-modules-core/android/build.gradleReplace 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" -
Create the patch:
npx patch-package expo-modules-core- Clean the Gradle project:
cd android
./gradlew clean
cd ..- Launch the Android app:
yarn androidThese fixes address the React Native community issues with broken download URLs from JFrog. For more information, see this GitHub issue.
N/A
N/A
The application must have internet connectivity.
N/A