AXES Connect

1. Introduction

AXES Connect is a comprehensive library designed to facilitate the management of Decentralized Identifiers (DIDs), associated credentials, and Token Bound Accounts (TBAs) within the AXES ecosystem. This technical documentation provides an in-depth overview of the system's architecture, components, and functionalities.

1.1 Objectives

  • Provide a robust and flexible library for managing DIDs and associated credentials

  • Ensure compliance with W3C DID specifications

  • Support multiple types of credential and token issuance

  • Offer methods for verifying credentials, signatures, and JSON Web Tokens (JWZ)

  • Enable seamless creation and management of Token Bound Accounts (TBAs)

1.2 Assumptions

  • The library will be used by systems requiring DID management and credential verification

  • Integration with blockchain networks or decentralized storage systems for DID registration and resolution

  • Users have a basic understanding of DIDs and cryptographic tokens

1.3 Constraints

  • Maintain compatibility with existing DID resolvers

  • Design for security and scalability

2. Architectural Overview

2.1 Design Philosophy

AXES Connect follows a modular, scalable, and secure architecture. It provides a comprehensive set of tools for managing DIDs, credentials, and TBAs while maintaining flexibility for integration with various blockchain and decentralized systems.

2.2 High-Level Architecture

  1. DID Management Module

  2. Credential Management Module

  3. Cryptographic Token Module

  4. TBA Management Module

  5. Storage and Blockchain Interaction Layer

2.3 Technology Stack

  • Programming Language: TypeScript

  • Framework: Node.js

  • Blockchain Interaction: Web3.js / Ethers.js

3. Component Architecture

3.1 DID Management Module

Responsibilities:

  • Register DID: Create a new DID based on a provided public key

  • Resolve DID: Retrieve the DID document associated with a given DID

  • Get DIDs: Retrieve a list of DIDs associated with a specific address

3.2 Credential Management Module

Responsibilities:

  • Issue Credentials: Create and associate credentials with a given DID

  • Revoke Credentials: Revoke a credential associated with a DID

  • Verify Credentials: Verify the validity of a credential for a given DID

3.3 Cryptographic Token Module

Responsibilities:

  • Issue JWZ: Issue a JSON Web Token (JWT) for a given DID

  • Verify JWZ: Verify the authenticity of a JSON Web Token for a DID

  • Verify Signature: Verify the digital signature of a DID

3.4 TBA Management Module

Responsibilities:

  • Create TBA: Generate a new Token Bound Account

  • Link TBA: Associate a TBA with a specific token (e.g., NFT)

  • Transfer TBA: Handle the transfer of TBA ownership

  • Resolve TBA: Retrieve TBA information based on token or address

3.5 Storage and Blockchain Interaction Layer

Responsibilities:

  • Store DID Documents and credentials in decentralized storage

  • Interact with blockchain networks for on-chain operations

  • Handle transaction signing and broadcasting

Last updated