91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在mac下如何部署hyperledger fabric本地開發環境

發布時間:2021-12-06 17:35:54 來源:億速云 閱讀:463 作者:小新 欄目:互聯網科技

這篇文章主要為大家展示了“在mac下如何部署hyperledger fabric本地開發環境”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“在mac下如何部署hyperledger fabric本地開發環境”這篇文章吧。

準備工作:

Git client(https://git-scm.com/downloads)

Go - 1.6 or later(https://golang.org/)

Vagrant - 1.8.6 or later(https://www.vagrantup.com/)

VirtualBox - 5.0 or later(https://www.virtualbox.org/)

這些都必須要用到,git主要用于同步源碼,go主要是搭建go語言的編譯環境,因為源碼是go語言編寫的。點擊文檔說明的鏈接下載,安裝方法和環境變量的設置可以百度,一大堆的參考資料,基本都比較靠譜。后兩個就更簡單,下載下來安裝就行了。另外,由于后面要用到ssh命令,我下載了一個Cygwin64 Terminal,安裝選擇包的時候搜索openssh,然后選擇這個包,安裝之后,也需要配置環境變量,具體自己百度。

搭建步驟:

第一步:

首先確保你之前安裝go語言的編譯環境搭建好了。

然后在git命令行中輸入 :

git config --get core.autocrlfgit

config --global core.autocrlf false

第二步:

把github中的fabric源碼拉下來

cd $GOPATH/src

mkdir -p github.com/hyperledger

cd github.com/hyperledger

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

$GOPATH這個目錄在windows下可以隨便定,建議后面的按他說的來。源文檔的git clone命令可能是針對有Linux id的來的,可以不用他的命令。

第三步:

用Vagrant來配置虛擬機

cd $GOPATH/src/github.com/hyperledger/fabric/devenv  

vagrant up

vagrant up第一次時間非常長,有時還斷,所以建議FQ,而且要全局加速,親測速度確實要穩定一些。文檔里說運行了這個命令之后就可以喝咖啡去了,要a few minutes,我表示不服。

Vagrant裝好之后,大部分的工作就完成了,然后就是部署一些東西。

之后的vagrant up啟動都是這個樣子:

在mac下如何部署hyperledger fabric本地開發環境

這一步要單獨介紹一下vagrant有許多命令,大概方式 就是它會從vagrant 的box的鏡像中去下載最新版本的鏡像大概有1G多吧,然后進行安裝我們可以通過迅雷手動下載,最新版本。然后通過

vagrant box add hyperledger/fabric-baseimage virtualbox.box

的方式直接添加這個鏡像文件。下載地址(https://atlas.hashicorp.com/hyperledger/boxes/fabric-baseimage/versions/0.2.1/providers/virtualbox.box)

可以瀏覽一下鏡像庫

在mac下如何部署hyperledger fabric本地開發環境

當前的最新版本是0.2.1

本地的版本可以通過

vagrant box update的方式進行更新。

然后安裝好鏡像以后,一般會報一個錯誤。就是連接不到 google.com上去去更新代碼,因為會在當前默認的工程目錄下去生成文件。出錯情況是這樣的:

在mac下如何部署hyperledger fabric本地開發環境

==> default: package golang.org/x/tools/go/gcimporter15: unrecognized import path "golang.org/x/tools/go/gcimporter15" (https fetch: Get https://golang.org/x/tools/go/gcimporter15?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

golang.org/x/tools/go/這些地址都是連接不上的,因為被墻了。但其實這些代碼 都在github有的,我們要手動創建目錄然后通過github去下載它。比如這個tools目錄。

mkdir golang.org/x這個目錄在src目錄下

在mac下如何部署hyperledger fabric本地開發環境

創建一個和github.com平級的golang.rog 目錄,然后呢進入x目錄

localhost:golang.org pro$ cd x/

localhost:x pro$ ls

localhost:x pro$ git clone https://github.com/golang/tools.git

在x目錄下執行git clone 就可以了就生成了一個目錄結構了。生成結果如下

在mac下如何部署hyperledger fabric本地開發環境

其實如果這種方式安裝好tools源碼后還是不能編譯通過的,我找了好久才發現。在hyperledger目錄下還有一個自己的工作空間。

是在vagrant up時生成的。我們進入fabric目錄看到

在mac下如何部署hyperledger fabric本地開發環境

這里又需要生成,然后我以為只在自己的第一個工作空間添加上就好了,誰知它還會不斷去安裝tools源碼,原來是這里還需要,只要把我們

剛才在另一個目錄下git clone下載好的源碼拷貝到這里就行了。

上面那個gotools目錄是需要在devenv目錄下下執行vagrant up時才會生成 的,只要把這個問題解決了。安裝虛擬環境就沒有問題了。

部署步驟:

打開ssh

cd $GOPATH/src/github.com/hyperledger/fabric/devenv

vagrant ssh

這個時候如果沒裝之前的ssh,就會報錯。 

在mac下如何部署hyperledger fabric本地開發環境

以上登錄成功以后會顯示:@hyperledger-devenv  這樣 就表示虛擬環境安裝成功了。如果只是出現的unbunt的登錄,那表示安裝過程中有錯誤,雖然能登錄進來會有很多東西缺失導致編譯失敗。

在mac下如何部署hyperledger fabric本地開發環境

回到 要目錄下我們查看,會有一個hyperledger的目錄這個目錄是映射我們的宿主主機的,當前我們在自己的電腦上更新了源代碼,這里也會自動更新的,方便我們開發。

安全驗證(可選):

在mac下如何部署hyperledger fabric本地開發環境

To set up the local development environment with security enabled, you must first build and run the Certificate Authority (CA) server:

這個是可選項,主要用作member的身份認證,具體作用體現在后面的命令加不加username上。

make membersrvc && membersrvc

運行驗證peer

開另外一個命令行窗口,運行

cd $GOPATH/src/github.com/hyperledger/fabric/devenv

vagrant ssh

然后,要注意的是,以下操作都是在上面的vagrant ssh登錄以后才進行的操作。不是在當前的宿主機系統源碼上進行的操作。

cd $GOPATH/src/github.com/hyperledger/fabric

make peer

peer node start --peer-chaincodedev

make peer過程會比較久我這里大概用了將近一小時左右,要安裝下載一堆東西

在mac下如何部署hyperledger fabric本地開發環境

下載完成以后會出現下面安裝的的界面。

在mac下如何部署hyperledger fabric本地開發環境

上面完成后執行:peer node start --peer-chaincodedev 這樣,peer節點就起來了。

在mac下如何部署hyperledger fabric本地開發環境

編譯chaincode

另開一個命令行窗口,運行:

cd $GOPATH/src/github.com/hyperledger/fabric/devenv

vagrant ssh

然后選擇源碼中的一個例子chaincode機型編譯


 

cd$GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

go build

注冊和運行chaincode

CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02

mycc是chaincode的名稱,可以隨便定,只要在后面的過程中對應使用就行了。

在mac下如何部署hyperledger fabric本地開發環境

ready for invocations 這樣 就是這步OK了

CLI調試:

我沒有用REST方式,用的CLI。

用戶注冊:

再 通過vagrant ssh打開一個終端再 登錄。

cd $GOPATH/src/github.com/hyperledger/fabric/peer

peer network login

username要從membersrvc.yaml里邊選,比如alice試了幾次別的用戶都不成功,然后會要求輸入密碼,把后面的密碼輸入就行了。然后注冊會成功。

membersrvc.yaml文件用戶列表:

在mac下如何部署hyperledger fabric本地開發環境

在mac下如何部署hyperledger fabric本地開發環境

peer窗口可以看到注冊信息:

在mac下如何部署hyperledger fabric本地開發環境

Chaincode的部署交易:

peer chaincode deploy -n mycc -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

如果使用了安全模式:

CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode deploy -u jim -n mycc -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

Chaincode的調用交易:

peer chaincode invoke -l golang -n mycc -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'

如果使用了安全模式:

CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode invoke -u jim -l golang -n mycc -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'

Chaincode的查詢交易:

peer chaincode query -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'

安全模式:

CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode query -u jim -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'

在mac下如何部署hyperledger fabric本地開發環境

peer窗口

在mac下如何部署hyperledger fabric本地開發環境

chaincode窗口

部署,調用和查詢三個交易在這幾個窗口中都可以看到。

這個部署總算是完成了,但是上面黑色窗口的部門我沒用,我跑了一下他自帶的智能合約,

在mac下如何部署hyperledger fabric本地開發環境

真心感覺 hyperledger太龐大了,不是一般人能玩的。高度模塊化 ,而且現在處于開發階段變化特別大。比如上面有一部門是要,編譯和啟動用戶模塊membersrvc。在現在的git分支中沒有這個代碼 了不知道,為什么。所以就沒用,但是在0.6分支還是有這塊模塊的。

在mac下如何部署hyperledger fabric本地開發環境

在mac下如何部署hyperledger fabric本地開發環境

但是在master分支下這塊兒的代碼沒有,也請有分析過的給指導一下。

在mac下如何部署hyperledger fabric本地開發環境

以上是“在mac下如何部署hyperledger fabric本地開發環境”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汾阳市| 若尔盖县| 惠水县| 德州市| 安康市| 黑龙江省| 景德镇市| 伊宁市| 深泽县| 龙南县| 泗水县| 句容市| 彰化县| 德令哈市| 高要市| 哈尔滨市| 大化| 自治县| 沁源县| 阳江市| 黄浦区| 全椒县| 郓城县| 元谋县| 郴州市| 宜都市| 黔江区| 吉隆县| 泸定县| 邻水| 临湘市| 集贤县| 徐水县| 沾益县| 博客| 酒泉市| 永德县| 丰镇市| 夹江县| 酉阳| 泸溪县|