鑒于新入門的朋友在實際運用上可能需要更加簡單明了的方案,這裡就把最直接的方案給出,具體是寫了一個FabricManager管理器,這個管理器将會接管整個java sdk與peer節點伺服器及orderer排序伺服器的通訊過程,包括event等時間的攔截等等,但是這裡還是給一個demo級的,具體實際運用需要大家根據自己的實際場景進行簡單的修改和完善。
然後我們開始編寫FabricManager管理器,這個管理器包含兩個簡單部分,第一部分是項目配置,第二部分是調用方法。
FabricConfig.java類建立配置,在構造器裡設定crypto-config所在路徑,預設路徑為src/main/resources/fabric/crypto-config/
如下圖未知:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauITOkFjYiFTMmVmNhZDOmBzYxEzYxIjYzYWOmRDZzYmNfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpg)
通過getOrderers()方法建立排序伺服器,在由config.setOrderers()方法添加排序伺服器到設定。
排序伺服器可以添加一個或多個,排序伺服器的域名和排序伺服器的通路位址按提供的檔案填寫。
通過getPeers ()方法建立節點伺服器,在由config. setPeers ()方法添加節點伺服器到設定。
組織名稱、MSPID、組織根域名根據實際情況填寫。
通過getChaincode ()方法擷取智能合約對象,在由config. setChaincode ()方法添加智能合約對象到設定。
項目配置到這裡基本就完成了,接下來是調用過程。
在述說調用過程之前,我把完整的代碼粘貼出來,當然還是demo級的,但已經可以使用于生産了,如下:
調用過程其實就是對FabricManager管理器的具體應用,一般都在impl中進行,具體可執行代碼如下:
具體傳回結果的運用需要各位智能合約編寫傳回結果的解析來支援,這裡需要結合業務來實操,無法說的詳盡。
需要注意區塊鍊的事務處理,另外還有invoke和query的差別。
至此整個java sdk的改良使用和調用方法應該就完成了,如果還有什麼問題,可以留言讨論。