BSN-DDC基礎網路詳解(十):官方DDC應用SDK
官方 SDK 是 BSN 聯盟為平臺方推出的可快速接入 DDC 網路的工具包,目前 DID 和各個開放聯盟鏈的官方 DDC SDK 都使用 Java 語言開發,其它主流語言的 SDK 根據市場反饋我們將陸續增加。如果算力中心方和平臺方的業務系統的開發語言與 SDK 不匹配,可將 JAVA 的 SDK 封裝成本地服務進行呼叫,或參照原始碼進行重構。如果在這方面有任何疑問,可以在專享的技術支援群內向 DDC 網路技術人員諮詢。
01
DID SDK
DID(Decentralized Identity)即分散式數字身份,算力中心方和平臺方僅需註冊一次 DID,所以建議平臺方單獨使用 DID SDK,無需將其整合到業務系統內。
DID 除了 Java 語言開發的 SDK 外,也提供了 HTTP API,平臺方可以參考:
HTTP API
1.接入引數
2.公共引數
3.建立 DID 過程介紹
建立 DID 的過程中會生成公私鑰資訊,為了避免私鑰的遠端傳輸,BSN 數字身份服務不提供建立 DID 的過程,開發者可按下述介紹本地完成開發,或者可以使用、參考 SDK 內的實現過程。
1)透過橢圓曲線演算法 Secp256k1 生成兩對公私鑰資訊;
2)儲存私鑰,指定主備公鑰拼裝 Base DID Document,其內容如下示例:
{ "@context": " "authentication": { "type": "Secp256k1", "publicKey": "28986472722394106073871327423452879123214061743224210681401278929598807211140001274507530324221923795865447680836742348963337343510229880669968499735858" } "recovery": { "type": "Secp256k1", "publicKey": "9251971168042915941551574641987721503984542761641852064853964541181378832746959340151297908312616596971625573967556676367696067937171601766581709843378481" } }
3)透過 base58(ripemd160(sha256()))演算法生成 DID 識別符號,其格式如下示例:
did:bsn:3wxYHXwAm57grc9JUr2zrPHt9HC
4)拼裝 DID Document 內容,如下示例:
{ "did": "did:bsn:3wxYHXwAm57grc9JUr2zrPHt9HC", "version": 1, "created": "2021-05-20T16:02:20Z", "updated": "2021-05-20T16:02:20Z", "authentication": { "type": "Secp256k1", "publicKey": "28986472722394106073871327423452879123214061743224210681401278929598807211140001274507530324221923795865447680836742348963337343510229880669968499735858" } "recovery": { "type": "Secp256k1", "publicKey": "9251971168042915941551574641987721503984542761641852064853964541181378832746959340151297908312616596971625573967556676367696067937171601766581709843378481" } }
5)使用主私鑰對 DID Document 內容進行 Secp256k1 簽名,最終形成帶有簽名屬性的 DID Document,如下示例:
{ "did": "did:bsn:3wxYHXwAm57grc9JUr2zrPHt9HC", "version": 1, "created": "2021-05-20T16:02:20Z", "updated": "2021-05-20T16:02:20Z", "authentication": { "type": "Secp256k1", "publicKey": "28986472722394106073871327423452879123214061743224210681401278929598807211140001274507530324221923795865447680836742348963337343510229880669968499735858" } "recovery": { "type": "Secp256k1", "publicKey": "9251971168042915941551574641987721503984542761641852064853964541181378832746959340151297908312616596971625573967556676367696067937171601766581709843378481" } "proof": { "type": "Secp256k1", "creator": "did:bsn:3wxYHXwAm57grc9JUr2zrPHt9HC", "signatureValue": "zD5nt+P/Ga/CRG2hJU/SMRXy210CLdvATsxQdPxTEy9Mc9Y0OSFpE3Yu5k2+OjQKVOtu5of9VFbgO3Zljw/vQxs=" } }
本地組裝 DID Document 內容後對接 DID Document 上鍊介面完成 DID 的註冊。可參考:
DID Document 上鍊
使用 SDK 註冊 DID 後,返回資料裡便直接生成了 DID 標識(did)和 DID 簽名值(didSign);對接 HTTP API 註冊 DID 後,還需使用主私鑰(authKeyInfo.privateKey)對 DID 標識(did)進行 k1 演算法簽名方可生成 DID 簽名值。
02
官方 DDC 應用 SDK
官方 DDC 應用 SDK 是 BSN 聯盟和各個鏈技術方聯合推出的一個可快速呼叫官方 DDC 合約業務方法的工具,裡面整合封裝了與 DDC 開放聯盟鏈的通訊方法、本地演算法以及官方 DDC 合約的代理類,算力中心方和平臺方都可以透過 DDC SDK 呼叫官方 DDC 合約,並可以基於 DDC SDK 進行定製開發呼叫部署在 DDC 網路中自己的智慧合約。需要注意的是,算力中心方及其應用開發者使用官方 DDC 應用 SDK 進行鏈上交易處理時,需透過算力中心的鏈節點閘道器與部署在算力中心本地的各個開放聯盟鏈節點互動,請參考算力中心鏈節點閘道器接入說明:
算力中心鏈節點
節點閘道器
節點閘道器部署說明,請參考:
節點閘道器接入說明,請參考:
中移鏈
中移鏈節點部署說明,請參考:
文昌鏈
文昌鏈節點部署說明,請參考:
泰安鏈
泰安鏈節點部署說明,請參考:
DDC 平臺方由於沒有部署在本地執行的開放聯盟鏈節點,需透過 BSN 聯盟提供的官方 DDC 開放聯盟鏈閘道器與各個開放聯盟連結點互動,請參考官方 DDC 開放聯盟鏈閘道器接入說明:
官方 DDC 開放聯盟鏈閘道器
(僅對 DDC 平臺方用)
文昌鏈:
武漢鏈:
泰安鏈:
中移鏈:
遵義鏈:
內容引用於《BSN-DDC 基礎網路幫助手冊》,手冊版本號:2.2.1,修訂時間:2023-04
-END-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012206/viewspace-2949553/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BSN-DDC基礎網路詳解(七):BSN-DDC官方合約市場
- BSN-DDC 基礎網路 DDC SDK 詳細設計(八):示例
- BSN-DDC基礎網路詳解(五):接入DDC網路(2)
- BSN-DDC基礎網路DDC SDK詳細設計(七):資料解析
- BSN-DDC基礎網路詳解(一):基礎介紹
- BSN-DDC基礎網路詳解(二):快速接入指南
- BSN-DDC基礎網路詳解(九):跨鏈機制
- BSN-DDC基礎網路詳解(四):資金賬戶充值
- BSN-DDC基礎網路詳解(八):部署自定義智慧合約
- BSN-DDC基礎網路介紹&答疑
- BSN-DDC基礎網路DDC SDK詳細設計(六):交易查詢、區塊查詢、簽名事件事件
- BSN-DDC基礎網路詳解(十一):官方門戶OpenAPI說明及開發資料彙總API
- BSN-DDC 基礎網路關鍵知識點(一)DDC背景介紹
- BSN-DDC 基礎網路關鍵知識點(四)DDC的生成和管理
- BSN-DDC 基礎網路關鍵知識點(五)跨鏈機制、官方 SDK 說明、開發資料彙總
- BSN-DDC基礎網路詳解(三):註冊門戶賬號和業務開通(2)
- BSN-DDC基礎網路單日交易(Transaction)數超越以太坊
- EverX將加入BSN-DDC基礎網路 全面賦能中國NFT技術的創新應用
- BSN-DDC基礎網路四重重磅福利火熱來襲
- 唐山鏈成為BSN-DDC基礎網路開放聯盟鏈之一
- 中移鏈已在BSN-DDC基礎網路上線元交易功能
- 基於BSN-DDC基礎網路的數字藏品平臺數藏中國正式釋出
- 揭秘BSN-DDC網路的自建城市算力中心
- 看懂BSN-DDC基礎網路的巨大優勢 要從這8個核心理念說起
- BSN-DDC應用合約解讀彙總(2023年一季度)
- BSN-DDC基礎網路正式上線,為中國NFT技術合規發展保駕護航
- BSN-DDC網路武漢鏈實現NFT跨鏈以太坊
- 什麼是美顏sdk?美顏sdk基礎知識、應用場景、關鍵技術詳解
- Zookeeper基礎原理&應用場景詳解
- 中移鏈(基於EOS)DDC-SDK實戰 -如何整合中移鏈DDC-SDK
- 資料庫篇-mysql詳解( 一 )之基礎應用資料庫MySql
- UDP&TCP Linux網路應用程式設計詳解UDPTCPLinux程式設計
- 學習網路安全得多少費用?網路安全基礎入門瞭解
- 詳解SpringBoot(2.3)應用製作Docker映象(官方方案)Spring BootDocker
- 一站式詳解——網際網路後端全套基礎設施後端
- BSN-DDC月度說明會首次對外公開直播
- 「雜文」應用基礎實踐一(網路+Java)實驗報告Java
- 網路安全基礎