Skip to main content

bc_xid/
lib.rs

1#![doc(html_root_url = "https://docs.rs/bc-xid/0.22.0")]
2#![warn(rust_2018_idioms)]
3
4//! # Introduction
5//!
6//! XIDs (eXtensible IDentity, */zid/*) are unique 32-byte identifier that
7//! represent any entities—real or abstract—such as a person, organization, or
8//! device. Generated from the SHA-256 hash of a specific public signing key
9//! known as the inception key, a XID provides a stable identity throughout its
10//! lifecycle, even as associated keys and permissions evolve. Leveraging
11//! Gordian Envelope for XID Documents, XIDs are recursively resolvable and
12//! extensible, allowing for detailed assertions about the entity, including key
13//! declarations, permissions, controllers, and endpoints. The integration of
14//! [provenance marks](https://provemark.com) ensures a verifiable chain of
15//! document revisions, enhancing security and authenticity in decentralized
16//! identity management.
17//!
18//! # Getting Started
19//!
20//! ```toml
21//! [dependencies]
22//! bc-xid = "0.22.0"
23//! ```
24//!
25//! # Examples
26//!
27//! See the unit tests in the source code for examples of how to use this
28//! library.
29
30mod error;
31pub use error::{Error, Result};
32
33mod privilege;
34pub use privilege::*;
35
36mod xid_document;
37pub use xid_document::*;
38
39mod shared;
40pub use shared::*;
41
42mod permissions;
43pub use permissions::*;
44
45mod key;
46pub use key::*;
47
48mod provenance;
49pub use provenance::*;
50
51mod service;
52pub use service::*;
53
54mod delegate;
55pub use delegate::*;
56
57mod name;
58pub use name::*;
59
60#[cfg(test)]
61mod tests {
62    #[test]
63    fn test_readme_deps() {
64        version_sync::assert_markdown_deps_updated!("README.md");
65    }
66
67    #[test]
68    fn test_html_root_url() {
69        version_sync::assert_html_root_url_updated!("src/lib.rs");
70    }
71}