Git Product home page Git Product logo

aries-mobileagent-xamarin's Introduction

Aries MobileAgent Xamarin

This repository is the home of Aries MobileAgent Xamarin, an open source mobile agent for achieving self sovereign identity (SSI). This project was formerly known as Osma (Open Source Mobile Agent). Commits previous can be found in the archived original repository.

This original commit in this repository contains all contributions from the original repo, including contributions from @tplooker, @Liam-Tait, @burdettadam, @tmarkovski, @sukalpomitra, and @TelegramSam.

Note: Not all references to osma have been changed. Please change them as you find them, PRs accepted.

The primary goals of this project is to provide a common project to progress emerging community standards around mobile agents. In addition, a basic mediator agent in ASP.NET Core is included in this repo. This mediator agent can be run separately and can be configured as public access point for the mobile application. Please check the instructions below or watch the instructuonal video.

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.

Getting started

  1. Clone this repo
  2. Download and extract static libraries required for iOS and Android projects in the libs folder
  3. Run the mediator agent inside mediator folder by running dotnet run in terminal
  4. Open osma-mobile-app.sln and build

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

Working with public endpoint

To work with public endpoints, use Ngrok and start it to listen on port 5000. Copy the assigned URL to the following locations

  • In mediator/Startup.cs replace the EndpointUri to instruct the mediator to use this address in configuration.
  • In src/Osma.Mobile.App/App.xaml.cs replace the EndpointUri to configure the mobile app to use this public endpoint as mediator service

You may have to clear previously created wallets in ~/.indy_client/wallet for the changes to the mediator to work. Check if the mediator is configured with this address by opening it in a browser

A Quick Demo

Watch this Getting started with AMA-X video to learn how to run and configure the mobile agent with a publicly acessible mediator service

Background

SSI

SSI is a term coined by Christoper Allen in 2016 with this article, it describes a new paradigm of digital identity. Its premise rests on 10 principles described in the article. 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

AgentFramework

This mobile apps primary dependency is upon the open source project Aries Framework for .NET. This framework provides the baseline components for realizing agents, AMA-X extends this framework in the context of a mobile app to realize a mobile agent.

Indy

Much of the emerging standards AMA-X and Aries Framework implement are born out of the Indy-Agent community.

aries-mobileagent-xamarin's People

Contributors

tmarkovski avatar ryjones avatar telegramsam avatar

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.