#did #operations #service #sidetree #client #generate #key

vade-sidetree-client

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

1 个不稳定版本

0.1.0 2022 年 5 月 6 日

#37 in #did


2 个 crate 中使用 (通过 vade-sidetree)

Apache-2.0

31KB
714

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_json crate 将这些对象转换为 JSON。

创建操作

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

创建新的 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

依赖项

~3–4.5MB
~84K SLoC