4个版本
0.1.3 | 2019年10月21日 |
---|---|
0.1.2 | 2019年10月16日 |
0.1.1 | 2019年10月14日 |
0.1.0 | 2019年10月12日 |
4 in #pk
每月 36 次下载
在 3 crates 中使用
40KB
781 代码行
简介
forge_did
通过 Rust
实现。是 Forge_wallet 核心实现。
从pk、sk或pk hash生成 forge did
。例如 did:abt:zNYm1gM23ZGHNYDYyBwSaywzTqLKoj4WuTeC
。前缀 did
表示字符串是一个 DID
,abt
表示DID是 forge did
。 zNYm1gM23ZGHNYDYyBwSaywzTqLKoj4WuTeC
是地址。
API
get_did_by_sk(sk: &[u8],did_type: &Option<DidType>) -> Result<String>
get_did_by_pk(pk: &[u8],did_type: &Option<DidType>) -> Result<String>
get_did_by_pk_hash(pk_hash: &[u8],did_type: &Option<DidType>) -> Result<String>
用法
// generate key pair
let (sk, pk) = forge_signer::get_key_pair(Some(forge_signer::SignType::Ed25519));
let did_type = create_did::DidType{
role_type: Some(RoleType::Account),
key_type: Some(KeyType::Ed25519),
hash_type: Some(HashType::Sha3),
}
let did_by_sk = forge_did::get_did_by_sk(&sk, &Some(w_type.to_owned()))?;
let did_by_pk = forge_did::get_did_by_pk(&pk, &Some(w_type.to_owned()))?;
// did_by_pk example: "did:abt:zNYm1gM23ZGHNYDYyBwSaywzTqLKoj4WuTeC";
assert_eq!(did_by_sk, did_by_pk);
依赖项
~7.5MB
~114K SLoC