HyperLeger Fabric SDK開發(一)——Fabric SDK開發簡介
HyperLeger Fabric SDK開發(一)——Fabric SDK開發簡介
一、Fabric SDK簡介
1、Fabric SDK簡介
Farbric的Peer節點和Orderer節點都提供了基於gRPC協議的介面,用於和Peer節點與Orderer節點進行命令/資料互動。為了簡化開發,為開發人員開發應用程式提供操作Fabric區塊鏈網路的API,Fabric官方提供了多種語言版本的SDK。
Fabric提供了三種語言版本的SDK,分別如下:
A、Fabric Nodejs SDK
B、Fabric Java SDK
C、Fabric Go SDK
Fabric區塊鏈應用可以通過SDK訪問Fabric區塊鏈網路中的多種資源,包括賬本、交易、鏈碼、事件、許可權管理等。應用程式代表使用者與Fabric區塊鏈網路進行互動,Fabric SDK API提供瞭如下功能:
A、建立通道
B、將peer節點加入通道
C、在peer節點安裝鏈碼
D、在通道例項化鏈碼
E、通過鏈碼呼叫交易
F、查詢交易或區塊的賬本
2、Fabric SDK安裝
下載Fabric SDK:go get -u github.com/hyperledger/fabric-sdk-go
3、Fabric Go SDK原始碼結構
pkg/fabsdk: Fabric SDK的主要包,允許基於配置建立上下文。上下文由客戶端軟體包使用。
pkg/client/channel: 提供通道交易相關功能
pkg/client/event: 提供通道事件相關功能
pkg/client/ledger: 啟用對通道底層賬本的查詢相關功能
pkg/client/resmgmt: 提供資源管理功能,例如安裝鏈碼
pkg/client/msp: 啟用身份管理相關功能
二、Fabric SDK功能模組
1、API
對於應用開發者來說,外掛化的API可以支援SDK提供的關鍵介面的可選實現。對於每個介面,都有內建的預設實現,也可以靈活自定義。
2、fabric-client
fabric-client模組提供API與基於Hypreledger Fabric區塊鏈網路的核心元件(即peer,order和事件流)進行互動,主要功能如下:
A、建立channel
B、請求peer節點加入通道
C、在peer節點中安裝鏈碼
D、在通道中例項化鏈碼
E、通過呼叫鏈碼來呼叫事務
F、多種查詢
G、監聽事件
3、fabric-ca-client
fabric-ca-client模組提供與可選元件fabric-ca進行互動的API,fabric-ca提供成員管理服務。fabric-ca-client模組主要功能如下:
A、註冊新使用者
B、註冊使用者以獲得由Fabric CA簽名的註冊證書
C、通過註冊ID撤銷現有使用者或撤消特定證書
D、可定製的持久化儲存