分布式數字身份——創建一個Weidentity數字身份
- 前言
- DID
- Weid
- 前置環境準備
- 基礎配置
- FISCO BCOS 鏈
- 部署 Weidentity 合約
- 部署 Weidentity Rest Serivce
- 使用 Weidentity Python SDK
- 專案分享
- 參考鏈接
- 總結
- 關于作者
前言
DID
基于區塊鏈技術的分布式數字身份是一種自我主權的、可驗證的、新型數字身份,W3C為這種身份定義了“分布式數字身份識別符號規范”(Decentralized ID,DID)—— 一種新型的全球識別符號,
分布式識別符號(DID)的用途包括以下兩個方面∶其一,使用識別符號來標識 DID?主體(人員,組織,設備,密鑰,服務和一般事物)的特定實體;其二,促進物體之?間創建持久加密的專用通道,而無需任何中心化注冊機制,它們可以用于諸如憑證交?換和認證,

?? DID 是將DID物件(DID)與DID 檔案(DID Doc)相關聯的URL,一個物體可?以具有多個 DID,甚至與另一個物體的每個關系可以關聯一個或多個DID(成對假名?和一次性識別符號)以保護隱私性,身份所有者通過證明擁有與系結到該 DID的公鑰相?關聯的私鑰來建立DID的所有權,
?? ?一個DID的定義具有以下形式∶"did∶"++“∶”+<method特定?的識別符號>
?? ??這類似于一種名字空間的表達,通常是實作并注冊了特定DID操作?方法的廠商(比如Weidentity的did-method就為weid)名稱的縮寫,比如 did∶nist∶0x1234abcd,考慮到方便與其它基于Internet 的標?識符一起使用,method特定的識別符號通常是 URL 、URI識別符號或者賬戶地址(例如:0xfd28ad212a2de77fee518b4914b8579a40c601fa),
Weid
什么是 WeIdentity?
WeIdentity是一套分布式多中心的技術解決方案,可承載物體物件(人或者物)的現實身份與鏈上身份的可信映射、以及實作物體物件之間安全的訪問授權與資料交換,WeIdentity由微眾銀行自主研發并完全開源,秉承公眾聯盟鏈整合資源、交換價值、服務公眾的理念,致力于成為鏈接多個垂直行業領域的分布式商業基礎設施,促進泛行業、跨機構、跨地域間的身份認證和資料合作,
WeIdentity目前主要包含兩大模塊:WeIdentity DID以及WeIdentity Credential,
所以我們也可以知道weid是did規范的一種實作方案,
前置環境準備
基礎配置
- CentOS/Ubuntu 7.2 / 16.04,64位 部署 RestServer 用
- JDK 1.8+ 推薦使用 1.8u141 及以上
- FISCO-BCOS 節點 1.3.8(即中央倉庫的1.2.5)或 2.x 確保它可以和部署 Server 機器互相連通,可 telnet 其 channelPort 埠
- Gradle 4.6+ 同時支持 4.x 和 5.x 版本的 Gradle
- MySQL 5 + 需要MySQL存盤必要的鏈上資料進行快取
- Python 3 呼叫 weidentity sdk
FISCO BCOS 鏈
請食用官網最新部署檔案
部署 Weidentity 合約
請食用官網最新部署檔案
部署 Weidentity Rest Serivce
請食用官網最新部署檔案
部署成功之后,rest service介面成功暴露在 http://ip:6001,自此我們的環境就搭建完成了,
使用 Weidentity Python SDK
經過上文我們獲取到了rest service api,自此我們就可以通過python去呼叫weidentity的介面了,
專案地址:https://github.com/99Kies/Weidentity-Python-SDK
呼叫示例:
- 獲取 weidentity python sdk
pip install pyweidentity
- 托管模式示例
from pyweidentity.weidentityService import weidentityService
URL = "http://192.168.80.144:6001"
# WeIdentity RestService URL
weid = weidentityService(URL)
create_weid = weid.create_weidentity_did()
print(create_weid)
- 輕客戶端模式示例
from pyweidentity.weidentityClient import weidentityClient
import random
URL = "http://192.168.80.144:6001"
# WeIdentity RestService URL
weid = weidentityClient(URL)
privKey = "0xc4a116fb87ae9b8b87842b0f46e1bbf71c37fdae1104fd6d3fd2041e23c8c68e"
nonce = str(random.randint(1, 999999999999999999999999999999))
create_weid = weid.create_weidentity_did(privKey, nonce)
print(create_weid)
專案分享
分布式數字身份管理平臺:https://github.com/SUIBE-Blockchain/SUIBE_DID_Data_Manager
我們這個專案也是基于weideneity python sdk去實作的一個did管理平臺,感興趣的同志也可以來完善專案哇,
參考鏈接
https://weidentity.readthedocs.io/zh_CN/latest/README.html
https://weidentity.readthedocs.io/zh_CN/latest/docs/weidentity-rest-api.html
https://tsmatz.wordpress.com/2019/12/24/decentralized-identifiers-did-tutorial/
https://baijiahao.baidu.com/s?id=1670362239120061827&wfr=spider&for=pc
<>
總結
pyweidentity就是在weidentity rest service api上做了一層封裝,所以理解起來并不吃力,期待各位python 大大能找出更有趣的專案玩法,
weidentity python sdk 倉庫地址:https://github.com/99Kies/Weidentity-Python-SDK#how-to-use
關于作者
作者的聯系方式:
微信:thf056
qq:1290017556
郵箱:1290017556@qq.com
你也可以通過 github | csdn | @新浪微博 關注我的動態
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/302846.html
標籤:區塊鏈
上一篇:CoopEdge:基于去中心化區塊鏈的合作邊緣計算平臺
下一篇:區塊鏈定價模型
