自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在區(qū)塊鏈上部署鏈碼

區(qū)塊鏈
在本文中,我們將部署JAVA,GO,JAVASCRIPT的鏈代碼以運(yùn)行Hyperledger Fabric區(qū)塊鏈網(wǎng)絡(luò)。

[[399898]]

本文轉(zhuǎn)載自微信公眾號(hào)「區(qū)塊鏈研究實(shí)驗(yàn)室」,作者鏈三豐。轉(zhuǎn)載本文請(qǐng)聯(lián)系區(qū)塊鏈研究實(shí)驗(yàn)室公眾號(hào)。

介紹

在本文中,我們將部署JAVA,GO,JAVASCRIPT的鏈代碼以運(yùn)行Hyperledger Fabric區(qū)塊鏈網(wǎng)絡(luò)。

網(wǎng)絡(luò)設(shè)置

  • 具有一個(gè)應(yīng)用程序通道的Hyperledger Fabric v2.3設(shè)置。
  • JAVA鏈碼部署。
  • GO鏈碼部署。
  • JAVASCRIPT鏈碼部署。

資料夾結(jié)構(gòu)

克隆包含源代碼的倉庫。

chaincodes:包含用JAVA,GO,JavaScript編寫的鏈代碼的源代碼。

deployChaincode:包含鏈碼部署腳本。

  1. git clone https://github.com/cmjagtap/Hyperledger-Fabric 

文件夾結(jié)構(gòu)

織物區(qū)塊鏈設(shè)置

如果光纖網(wǎng)絡(luò)已經(jīng)在運(yùn)行,則可以跳過此步驟。讓我們創(chuàng)建一個(gè)結(jié)構(gòu)網(wǎng)絡(luò),執(zhí)行以下命令:

  1. export PATH=${PWD}/bin:$PATH 
  2. sudo service docker start 
  3.  cd org1 
  4. ./1_enrollOrg1AdminAndUsers.sh 
  5. ./2_generateMSPOrg1.sh 
  6.  cd ../org2 
  7. ./1_enrollOrg2AdminAndUsers.sh 
  8. ./2_generateMSPOrg2.sh  
  9.   
  10.  cd ../orderer 
  11. ./1_enrollAdminAndMSP.sh 
  12. ./2_artifact.sh 
  13.   
  14.  cd ../org1 
  15. ./3_createChannel.sh 
  16.   
  17.  cd ../org2 
  18. ./3_joinChannel.sh 

超級(jí)賬本2.3 blockchain已準(zhǔn)備就緒。

鏈碼生命周期

  • 打包鏈碼:在這里,我們需要?jiǎng)?chuàng)建一個(gè)壓縮的鏈碼打包器tar.gz文件。由一個(gè)組織或每個(gè)組織來完成,可將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鏈碼部署

讓我們導(dǎo)航到deployChaincode目錄。在這里,我們可以看到各種部署腳本。

在目錄結(jié)構(gòu)中,我們有deployOrg1_JAVA.sh腳本,其中包含部署鏈碼所需的生命周期命令。在當(dāng)前的Fabric網(wǎng)絡(luò)中,我們有兩個(gè)組織。

首先,在組織1上部署鏈碼,如下所示:

  1. cd deployChaincodes 
  2. ./deployOrg1_JAVA.sh 

鏈碼部署

上圖顯示成功的部署了鏈碼,我們成功地將汽車記錄推入了區(qū)塊鏈并且成功查詢了推車記錄,這里要確保您的互聯(lián)網(wǎng)已連接到以解決鏈碼依賴性。

在組織2上部署鏈碼,如下所示:

  1. ./deployOrg2_JAVA.sh 

Chaindoe部署

上圖顯示了鏈碼的成功部署,我們可以查詢了汽車數(shù)據(jù)。

在第二家公司中,則不需要執(zhí)行所有生命周期命令,鏈碼的提交和初始化由單個(gè)組織完成。

JAVAScript鏈碼部署

在目錄結(jié)構(gòu)中,我們有deployOrg1_JavaScript.sh和deployOrg2_JavaScript.sh執(zhí)行它們。

  1. ./deployOrg1_JavaScript.sh  
  2. ./deployOrg2_JavaScript.sh 

成功部署chaincode后,將看到與上圖相同的輸出。

GO鏈碼部署

在目錄結(jié)構(gòu)中,我們有deployOrg1_GO.sh和deployOrg2_GO.sh執(zhí)行它們。

  1. ./deployOrg1_GO.sh  
  2. ./deployOrg2_GO.sh 

成功部署chaincode后,將看到與上圖相同的輸出。

如何升級(jí)鏈碼 ?

假設(shè)我們已經(jīng)在結(jié)構(gòu)網(wǎng)絡(luò)上部署了鏈碼?,F(xiàn)在,我們想為現(xiàn)有的鏈碼添加一個(gè)新功能。

實(shí)施后,必須遵循相同的鏈碼生命周期過程來部署鏈碼,但這里必須升級(jí)鏈碼版本,鏈碼序列和鏈碼標(biāo)簽。

在部署,腳本將不得不改變CC_VERSION從1版本2和CC_SEQUENCE從1到2。

我們不需要更改標(biāo)簽,因?yàn)槲覀円呀?jīng)通過更改CC_VERSION和CC_SEQUENCE進(jìn)行了更改。

清理

執(zhí)行以下腳本以清理所有docker容器和加密材料。

  1. ./clean.sh 

 

目前為止,我們已經(jīng)在Hyperledger Fabric區(qū)塊鏈上成功部署了JAVA,GO,JavaScript鏈代碼。

 

責(zé)任編輯:武曉燕 來源: 區(qū)塊鏈研究實(shí)驗(yàn)室
相關(guān)推薦

2021-04-27 08:35:20

TRON區(qū)塊鏈

2021-05-10 15:09:47

區(qū)塊鏈互聯(lián)網(wǎng)金融

2022-01-12 10:37:09

區(qū)塊鏈技術(shù)金融

2018-03-27 09:52:30

區(qū)塊鏈數(shù)字貨幣比特幣

2021-12-24 13:24:16

區(qū)塊鏈教育加密貨幣

2022-06-02 14:11:42

區(qū)塊鏈藥品供應(yīng)鏈數(shù)據(jù)

2021-09-23 22:40:10

區(qū)塊鏈比特幣技術(shù)

2021-04-09 06:25:41

區(qū)塊鏈區(qū)塊鏈技術(shù)

2022-10-26 08:42:28

2018-03-09 15:37:30

2018-10-17 22:01:06

2021-09-30 22:42:03

區(qū)塊鏈開發(fā)供應(yīng)鏈

2018-06-14 10:32:25

2019-01-24 15:50:06

區(qū)塊鏈數(shù)字貨幣比特幣

2021-10-04 15:52:14

區(qū)塊鏈食品產(chǎn)品質(zhì)量

2021-02-20 22:35:17

區(qū)塊鏈比特幣記賬

2018-02-06 05:03:00

2021-03-03 23:11:12

區(qū)塊鏈健康碼新加坡

2022-06-01 14:38:23

區(qū)塊鏈以太坊運(yùn)營(yíng)商

2022-02-21 13:32:02

區(qū)塊鏈供應(yīng)鏈技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)