did_utils/
lib.rs

1//! # did-utils
2//!
3//! This crate provides a set of utilities for working with Decentralized Identifiers (DIDs).
4//! It includes support for cryptographic operations, DID core functionality, key management, proof handling,
5//! verifiable credentials, linked data models, and various DID methods.
6//!
7//! ## Modules
8//!
9//! - [`crypto`]: Contains cryptographic utilities for key generation, encryption,
10//!   decryption, signing, and verification.
11//! - [`didcore`]: Provides core functionality for DIDs, including parsing and manipulation.
12//! - [`didkit`]: Provides high-level functionality for creating and managing DIDs.
13//! - [`key_jwk`]: Provides support for JSON Web Key (JWK) representations of keys.
14//! - [`proof`]: Handles proof creation and verification.
15//! - [`vc`]: Manages Verifiable Credentials, including their creation, signing, and verification.
16//! - [`ldmodel`]: Defines Linked Data models for representing DIDs and related data.
17//! - [`methods`]: Implements various DID methods.
18//!
19//! ## Example Usage
20//!
21//! Below is a simple example of how to create a DID Document:
22//!
23//! ```rust
24//! # use did_utils::didcore::Document;
25//! # use did_utils::ldmodel::Context;
26//!
27//! # fn main() {
28//!     let context = Context::SetOfString(vec!["https://www.w3.org/ns/did/v1".to_string()]);
29//!     let did_document = Document::new(context, "did:example:123456".to_string());
30//!     println!("{:?}", did_document);
31//! # }
32//! ```
33pub mod crypto;
34pub mod didcore;
35pub mod didkit;
36pub mod jwk;
37pub mod ldmodel;
38pub mod methods;
39pub mod proof;
40pub mod vc;