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
DID Management Module
Credential Management Module
Cryptographic Token Module
TBA Management Module
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