close

今天想跟大家分享的是一個open source hyperledger-fabric-gateway的使用方法

Hyperledger Fabric 是一個企業等級的區塊鍊,而且最近越來越火紅,official的開發工具也越來越多

今天要來跟大家介紹一個好東西 hyperledger-fabric-gateway

是一個在github的open source,主要的功能是把node.js SDK包裝過一層,提供了許多實用的API,比起自己從頭用SDK實在是方便很多,尤其是看了細部的source code發現他其實提供了很多方便的功能,例如自動更新channel的最新狀態,自動重新連接斷訊的eventhub,eventHub歷史紀錄,快速加入新的org,提供channelconfig的簽名介面...等

這邊有他的gitbook的連結

gitbook

還有hyperledger-fabric-gateway的github source code

git

那這邊就先引用他的gitbook來跟大家講解如何用這個gateway提供的API在官方的的network(1個 orderer, 兩個org)來進行基本的

1.創建channel

2.加入channel

3.安裝chaincode

4.實例化chaincode

5.呼叫chaincode

6.查詢chaincode

 

創建channel

首先,gitbook中提到最一開始他的目標網路為下

藉由source code中的example shell檔我們可以快速的把所有要的component都啟動只要在source code 資料夾中

cd example
./twoOrg-twoGateway.sh

就可以得到以下的網路拓墣

他會用既有的憑證還有docker-compose file把1個orderer,四個peer還有兩個gateway都先啟動好,我們再藉由gateway提供的swagger UI的介面去進行API trigger就可以囉~

用default的shell org1的swagger UI 會開啟在localhost:4001/docs

org2 的 swagger UI 則會在 localhost:4002/docs

如果你是透過VM來使用這個gateway記得,進入到config.json中

把你的swagger.hostname的欄位改成VM的IP address,這樣你的swagger UI才可以把request打到真正的server上面。

接下來讓我們看看神奇的畫面吧!

我們先打開瀏覽器並且移動至 

http://localhost:4001/docs

undefined 

阿斯真的是很舒服的畫面,比起hyperledger fabric官方的文件還有他們操作的shell畫面舒服很多,小編看了一下,裡面就是非常多的API,不過我還沒有實際的全部測試完

那根據gitbook上的範例,我們要可以使用org1 或是 org2 的API來創建mychannel

這是後讓我們找到在channel分類中的 /channel/create API

可以發現它裡面很貼心的把default的值都打好了

undefined

這個API就是在hyperledeger fabric官方範例中創建channel的步驟,而在官方範例中的first tx,在這邊他選擇命名成mychannel.tx 而這個source存放的資料夾default指導的路徑為artifacts/channel

如果你們自己有自己的first tx of channel也可以把它用絕對路徑指過去。

小編照gitbook上面的做法,直接用default的值trigger API,馬上就創建channel成功拉!!

undefined

比起官方文件的切container切來切去快多拉~~

 

Join Channel

然後接下來我們要分別把org1的兩個peer還有org2的兩個peer都加入這個channel當中

按照gitbook的流程也超簡單

首先先找到/channel/join的API然後用它default的值直接trigger,秒成功

undefined

那因為4001 port是給org1的gateway的端口,這時候讓我們切換到4002 port然後做一樣的事情

先找到/channel/join

然後也一樣用default的值join channel

秒成功!

undefined

神快完成!

那這章節我們就先到這邊,下一個章節會繼續將install 以及 instantiate幫大家翻譯完成,有任何問題都可以在下面討論喔!!

 

arrow
arrow

    C牛(norman kung) 發表在 痞客邦 留言(0) 人氣()