#did #operations #service #sidetree #client #generate #api-client

bin+lib sidetree-client

用于管理Sidetree API服务的DID操作的客户端库

3个版本

0.1.2 2020年12月21日
0.1.1 2020年12月21日
0.1.0 2020年12月21日

#45 in #did

Apache-2.0

19KB
367

Rust客户端库,用于管理Sidetree API服务的DID操作

Crates.io

此库提供了一套客户端服务,帮助处理Sidetree REST API的DID操作。目标是使用跨平台库提供基于Sidetree的DID方法。

要求

此库需要运行sidetree节点并公开API接口。请检查IONElement实现以在本地运行节点。

用法

您可以直接在代码中使用此库,或使用提供的CLI在控制台中生成请求。

在代码中使用此库

crates.io安装

sidetree-client = "*"

从终端使用CLI

使用以下命令安装CLI

cargo install sidetree-client

生成create请求

sidetree-client create

查看支持的命令列表

sidetree-client --help

规范

Sidetree操作

此库提供与API规范兼容的对象。这些对象可以使用Rust的serde_jsoncrate转换为JSON。

创建操作

要生成新的DID,您可以使用create()create_config()方法。

创建新的DID

要生成新DID的请求,请使用create()函数。它将为secp256k1曲线生成带有随机EC密钥的请求和文档。

use sidetree_client::*;

let create_operation = operations::create().unwrap();

// generate JSON request for use with API spec
let json = serde_json::to_string_pretty(&create_operation.operation_request);

println!("did:ion:{}", create_operation.did_suffix);
println!("{}", json);

此操作返回一个类型为OperationOutput的对象,具有以下字段

  • operation_request - 可以序列化为JSON并发送到Sidetree服务的POST /operations端点的对象
  • did_suffix - 这是一个唯一的DID后缀,代表您DID中的标识符。它应该附加到您的DID以获取完整的DID标识符,例如:did:ion:123abc
  • signing_key - 此字段将包含将成为您的DID文档一部分的随机密钥。默认情况下,此密钥的类型为 EcdsaSecp256k1VerificationKey2019,密钥ID为 key-1。要使用您自己的密钥,请使用 create_config() 方法。
  • update_key - 此密钥用于更新您的DID文档。它不会成为您公共DID文档的一部分,它仅用于Sidetree操作。请将此密钥存储在安全的地方。
  • recovery_key - 此密钥用于恢复对您的DID文档的访问。它不会成为您公共DID文档的一部分,它仅用于Sidetree操作。请将此密钥存储在安全的地方。

更新操作

将密钥添加到您的DID文档

待办事项

从您的DID文档中删除密钥

待办事项

将服务条目添加到您的DID文档

待办事项

从您的DID文档中删除服务条目

待办事项

恢复操作

待办事项

停用操作

待办事项

许可协议

Apache 2.0

依赖关系

~7MB
~129K SLoC