2 个版本
0.1.3 | 2019年12月18日 |
---|---|
0.1.1 | 2019年12月9日 |
#49 in #ssi
45KB
607 行
Decentralized Identity Documents
该 diddoc
crate 的目的是帮助 javascript
和 rust
开发者轻松管理 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-erc725
、did-btcr
、did-sov
等。 - 辅助实现自定义方法的 DID。
贡献
请为 diddoc
贡献!越多越好!请随时提出问题或建议,或直接联系所有者。
致谢
创建此库是为了满足 W3 的规范。
行为准则
本行为准则改编自 Contributor Covenant,版本 1.4,可在 http://contributor-covenant.org/version/1/4 找到
许可证
本项目根据 Apache 许可证(版本 2.0)和 MIT 许可证的条款分发,分别在第 LICENSE-APACHE 和 LICENSE-MIT 中指定。
依赖
~1.1–2MB
~43K SLoC