Giter Site home page Giter Site logo

osma's Introduction

ARCHIVE NOTICE

OSMA has joined the Hyperledger family under the Aries project, for further interest in this repository please refer to here.

Project Osma

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.

Background

SSI (Self Sovereign Identity)

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

Agents are essentially software processes that act on behalf of a user and facilitate the usage of their digital identity.

Standards

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.

Project Affiliation

Aries Framework Dotnet

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.

Aries

Much of the emerging standards Osma and Aries Framework implement are born out of the Aries community.

Getting started

  1. Clone it locally,
  2. Run git lfs pull in order to pull the dependent native libraries with LFS. If you do not have this installed please refer to here
  3. Open osma-mobile-app.sln and build!

For more information on the development practises featured in this repository please refer to here

A Quick Demo

The following demo describes how you can connect with another agent.

  1. Clone Aries Framework Dotnet
  2. From the /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 : Connection refused. If this happens simply scan for an open port and change the port number for web_addr in /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.
  3. Note the public URL's that are outputed by the script with the following text Starting Web Agents with public urls http://... http://...
  4. Browse to one of the urls noted above.
  5. In the rendered UI, click Connections->Create Invitation, a QR code should be displayed.
  6. In the osma mobile app, deployed to a mobile phone, click the connect button in the top right corner of the connections tab.
  7. Scan the QR code rendered in the browser with the osma mobile app and click connect in the rendered UI.
  8. Congrats, you should now be redirected in the mobile app back to the connections page showing a new connection with the AgentFramework web agent!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.