#did #document #identity #ssi #self-sovereign

caelum-diddoc

自主权身份 rust/wasm crate

2 个版本

0.1.3 2019年12月18日
0.1.1 2019年12月9日

#49 in #ssi

MIT/Apache

45KB
607

Decentralized Identity Documents

diddoc crate 的目的是帮助 javascriptrust 开发者轻松管理 DID docs (Decentralized Identity Documents)。根据w3 的 DID 文档规范,本 crate 旨在成为一个 解析器。这意味着它可以创建、读取、更新和删除 DID 文档的所有属性。此外,它还可以通过证明验证与其他 DID 和 DID 文档进行交互,并且能够与其他去中心化标识符注册处的其他实体进行交互。这可以有效地用于执行 CKMS(密码学密钥管理系统)所需的所有操作,例如密钥注册、替换、轮换、恢复和过期。更多详细信息请参阅w3 的方法规范

文档

您可以阅读我们的代码文档,其中包含对使用javascript和rust以及库的实际实现的参考。

有关更多详细信息,您可以查看我们的书籍。

书籍

克隆存储库并进入 book 目录

git clone https://gitlab.com/caelum-tech/caelum-diddoc.git
cd caelum-diddoc/book

下载 mdbook 并构建文档

cargo install mdbook
mdbook build

在您的浏览器中打开书籍 /your/relative/path/caelum-diddoc/book/book/index.html

JavaScript 安装 DidDoc

npm

将其添加到您的 package.json 中

"devDependencies": {
    "@caelum-tech/caelum-diddoc-nodejs": "^0.1.2",
   ...
  }

在您的代码中导入

const diddoc = require('@caelum-tech/caelum-diddoc-nodejs')

最后,您可以像使用其他任何包一样使用它

const d = new diddoc.DidDoc('https://www.w3.org/ns/did/v1', 'did:lor:cat:lab:root')
console.log(d.toJSON())

从 gitlab

克隆或下载 diddoc 存储库

git clone ...

进入 diddoc 目录,并使用 wasm-pack 构建包(确保已安装 wasm-pack)

cd diddoc

wasm-pack build

这将生成一个名为 pkg 的目录,位于 diddoc 目录中。

将生成的包添加到您的 package.json

"devDependencies": {
    "diddoc": "file:../diddoc/pkg",
    ...
}

现在你可以像往常一样将它在你的 JavaScript 代码中导入

const diddoc = require('diddoc')

最后,您可以像使用其他任何包一样使用它

const d = new diddoc.DidDoc('https://www.w3.org/ns/did/v1', 'did:lor:cat:lab:root')
console.log(d.toJSON())

从 npm

作为一个正常的 npm 包安装

npm i @caelum-tech/caelum-diddoc-nodejs

安装 DidDoc 用于 Rust

将仓库添加到你的 Cargo.toml

...
[dependencies]
caelum-diddoc = "0.1.2"
...

使用和实例化

use caelum_diddoc::DidDocument;
let dd = DidDocument::default();
println!("{:#?}", dd);

解析器

DID 解析器是一个软件组件,具有一个 API,用于接受对 DID 的查找请求并执行相应的 DID 方法以检索权威的 DID 文档。为了符合本规范,DID 解析器

应当验证 DID 是否根据其 DID 方法规范有效,否则应产生错误。

在执行 DID 解析操作时,必须符合适用 DID 方法规范的要求。

如果 DID 文档已签名,应提供验证 DID 文档完整性的服务。

可以提供返回请求的 DID 文档属性的服务。

路线图

  • [ x ] 属性上的基本 CRUD 实现。
  • [ x ] 可选属性上的基本 CRUD 实现。
  • 基本与 IPFS 交互。
  • 验证加密证明。
  • 实现重要的 DID 方法,如 did-erc725did-btcrdid-sov 等。
  • 辅助实现自定义方法的 DID。

贡献

请为 diddoc 贡献!越多越好!请随时提出问题或建议,或直接联系所有者。

致谢

创建此库是为了满足 W3 的规范。

行为准则

本行为准则改编自 Contributor Covenant,版本 1.4,可在 http://contributor-covenant.org/version/1/4 找到

许可证

本项目根据 Apache 许可证(版本 2.0)和 MIT 许可证的条款分发,分别在第 LICENSE-APACHELICENSE-MIT 中指定。

依赖

~1.1–2MB
~43K SLoC