#did #substrate #ssi #document #plugin #vade #evan

vade-evan-substrate

基于substrate的DID和DID文档处理插件,用于vade

2个不稳定版本

0.2.0 2022年8月25日
0.1.3 2022年5月5日

#48 in #ssi

Download history 5/week @ 2024-03-11 35/week @ 2024-04-01 59/week @ 2024-04-15

1,145 每月下载量
用于 2 crates

自定义许可

125KB
2.5K SLoC

Vade Evan Substrate 插件

crates.io Documentation Apache-2 licensed

关于

此crate允许您使用evan.network上的DID信任和跟踪进行工作。为此,导出了一个VadePlugin实现: VadeEvanSubstrate

VadeEvanSubstrate

支持在substrate上创建、更新和获取DID和DID文档,因此支持

签名substrate请求

由于DID解析实例需要对其substrate请求进行签名,因此必须提供签名远程端点。DID解析器将为did_createdid_update签名请求。必须在构造函数的配置参数中传递签名端点,例如

use vade_evan_substrate::{ResolverConfig, VadeEvanSubstrate};
use vade_signer::{LocalSigner, Signer},
let signer: Box<dyn Signer> = Box::new(LocalSigner::new());
let resolver = VadeEvanSubstrate::new(ResolverConfig {
    signer,
    target: "127.0.0.1".to_string(),
});

在远程签名时,将使用POST请求调用signing_url。要签名的消息以及如此类键的引用将传递到服务器

{
    "key": "some-key-id",
    "type": "some-key-type",
    "message": "sign me please"
}

支持两种类型的响应。成功的签名结果以以下格式给出

{
  "messageHash": "0x52091d1299031b18c1099620a1786363855d9fcd91a7686c866ad64f83de13ff",
  "signature": "0xc465a9499b75eed6fc4f658d1764168d63578b05ae15305ceedc94872bda793f74cb850c0683287b245b4da523851fbbe37738116635ebdb08e80b867c0b4aea1b",
  "signerAddress": "0x3daa2c354dba8d51fdabc30cf9219b251c74eb56"
}

可以通过这种方式发出错误信号

{
    "error": "key not found"
}

编译vade-evan-substrate

“常规”构建

没有什么令人惊讶的

cargo build --release

WASM

要为wasm编译vade-evan-substrate,请使用wasm pack。

您还必须指定是要构建浏览器环境还是nodejs环境。

nodejs

wasm-pack build --release --target nodejs

browser

wasm-pack build --release --target web

依赖项

~12–28MB
~453K SLoC