該項目可直接在github上訪問。
該項目介紹如何使用fabric-sdk-java框架,基於fabric-sdk-java v1.1正式版開發,可向下兼容1.0版本。
該項目沒有對原JAVA-SDK作修改,主要是結合HyperLedger Fabric與fabric-sdk-java中的交互方式作了我的感受更爲清晰的描述,但願可以幫助更多的人儘快熟悉fabric-sdk-java的操做流程和方式。
java
sdk-advance是基於fabric-sdk-java v1.1的服務,其主要目的是爲了更簡單的使用fabric-sdk-java,對原有的調用方法作了進一步封裝,主要提供了各類中轉對象,如智能合約、通道、排序服務、節點、用戶等等,最終將全部的中轉對象交由一箇中轉組織來負責配置,其對外提供服務的方式則交給FabricManager來掌管。
該項目僅做爲學習分享的形式提交維護,關於生產部署方面,sdk-advance與app的交互可自行選擇採用thrift或protobuf等數據傳輸協議實現,這裏並無提供該方案的具體實現,須要本身動手解決。
git
intermediate系列對象是該項目的主要封裝對象,間接屏蔽了真實應用層與fabric-sdk-java之間的直接交互。github
simple是一個基於spring-boot的項目,在simple中主要關注SimpleManager對象的使用,該對象的使用建議根據自身業務的實際需求從新包裝上線,但直接基於此項目應用也沒什麼大問題。個人這個simple中的ip的本身申請的服務器,你們能夠隨便測試,但不保證有效期,建議自行搭建本地服務測試。spring
調用示例:數據庫
1 OrgManager orgManager = new OrgManager(); 2 orgManager 3 .init("Org1") 4 .setUser("Admin", getCryptoConfigPath("aberic"), getChannleArtifactsPath("aberic")) 5 .setCA("ca", "http://118.89.243.236:7054") 6 .setPeers("Org1MSP", "org1.example.com") 7 .addPeer("peer0.org1.example.com", "peer0.org1.example.com", "grpc://118.89.243.236:7051", "grpc://118.89.243.236:7053", true) 8 .setOrderers("example.com") 9 .addOrderer("orderer.example.com", "grpc://118.89.243.236:7050") 10 .setChannel("mychannel") 11 .setChainCode("test2cc", "/code", "chaincode/chaincode_example02", "1.2", 90000, 120) 12 .openTLS(true) 13 .openCATLS(false) 14 .setBlockListener(map -> { 15 logger.debug(map.get("code")); 16 logger.debug(map.get("data")); 17 }) 18 .add(); 19 FabricManager fabricManager = orgManager.use("Org1"); 20 fabricManager.install(); 21 fabricManager.instantiate(argArray); 22 fabricManager.upgrade(argArray); 23 fabricManager…