This repository is a comprehensive specification and documentation set for the OpenDID (Open Decentralized Identity) framework. It defines standards, protocols, and data models for a decentralized identity system based on W3C DID and VC specifications, with extensions for zero-knowledge proofs. The repository contains no executable code but provides detailed specifications through Markdown documents, GraphML diagrams, PlantUML sequence diagrams, and the OpenDID Schema Definition Language (OSD). It covers the full lifecycle of decentralized identities including DID document management, verifiable credential issuance and presentation, zero-knowledge proof-based verification, wallet management, and secure communication protocols between system components.
Ethr-DID is a TypeScript library that provides a high-level abstraction for creating, managing, and using `did:ethr` decentralized identifiers on Ethereum. It wraps the `ethr-did-resolver` and `did-jwt` libraries to enable operations such as signing and verifying JSON Web Tokens (JWTs), changing the owner of a DID, adding or revoking delegate signers, and setting or revoking public attributes (keys, services) on the Ethereum DID Registry smart contract. The library supports multiple Ethereum networks (mainnet, testnets, custom chains) and meta-transactions for gasless operations. It is designed for developers building self-sovereign identity solutions on Ethereum, particularly within the Veramo ecosystem. The codebase is well-tested with Jest and Ganache, uses modern ES modules and TypeScript, and follows semantic versioning with automated releases.