天天看點

Hyperledger Fabric 1.0 從零開始(十二)——fabric-sdk-java應用【補充】 項目配置 調用過程

鑒于新入門的朋友在實際運用上可能需要更加簡單明了的方案,這裡就把最直接的方案給出,具體是寫了一個FabricManager管理器,這個管理器将會接管整個java sdk與peer節點伺服器及orderer排序伺服器的通訊過程,包括event等時間的攔截等等,但是這裡還是給一個demo級的,具體實際運用需要大家根據自己的實際場景進行簡單的修改和完善。

然後我們開始編寫FabricManager管理器,這個管理器包含兩個簡單部分,第一部分是項目配置,第二部分是調用方法。

FabricConfig.java類建立配置,在構造器裡設定crypto-config所在路徑,預設路徑為src/main/resources/fabric/crypto-config/

如下圖未知:

Hyperledger Fabric 1.0 從零開始(十二)——fabric-sdk-java應用【補充】 項目配置 調用過程

通過getOrderers()方法建立排序伺服器,在由config.setOrderers()方法添加排序伺服器到設定。

排序伺服器可以添加一個或多個,排序伺服器的域名和排序伺服器的通路位址按提供的檔案填寫。

通過getPeers ()方法建立節點伺服器,在由config. setPeers ()方法添加節點伺服器到設定。

組織名稱、MSPID、組織根域名根據實際情況填寫。

通過getChaincode ()方法擷取智能合約對象,在由config. setChaincode ()方法添加智能合約對象到設定。

項目配置到這裡基本就完成了,接下來是調用過程。

在述說調用過程之前,我把完整的代碼粘貼出來,當然還是demo級的,但已經可以使用于生産了,如下:

調用過程其實就是對FabricManager管理器的具體應用,一般都在impl中進行,具體可執行代碼如下:

具體傳回結果的運用需要各位智能合約編寫傳回結果的解析來支援,這裡需要結合業務來實操,無法說的詳盡。

需要注意區塊鍊的事務處理,另外還有invoke和query的差別。

至此整個java sdk的改良使用和調用方法應該就完成了,如果還有什麼問題,可以留言讨論。