學(xué)習(xí)背景:
我用SDK(go)用來(lái)進(jìn)行Fabric 網(wǎng)絡(luò)進(jìn)行交互,通過(guò)SDK調(diào)用grpc與指定的peer節(jié)點(diǎn)和orderer節(jié)點(diǎn)進(jìn)行通訊。需要看看hyperledger-fabric 1.4的官方文檔,直接學(xué)習(xí)會(huì)很迷茫。
工作流程:
從GoDoc網(wǎng)站中我我發(fā)現(xiàn)

sdk工作流程.png
我們要用到的包
看了文檔后可能是一臉的懵逼,但是文章開(kāi)頭其實(shí)就告訴了我們要用到什么包如圖下
最終要用到的包.png
這些包都是干什么的呢,文檔內(nèi)都有介紹。
- pkg/fabsdk:主package,主要用來(lái)生成fabsdk以及各種其他pkg使用的option context(上下文)。
- pkg/client/channel:主要用來(lái)調(diào)用、查詢(xún)鏈碼,或者注冊(cè)鏈碼事件。
- pkg/client/resmgmt:主要用來(lái)fabric網(wǎng)絡(luò)的管理,比如創(chuàng)建、加入通道,安裝、實(shí)例化和升級(jí)鏈碼。
- pkg/client/event:配合channel模塊來(lái)進(jìn)行鏈碼事件注冊(cè)和過(guò)濾。
- pkg/client/ledger:主要用來(lái)賬本的查詢(xún),查詢(xún)區(qū)塊、交易、配置等。
- pkg/client/msp:主要用來(lái)管理fabric的成員關(guān)系。
代碼層面學(xué)習(xí)
我覺(jué)得首先了解API接口吧,最好可以從小的項(xiàng)目入手,邊寫(xiě)邊學(xué),遇到不會(huì)的知識(shí)點(diǎn)還可以補(bǔ)充推薦個(gè)網(wǎng)站吧教程,我看到的一個(gè)不錯(cuò)的教程可以跟著學(xué)一學(xué),做一做。