Hyperledger Fabric 1.4 產(chǎn)品鏈搭建教程 (三) —— MyFabric Demo Java SDK訪問(wèn)示例

本文為Hyperledger Fabric 1.4 產(chǎn)品鏈搭建教程系列第三篇,介紹如何使用Hyperledger Fabric Java SDK訪問(wèn)MyFabric Demo鏈。

本篇代碼可以從Github上下載 - myfabric-demo-java-client

certificate目錄

certificate目錄包含項(xiàng)目運(yùn)行需要的身份證書(shū)。

  • CA證書(shū)文件org0-ca-chain.pemorg1-ca-chain.pem是組織CA證書(shū),訪問(wèn)org0或org1的節(jié)點(diǎn)需要,由于組織節(jié)點(diǎn)開(kāi)啟了tls驗(yàn)證。

  • org1組織用戶(hù)身份文件。user_cert.pemuser_sk是用戶(hù)的身份證書(shū)和身份私鑰,提供訪問(wèn)用戶(hù)msp身份。user_client.crtuser_client.key是客戶(hù)端認(rèn)證證書(shū)和私鑰,訪問(wèn)節(jié)點(diǎn)需要,由于組織節(jié)點(diǎn)開(kāi)啟了客戶(hù)端驗(yàn)證。admin_開(kāi)頭的4個(gè)文件和user_文件類(lèi)似,代表admin身份。

certificate目錄中的身份證書(shū)需要使用MyFabric Demo鏈生成的證書(shū)。項(xiàng)目默認(rèn)文件和myfabric-demo-chain中的身份文件保持一致,可以直接使用。如果運(yùn)行了start-ca.sh重新生成組織身份證書(shū),需要復(fù)制相應(yīng)文件到certificate目錄中,可參考certificate.bat。

代碼介紹

SampleEnrollment類(lèi)實(shí)現(xiàn)Enrollment接口,管理用戶(hù)身份證書(shū)和私鑰。

SampleUser類(lèi)實(shí)現(xiàn)User接口,管理用戶(hù)名,MSPID,Enrollment等信息。

Demo類(lèi)進(jìn)行MyFabric Demo鏈的訪問(wèn),主要流程如下。

  1. 修改private static final String HOST = "192.168.99.101"為您啟動(dòng)MyFabric Demo鏈的機(jī)器IP,如果在本機(jī)啟動(dòng)可為localhost。

  2. getDemoChannel方法生成client對(duì)象和channel對(duì)象,client.setUserContext(user)指定一個(gè)SampleUser實(shí)例為客戶(hù)端訪問(wèn)用戶(hù)。channel對(duì)象添加一個(gè)orderer節(jié)點(diǎn)和一個(gè)peer節(jié)點(diǎn)。

  3. 調(diào)用mycc合約的query方法,query(client, channel, CHAIN_CODE, "query", new String[] {"a"}),顯示a的當(dāng)前值。

  4. 調(diào)用mycc合約的invoke方法,invoke(client, channel, CHAIN_CODE, "invoke", new String[] {"a", "b", "10"}),修改a和b的值。

  5. 再次調(diào)用mycc合約的query方法,query(client, channel, CHAIN_CODE, "query", new String[] {"a"}),顯示a被修改后的值。

  6. 遍歷鏈上的每個(gè)塊,blockWalker(client, channel),顯示塊信息和transaction信息。

詳細(xì)信息,請(qǐng)閱讀源代碼。

本篇完,完成教程請(qǐng)閱讀Hyperledger Fabric 1.4 產(chǎn)品鏈搭建教程系列。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容