Skip to content

input-output-hk/atala-prism-wallet-sdk-swift

Repository files navigation

Coverage Status

Welcome to Edge agent Swift SDK

The following will explain how to use the SDK in your project, how to prepare your development environment if you wish to contribute and some basic considerations around the project.

This SDK provides a library and documentation for developers to build Apple connected SSI applications with Atala PRISM.

Basic considerations

Identus

Identus is a self-sovereign identity (SSI) platform and service suite for verifiable data and digital identity. Built on Cardano, it offers the core infrastructure for issuing DIDs (Decentralized identifiers) and verifiable credentials alongside tools and frameworks to help expand your ecosystem. The complete platform is separated into multiple repositories:

Modules / APIs

Edge Agent Swift SDK provides the following building blocks to create, manage and resolve decentralized identifiers; issue, manage and verify verifiable credentials; establish and manage trusted, peer-to-peer connections and interactions between DIDs; and store, manage, and recover verifiable data linked to DIDs.

  • Apollo: Building block that provides a suite of cryptographic operations.
  • Castor: Building block that provides a suite of DID operations in a user-controlled manner.
  • Pollux: Building block that provides a suite of credential operations in a privacy-preserving manner.
  • Mercury: Building block that provides a set of secure, standards-based communications protocols in a transport-agnostic and interoperable manner.
  • Pluto: Building block that provides an interface for storage operations in a portable, storage-agnostic manner.
  • EdgeAgent: EdgeAgent, using all the building blocks, provides an agent that can provide a set of high-level DID functionalities.

Getting Started

Setup

To get started with the Edge Agent Swift SDK, you can set up the SDK and create a new project or integrate the SDK into an existing project. Before you start, make sure you have the following installed on your development machine:

  • Xcode 13.4 or later
  • MacOS 12 or later
  • iOS 15 or later

Integrating the SDK in an existing project

To integrate the SDK into an existing project, you can use the Swift Package Manager, distributed with Xcode.

  1. Open your project in Xcode and select File > Swift Packages > Add Package Dependency.
  2. Enter the URL for the SDK for Swift Package Manager GitHub repo (https://github.com/input-output-hk/atala-prism-wallet-sdk-swift) into the search bar and click Next.
  3. You'll see the repository rules for which version of the SDK you want Swift Package Manager to install. Choose the first rule, Version, and select Up to Next Minor as it will use the latest compatible version of the dependency that can be detected from the main branch, then click Next.

Swift Package Manager

The Swift Package Manager is a tool for managing the distribution of Swift code. It's integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.