網(wǎng)絡(luò)設(shè)置
具有一個(gè)應(yīng)用程序通道的Hyperledger Fabric v2.3設(shè)置。 JAVA鏈碼部署。 GO鏈碼部署。 JAVASCRIPT鏈碼部署。
資料夾結(jié)構(gòu)
克隆包含源代碼的倉(cāng)庫(kù)。
chaincodes:包含用JAVA,GO,JavaScript編寫的鏈代碼的源代碼。
deployChaincode:包含鏈碼部署腳本。
git clone https://github.com/cmjagtap/Hyperledger-Fabric
織物區(qū)塊鏈設(shè)置
export PATH=${PWD}/bin:$PATHsudo service docker start cd org1./1_enrollOrg1AdminAndUsers.sh./2_generateMSPOrg1.sh cd ../org2./1_enrollOrg2AdminAndUsers.sh./2_generateMSPOrg2.sh cd ../orderer./1_enrollAdminAndMSP.sh./2_artifact.sh cd ../org1./3_createChannel.sh cd ../org2./3_joinChannel.sh
鏈碼生命周期
打包鏈碼:在這里,我們需要?jiǎng)?chuàng)建一個(gè)壓縮的鏈碼打包器tar.gz文件。由一個(gè)組織或每個(gè)組織來(lái)完成,可將chaincode打包在單個(gè)組織上,然后將其復(fù)制到其他組織或打包在所有其他組織上。 安裝:它是二進(jìn)制自動(dòng)觸發(fā)的事件。每個(gè)將使用鏈碼認(rèn)可交易或查詢分類帳的組織都需要完成此步驟,所有背書的對(duì)等方都需要執(zhí)行此操作。 批準(zhǔn):每個(gè)將使用鏈碼的組織都需要完成此步驟。鏈碼定義需要得到足夠多的組織的批準(zhǔn),才能滿足該頻道的LifecycleEndorsment策略(大多數(shù)是默認(rèn)值),才能在該頻道上啟動(dòng)鏈碼。 提交鏈代碼:一旦批準(zhǔn)了通道上所需數(shù)量的組織,提交事務(wù)就必須由一個(gè)組織提交,提交者首先從已經(jīng)批準(zhǔn)鏈碼的組織的足夠的同齡人那里收集背書,然后提交交易以提交鏈碼定義。
JAVA鏈碼部署
cd deployChaincodes./deployOrg1_JAVA.sh
鏈碼部署
./deployOrg2_JAVA.sh
Chaindoe部署
JAVAScript鏈碼部署
./deployOrg1_JavaScript.sh ./deployOrg2_JavaScript.sh
GO鏈碼部署
./deployOrg1_GO.sh ./deployOrg2_GO.sh
如何升級(jí)鏈碼 ?
實(shí)施后,必須遵循相同的鏈碼生命周期過(guò)程來(lái)部署鏈碼,但這里必須升級(jí)鏈碼版本,鏈碼序列和鏈碼標(biāo)簽。
在部署,腳本將不得不改變CC_VERSION從1版本2和CC_SEQUENCE從1到2。
我們不需要更改標(biāo)簽,因?yàn)槲覀円呀?jīng)通過(guò)更改CC_VERSION和CC_SEQUENCE進(jìn)行了更改。
清理
./clean.sh