欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java為HyperledgerFabric開發(fā)區(qū)塊鏈鏈代碼智能合約之環(huán)境如何部署

這篇文章主要為大家展示了“Java為Hyperledger Fabric開發(fā)區(qū)塊鏈鏈代碼智能合約之環(huán)境如何部署”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Java為Hyperledger Fabric開發(fā)區(qū)塊鏈鏈代碼智能合約之環(huán)境如何部署”這篇文章吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國際域名空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、景泰網(wǎng)站維護(hù)、網(wǎng)站推廣。

區(qū)塊鏈基礎(chǔ)

盡管關(guān)于區(qū)塊鏈存在大量炒作,但它確實(shí)物有所值。該技術(shù)不僅本身很有趣,而且它是顛覆性的,有潛力徹底變革互聯(lián)網(wǎng)上的業(yè)務(wù)執(zhí)行方式。

如何變革?讓我們來想想一次成功的業(yè)務(wù)交易的基本屬性:

  • 信任:我們達(dá)成了協(xié)議,但我能夠真的相信您會(huì)遵守它(或尊重我)嗎?

  • 透明性:允許查看 “幕后情況”(這既能建立信任,又能減少對信任的需求)。

  • 責(zé)任性:用來定義確定所有各方是否都認(rèn)為該協(xié)議得以遵守的條件。 兩方或多方之間的任何業(yè)務(wù)關(guān)系的健康程度對應(yīng)于上述 3 種屬性的不同級別(例如,更信任意味著需要的透明度更少,反之亦然),但其中一些屬性必須存在,否則就會(huì)出現(xiàn)問題。

“區(qū)塊鏈技術(shù)正被快速應(yīng)用到您身邊的軟件開發(fā)項(xiàng)目中。您準(zhǔn)備好了嗎?”

區(qū)塊鏈有何幫助?首先,通過使用通用框架,業(yè)務(wù)合作伙伴可以提前建立一個(gè)信任網(wǎng)絡(luò)。然后,通過使用對所有交易方可見的賬本,區(qū)塊鏈提供了透明性。最后,通過采用所有各方的一致意見(使用智能合約或鏈代碼的形式),建立了責(zé)任制。

這對 Java 開發(fā)人員有何意義?

Hyperledger 社區(qū)和 Hyperledger Fabric 的快速發(fā)展,意味著區(qū)塊鏈技術(shù)正快速被應(yīng)用到您身邊的軟件開發(fā)項(xiàng)目中。您準(zhǔn)備好了嗎?

區(qū)塊鏈技術(shù)發(fā)展形勢

有時(shí),開發(fā)技術(shù)可能會(huì)妨礙業(yè)務(wù)問題的解決。本教程的主要目的是展示如何編寫 Java 鏈代碼,所以我選擇了最簡單的開發(fā)技術(shù)組合來實(shí)現(xiàn)此目的。

也就是說,該組合中的組件還有其他選擇。在本教程中,我將使用 Docker 作為網(wǎng)絡(luò)容器環(huán)境,而另一個(gè)選擇是帶 VirtualBox 的 Vagrant。如果從未使用過 Vagrant,您至少應(yīng)該嘗試一下。

Docker 是一個(gè)容器環(huán)境,而 Vagrant 使用了虛擬化。在與 VirtualBox 結(jié)合使用時(shí),虛擬化環(huán)境對計(jì)算環(huán)境進(jìn)行了不同程度的控制,這一點(diǎn)備受一些開發(fā)人員的青睞(使其成為 fabric 開發(fā)人員的理想選擇)。

如果想進(jìn)一步了解容器化與虛擬化孰優(yōu)孰劣,請參閱 developerWorks 博客上的 “Docker 是什么?容器對應(yīng)用程序有哪些好處的簡介”。

如果開發(fā)人員只想編寫代碼,而不必?fù)?dān)心容器、虛擬化或任何基礎(chǔ)架構(gòu),那么可以選擇 IBM? Bluemix?。盡管 Bluemix 支持運(yùn)行完整的 IBM 區(qū)塊鏈網(wǎng)絡(luò),但它目前還不支持使用 Java 語言開發(fā)鏈代碼。預(yù)計(jì)此情況很快就會(huì)發(fā)生變化,所以請時(shí)刻關(guān)注。

如果在您的印象中,區(qū)塊鏈技術(shù)當(dāng)時(shí)的發(fā)展情況非常不穩(wěn)定,您是對的。但是,這意味著您在恰當(dāng)?shù)臅r(shí)機(jī)(從一開始)就開始接觸區(qū)塊鏈和鏈代碼。隨著該技術(shù)發(fā)展成熟,您早期階段學(xué)習(xí)該技術(shù)的投資將會(huì)不斷得到豐厚的回報(bào)。

區(qū)塊鏈?zhǔn)悄軌驈氐赘淖兠總€(gè)人的業(yè)務(wù)執(zhí)行方式的顛覆式技術(shù)之一。這類技術(shù)不僅包括 B2B,還包括 B2C,甚至還有 C2C。這的確是一個(gè)非常激動(dòng)人心的時(shí)刻。

讓我們開始吧!

設(shè)置開發(fā)環(huán)境

要運(yùn)行鏈代碼,首先需要設(shè)置開發(fā)環(huán)境。

完成本節(jié)后,您就可以運(yùn)行一個(gè) Hyperledger Java 鏈代碼示例了,在該示例中,您將在真實(shí)鏈代碼上部署和調(diào)用交易。然后,我將展示如何(幾乎)從頭編寫一個(gè)新鏈代碼程序。

在本節(jié)中,您將:

  • 設(shè)置網(wǎng)絡(luò)環(huán)境 — 用于運(yùn)行您的本地區(qū)塊鏈網(wǎng)絡(luò)。

  • 安裝構(gòu)建軟件 — 用于構(gòu)建您的鏈代碼。

  • 安裝一個(gè) HTTP 客戶端 — 用于在您的鏈代碼上調(diào)用交易。

  • 啟動(dòng)區(qū)塊鏈網(wǎng)絡(luò)。

  • 構(gòu)建 Java shim 客戶端 JAR。

實(shí)話說,要編寫鏈代碼,有許多設(shè)置工作要做。但是,如果您按照這些說明進(jìn)行操作并稍微勤奮一點(diǎn),您的付出將是值得的。

1.設(shè)置網(wǎng)絡(luò)環(huán)境

本教程將使用 Docker 以及來自 Docker Hub 的預(yù)構(gòu)建區(qū)塊鏈網(wǎng)絡(luò)組件鏡像來運(yùn)行本地區(qū)塊鏈網(wǎng)絡(luò)。如果愿意的話,可以從頭構(gòu)建 fabric(畢竟它是開源的),但在此階段,使用 Docker Hub 中提供的預(yù)構(gòu)建的 Hyperledger Fabric 鏡像更容易一些。

我在介紹中已經(jīng)提到過,另一個(gè)選擇(您可能在 Hyperledger 文檔中看到過)是使用 Vagrant 和 VirtualBox。Vagrant 是 fabric 開發(fā)人員的一個(gè)不錯(cuò)選擇,但作為鏈代碼開發(fā)人員,與處理 fabric 本身相比,我們更關(guān)心鏈代碼的構(gòu)建、運(yùn)行和測試。

如果已經(jīng)安裝 Docker 1.12 版或更高版本,可以跳到下一節(jié)(“安裝構(gòu)建軟件”)。在下面的操作說明中,假設(shè)您尚未安裝 Docker(也就是說,您不是從以前的 Docker 版本進(jìn)行升級)。安裝 Docker 的過程中也會(huì)安裝 Docker Compose,該工具用于定義和運(yùn)行需要多個(gè)容器的應(yīng)用程序,比如本教程中將運(yùn)行的本地 Hyperledger 區(qū)塊鏈網(wǎng)絡(luò)。

安裝 Docker可在這里找到針對 Mac、Windows 和 Linux 的安裝說明:

將 Docker 安裝在 Mac、Windows 和 Linux 上

驗(yàn)證 Docker 安裝要測試 Docker 安裝,可打開一個(gè)終端窗口(或 Windows 上的命令提示符)并鍵入以下命令:

docker -v
docker-compose -v

您會(huì)獲得以下輸出:

$ docker -v
Docker version 1.13.1, build 092cba3
$ docker-compose -v
docker-compose version 1.11.1, build 7c5d5e4

如果想查看 Docker 的實(shí)際運(yùn)行效果,您可運(yùn)行 hello-world 鏡像,如下所示:

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete 
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
 

Hello from Docker! This message shows that your installation appears to be working correctly.

 
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
 
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
 
Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/
 
For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/
2.安裝構(gòu)建軟件

對于構(gòu)建系統(tǒng),Hyperledger Fabric 使用了 Gradle,本教程也將使用它。Gradle 是一個(gè)構(gòu)建自動(dòng)化系統(tǒng),它結(jié)合使用了指定構(gòu)建組件的簡單語法與 Apache Ant 和 Apache Maven 的最佳特性,創(chuàng)建了一個(gè)容易使用的強(qiáng)大構(gòu)建系統(tǒng)。如此多開發(fā)人員正將他們的項(xiàng)目切換到 Gradle,這不足為奇。請注意,本文使用的是 Gradle 3.3 版本。使用其他版本的 Gradle 可能會(huì)導(dǎo)致項(xiàng)目搭建失敗。

可以在 Gradle 主頁 上進(jìn)一步了解 Gradle(和它的一些知名度高的用戶)。

安裝 Gradle要安裝 Gradle,請按照下面的說明進(jìn)行操作:

將 Gradle 安裝在 Mac、Windows 和 Linux 上

驗(yàn)證 Gradle 安裝要驗(yàn)證 Gradle 安裝,可打開一個(gè)終端窗口并執(zhí)行此命令:

gradle -v

您會(huì)看到以下輸出:

$ gradle -v
 
------------------------------------------------------------
Gradle 3.3
------------------------------------------------------------
 
Build time:   2017-01-03 15:31:04 UTC
Revision:     075893a3d0798c0c1f322899b41ceca82e4e134b
 
Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_102 (Oracle Corporation 25.102-b14)
OS:           Mac OS X 10.12.3 x86_64

####3.安裝 HTTP 客戶端

接下來安裝 HTTP 客戶端軟件,它允許鏈代碼與 Hyperledger 區(qū)塊鏈結(jié)構(gòu)的 REST 接口進(jìn)行通信。您的瀏覽器可以發(fā)出 HTTP GET,但要與 fabric 進(jìn)行交互,您需要能夠通過 POST 發(fā)出消息。這意味著您需要一個(gè) HTTP 客戶端。

我為本教程選擇的 HTTP 客戶端是 SoapUI,它提供了一個(gè)強(qiáng)大的、容易使用的、包含許多功能的免費(fèi)社區(qū)版本。

安裝 SoapUI要安裝 SoapUI,請按照下面的說明進(jìn)行操作:

為 Mac OS、Windows 和 Linux 安裝 SoapUI

驗(yàn)證 SoapUI 安裝要確認(rèn) SoapUI 已安裝,可在計(jì)算機(jī)上啟動(dòng)該應(yīng)用程序。在 Mac OS 上,打開 SoapUI 后會(huì)顯示 SoapUI Starter Page,如圖 1 所示。

Mac OS X 上的 SoapUI Java為Hyperledger Fabric開發(fā)區(qū)塊鏈鏈代碼智能合約之環(huán)境如何部署

4.啟動(dòng)區(qū)塊鏈網(wǎng)絡(luò)

現(xiàn)在您已安裝開發(fā)和測試鏈代碼所需的軟件,是時(shí)候啟動(dòng)本地區(qū)塊鏈網(wǎng)絡(luò)了。第一步是定義網(wǎng)絡(luò)的配置。

首先,創(chuàng)建一個(gè)目錄,用它作為鏈代碼開發(fā)過程中使用的所有源代碼的 root 目錄。在本教程中,我將使用 ~/home/mychaincode(或 Windows 上的 C:\home\chaincode)。

接下來,將 GOPATH 環(huán)境變量設(shè)置為此路徑。我們不會(huì)編譯任何 Go 代碼,也不會(huì)構(gòu)建 Golang 包或其他二進(jìn)制文件,但 Golang 術(shù)語已融合到 Hyperledger 中,所以熟悉按 Go 語言和 GOPATH 的方式進(jìn)行思考是一個(gè)不錯(cuò)的主意。

在 Linux 上,執(zhí)行以下命令:

export GOPATH=~/home/mychaincode

或者在 Windows 上,可以使用以下命令:

SET GOPATH=C:\home\mychaincode

接下來,必須告訴 Docker Compose 如何創(chuàng)建和運(yùn)行區(qū)塊鏈對等網(wǎng)絡(luò)。該網(wǎng)絡(luò)是使用 YAML 定義的,應(yīng)該將它命名為 docker-compose.yml??梢詫⑽募麨槠渌Q,但在啟動(dòng) Docker Compose 時(shí),必須指定 -f 標(biāo)志。建議堅(jiān)持使用默認(rèn)名稱,也就是 docker-compose.yml。

在 GOPATH 的 root 目錄中創(chuàng)建 docker-compose.yml 文件。粘貼以下內(nèi)容:

membersrvc:
  image: hyperledger/fabric-membersrvc
  ports:
    - "7054:7054"
  command: membersrvc
vp0:
  image: hyperledger/fabric-peer:x86_64-0.6.0-preview
  ports:
    - "7050:7050"
    - "7051:7051"
    - "7053:7053"
  environment:
    - CORE_PEER_ADDRESSAUTODETECT=true
    - CORE_VM_ENDPOINT=unix:///var/run/docker.sock
    - CORE_LOGGING_LEVEL=DEBUG
    - CORE_PEER_ID=vp0
    - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
    - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
    - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
    - CORE_SECURITY_ENABLED=false
    - CORE_SECURITY_ENROLLID=test_vp0
    - CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
  links:
    - membersrvc
  command: sh -c "sleep 5; peer node start --peer-chaincodedev"

這里涉及許多內(nèi)容,其中大部分內(nèi)容都不屬于本教程的討論范圍,但我想稍微解釋一下。

  • 此文件告訴 Docker Compose 定義兩個(gè)服務(wù):

    • membersrvc:提供成員服務(wù)的成員服務(wù)節(jié)點(diǎn),具體來講,它是一個(gè)證書簽發(fā)機(jī)構(gòu) (CA),負(fù)責(zé)處理所有加密解密工作(比如頒發(fā)和撤銷證書)。將用于此目的的預(yù)構(gòu)建 Docker 鏡像命名為 hyperledger/fabric-membersrvc。

    • vp0:網(wǎng)絡(luò)中的單獨(dú)驗(yàn)證對等節(jié)點(diǎn)。對于開發(fā)目的,我們不需要奢侈地執(zhí)行對等網(wǎng)絡(luò)驗(yàn)證,只需要一個(gè)對等節(jié)點(diǎn)即可。將用于此目的的預(yù)構(gòu)建 Docker 鏡像命名為 hyperledger/fabric-peer: x86_64-0.6.0-preview。請注意,由于 Fabric 版本升級,如果省略掉冒號及之后的字符,會(huì)導(dǎo)致構(gòu)建錯(cuò)誤。此處指定使用 Fabric 0.6 版本。hyperledger/fabric-peer 等同于 hyperledger/fabric-peer:latest。

  • 一些環(huán)境變量由 vp0 對等節(jié)點(diǎn)設(shè)置。請注意,CORE_LOGGING_LEVEL 變量被設(shè)置為 DEBUG。這會(huì)生成大量輸出,這些輸出有時(shí)很方便。但是,如果想要更少的輸出,可將該級別更改為 INFO。請參閱 Hyperledger 設(shè)置文檔中的 “日志控制” 了解日志級別的更多信息。 可以在 Docker 網(wǎng)站 上找到有關(guān) Docker Compose YML 文件定義的更多信息。

接下來請注意,CORE_SECURITY_ENABLED 的值為 false。這意味著 fabric 不需要您發(fā)送任何類型的最終用戶憑證。安全性不屬于本教程的討論范圍,但是如果您有興趣了解更多信息,可以根據(jù)您的鏈代碼請求來查閱這篇安全功能說明。

最后提醒一句:對任何這些值的默認(rèn)設(shè)置(尤其是端口值)的任何改動(dòng)都有可能導(dǎo)致本教程中的示例無法運(yùn)行。區(qū)塊鏈網(wǎng)絡(luò)是一組分布式軟件組件,它們需要經(jīng)過精確協(xié)調(diào)的通信。強(qiáng)烈建議在理解 fabric 的所有組件如何相互作用之前,不要更改端口值的默認(rèn)值。

完成區(qū)塊鏈的定義后,就可以啟動(dòng)本地區(qū)塊鏈網(wǎng)絡(luò)了。為此,請運(yùn)行 Docker Compose。導(dǎo)航到您的 $GOPATH 并執(zhí)行此命令:

docker-compose up

您會(huì)在終端窗口中獲得以下輸出:

$ docker-compose up
.
.
Pulling membersrvc (hyperledger/fabric-membersrvc:latest)...
latest: Pulling from hyperledger/fabric-membersrvc
.
.
Status: Downloaded newer image for hyperledger/fabric-membersrvc:latest
Pulling vp0 (hyperledger/fabric-peer:latest)...
latest: Pulling from hyperledger/fabric-peer
.
.
Status: Downloaded newer image for hyperledger/fabric-peer:latest
Creating mychaincode_membersrvc_1
Creating mychaincode_vp0_1
Attaching to mychaincode_membersrvc_1, mychaincode_vp0_1
vp0_1         | 19:30:03.773 [logging] LoggingInit -> DEBU 001 Setting default logging level to DEBUG for command 'node'
vp0_1         | 19:30:03.773 [nodeCmd] serve -> INFO 002 Running in chaincode development mode
.
.
.
vp0_1         | 19:30:04.146 [peer] chatWithSomePeers -> DEBU 07c Starting up the first peer of a new network
vp0_1         | 19:30:04.146 [consensus/statetransfer] verifyAndRecoverBlockchain -> DEBU 07d Validating existing blockchain, highest validated block is 0, valid through 0
vp0_1         | 19:30:04.146 [consensus/statetransfer] blockThread -> INFO 07e Validated blockchain to the genesis block
vp0_1         | 19:30:04.146 [consensus/handler] 1 -> DEBU 07f Starting up message thread for consenter
vp0_1         | 19:30:04.146 [nodeCmd] serve -> INFO 080 Starting peer with ID=name:"vp0" , network ID=dev, address=172.17.0.3:7051, rootnodes=, validator=true
vp0_1         | 19:30:04.146 [rest] StartOpenchainRESTServer -> INFO 081 Initializing the REST service on 0.0.0.0:7050, TLS is disabled.
vp0_1         | 19:30:04.147 [peer] ensureConnected -> DEBU 082 Starting Peer reconnect service (touch service), with period = 6s
.
.

此輸出告訴您該網(wǎng)絡(luò)在正常運(yùn)行,已準(zhǔn)備好接受鏈代碼注冊請求。

備注:突出顯示的行應(yīng)該僅在第一次運(yùn)行區(qū)塊鏈網(wǎng)絡(luò)時(shí)出現(xiàn),因?yàn)?Docker 需要從 Docker Hub 下載鏡像。鏡像下載到計(jì)算機(jī)后,僅在來自 Docker Hub 的鏡像比您計(jì)算機(jī)上的鏡像更新時(shí),Docker 才會(huì)拉入它們。

現(xiàn)在已準(zhǔn)備好構(gòu)建 Java shim 客戶端 JAR,它允許 Java 語言鏈代碼與 Hyperledger Fabric 框架進(jìn)行通信。

5.構(gòu)建 Java shim 客戶端 JAR

在運(yùn)行鏈代碼示例前,需要從 Hyperledger 的 GitHub 存儲(chǔ)庫獲取最新的源代碼。

首先,需要將 Hyperledger Fabric 克隆到本地機(jī)器上,以便構(gòu)建鏈代碼(備注:這是一項(xiàng)臨時(shí)措施;在以后某個(gè)時(shí)刻,應(yīng)該能從主要的 Maven 存儲(chǔ)庫訪問 Java shim 客戶端 JAR)。

備注:回想一下,您之前已將 GOPATH 設(shè)置為 Linux(或 Mac)上的 ~/home/mychaincode 或 Windows 上的 C:\home\mychaincode。

執(zhí)行此命令來創(chuàng)建結(jié)構(gòu)構(gòu)建腳本所期望的目錄結(jié)構(gòu):

mkdir -p $GOPATH/src/github.com/hyperledger

接下來,導(dǎo)航到已創(chuàng)建的新目錄結(jié)構(gòu)的底部:

cd $GOPATH/src/github.com/hyperledger

您需要從這里獲取 Hyperledger 源代碼,以便構(gòu)建 Java shim 客戶端 JAR。

可通過兩種方式獲得 Hyperledger 源代碼。

  • 不使用 git: 導(dǎo)航到 Hyperledger GitHub 鏡像,選擇v0.6分支,并單擊 Clone or download 按鈕,然后單擊 Download ZIP(參見圖 2)。一個(gè)名為 fabric-master.zip 的 ZIP 文件被下載到您的計(jì)算機(jī),您可以將它解壓到 $GOPATH/src/github.com/hyperledger。備注:請確保在解壓該文件時(shí),將 root 目錄的名稱從 fabric-master 更改為 fabric。

  • 使用 git: 導(dǎo)航到 $GOPATH/src/github.com/hyperledger,將文本字段中的 URL 復(fù)制到 “Clone with HTTPS” 框中(參見圖 2 中的箭頭),然后使用復(fù)制的 URL 執(zhí)行此命令:

git clone https://github.com/hyperledger/fabric.git

git clone –b v0.6 
https://gerrit.hyperledger.org/r/fabric

您會(huì)看到 git 命令返回了以下終端窗口輸出:

$ git clone https://github.com/hyperledger/fabric.git
Cloning into 'fabric'...
remote: Counting objects: 26976, done.
remote: Compressing objects: 100% (406/406), done.
remote: Total 26976 (delta 172), reused 0 (delta 0), pack-reused 26558
Receiving objects: 100% (26976/26976), 43.68 MiB | 4.85 MiB/s, done.
Resolving deltas: 100% (15114/15114), done.

Java為Hyperledger Fabric開發(fā)區(qū)塊鏈鏈代碼智能合約之環(huán)境如何部署

現(xiàn)在您已準(zhǔn)備好構(gòu)建 Java 鏈代碼 shim 客戶端 JAR。導(dǎo)航到 $GOPATH/src/github.com/hyperledger/fabric/core/chaincode/shim/java 并運(yùn)行以下兩個(gè)命令:

gradle -b build.gradle clean
gradle -b build.gradle build

Gradle 構(gòu)建輸出應(yīng)如下所示:

$ cd $GOPATH/src/github.com/hyperledger/fabric/core/chaincode/shim/java
$ gradle -b build.gradle clean
Starting a Gradle Daemon (subsequent builds will be faster)
:core:chaincode:shim:java:clean
 
BUILD SUCCESSFUL
 
Total time: 5.422 secs
$ gradle -b build.gradle build
:core:chaincode:shim:java:copyProtos UP-TO-DATE
:core:chaincode:shim:java:extractIncludeProto
:core:chaincode:shim:java:extractProto UP-TO-DATE
:core:chaincode:shim:java:generateProto UP-TO-DATE
:core:chaincode:shim:java:compileJava
:core:chaincode:shim:java:processResources
:core:chaincode:shim:java:classes
:core:chaincode:shim:java:jar
:core:chaincode:shim:java:assemble
:core:chaincode:shim:java:extractIncludeTestProto
:core:chaincode:shim:java:extractTestProto UP-TO-DATE
:core:chaincode:shim:java:generateTestProto UP-TO-DATE
:core:chaincode:shim:java:compileTestJava UP-TO-DATE
:core:chaincode:shim:java:processTestResources UP-TO-DATE
:core:chaincode:shim:java:testClasses UP-TO-DATE
:core:chaincode:shim:java:test UP-TO-DATE
:core:chaincode:shim:java:check UP-TO-DATE
:core:chaincode:shim:java:build
:core:chaincode:shim:java:copyToLib
:core:chaincode:shim:java:generatePomFileForMavenJavaPublication
:core:chaincode:shim:java:publishMavenJavaPublicationToMavenLocal
:core:chaincode:shim:java:publishToMavenLocal
 
BUILD SUCCESSFUL
 
Total time: 4.521 secs

構(gòu)建過程中執(zhí)行的最后一件事是,將 shim 客戶端 JAR 添加到本地 Maven 存儲(chǔ)庫?,F(xiàn)在您已準(zhǔn)備好構(gòu)建鏈代碼。除非在未來某個(gè)時(shí)刻要更新結(jié)構(gòu)源代碼,或者出于某種原因想要再次重新構(gòu)建 shim 客戶端 JAR,否則不需要再次運(yùn)行 Java shim 客戶端 JAR。

以上是“Java為Hyperledger Fabric開發(fā)區(qū)塊鏈鏈代碼智能合約之環(huán)境如何部署”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文標(biāo)題:Java為HyperledgerFabric開發(fā)區(qū)塊鏈鏈代碼智能合約之環(huán)境如何部署
本文地址:http://chinadenli.net/article14/gophge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站制作小程序開發(fā)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)