5 个版本
0.3.1 | 2019 年 11 月 5 日 |
---|---|
0.3.0 | 2019 年 11 月 5 日 |
0.2.3 | 2019 年 11 月 2 日 |
0.2.2 | 2019 年 9 月 26 日 |
0.2.1 | 2019 年 9 月 6 日 |
#36 in #did
36 每月下载次数
32KB
870 代码行
DID
这是一个 Rust 包,用于处理 W3C DID 规范中定义的 DID 文档。
此包目前支持两个功能:解析和验证 DID URI 和 DID 文档。它不处理特定于网络或上下文的 DID 方法规范。
命名空间为 did_uri
,顶级导出 Uri
,Document
,DidError
,DidErrorKind
。
解析 DID Uri 的示例
use did_doc::Uri;
fn main() {
//Valid DID URI
let did = Uri::from_str("did:git:akjsdhgaksdjhgasdkgh").unwrap();
//Invalid DID URI
let res = Uri::from_str("did:git:");
assert!(res.is_err());
//Convert back to string
let did_str = did.to_string();
}
解析 DID 文档的示例
use did_doc::{
fields::{PublicKeyEncoding, PublicKeyType},
Document
};
fn main() {
let jstr = r#"
{
"@context": "https://w3id.org/did/v1",
"id": "did:example:123456789abcdefghi"
}
"#;
//Valid did document;
let doc = Document::from_str(&jstr).unwrap();
assert_eq!(doc.context().len(), 1);
assert_eq!(doc.subject(), "did:example:123456789abcdefghi");
assert_eq!(doc.public_key().len(), 0);
assert_eq!(doc.authentication().len(), 0);
assert_eq!(doc.service().len(), 0);
}
依赖项
~3–4MB
~79K SLoC