OSMA has joined the Hyperledger family under the Aries project, for further interest in this repository please refer to here.
This repository is the home of Project Osma, an open source mobile agent for achieving self sovereign identity (SSI).
The primary goals of this project is to provide a common project to progress emerging community standards around mobile agents.
This repository contains a cross platform mobile app (iOS/Android) built using the Xamarin framework in C#. More specifically the two platform specific projects share a common UI through the use of Xamarin.Forms.
SSI is a term first coined by Devon Loffreto in 2010 symbolizing a new paradigm for digital identity, described at this point in time as "individual human identity as the origin of source authority.". In 2016 Christopher Allen expanded on this concept by writting this article citing 10 key principles. In short SSI is about giving a user digital self sovereignty by inverting current approaches to digital identity. Under SSI users are given access and control of their own data and a means in which to use it in a capacity that enables and protects their digital selves.
Agents are essentially software processes that act on behalf of a user and facilitate the usage of their digital identity.
There are several key standards in the SSI space but arguably the most important are that of the DID (as well as other associated specs) and the Verifiable Credentials specs.
This mobile apps primary dependency is upon the open source project Aries Framework Dotnet. This framework provides the baseline components for realising agents, Osma extends this framework in the context of a mobile app to realise a mobile agent.
Much of the emerging standards Osma and Aries Framework implement are born out of the Aries community.
git lfs pull
in order to pull the dependent native libraries with LFS. If you do not have this installed please refer to hereFor more information on the development practises featured in this repository please refer to here
The following demo describes how you can connect with another agent.
/scripts
folder in the repository run ./start-web-agents.sh
- Note this shell script relys on ngrok to run the agents on a publically accessable addresses. Please ensure that your ngrok version is 2.3.28 or higher. You may get an error if the port stated is protected or in use - curl: (7) Failed to connect to localhost port /scripts/web-agents-ngrok-config.yaml
and also on line number 6 of /scripts/start-web-agents.sh
. For Macbook open network utility to scan ports.Starting Web Agents with public urls http://... http://...
Connections
->Create Invitation
, a QR code should be displayed.