【Hyper ledger學(xué)習(xí)】Windows 10安裝部署Hyper ledger記錄(一)

Hyper ledger在win 10(Win10 Pro, Win10 Education)上的安裝主要有以下幾步(我自己用的Win 10 教育版):

  1. Docker for Windows 安裝
  2. Curl for Windows 安裝
  3. Go 語(yǔ)言安裝
  4. Node.js 和 NPM 安裝
  5. Python 2.7安裝
  6. Windows-build-tools 和 grpc 安裝
  7. Hyperledger Fabric 1.4.4 Samples, Binaries and Docker Images安裝
  8. Fabric 網(wǎng)絡(luò)測(cè)試

Step 1: 安裝Docker for Windows 10

現(xiàn)在Docker已經(jīng)支持Win 10孽查,并且有.exe桌面版可供下載捌肴。

下載鏈接:Docker Desktop and Desktop Enterprise

點(diǎn)擊Download Desktop for Mac and Windows,需要注冊(cè)docker賬號(hào)才下載。下載完成后就缆,直接打開(kāi)Docker Desktop Installer.exe即可安裝,默認(rèn)安裝即可。

docker.PNG
docker.PNG

安裝完成后,啟動(dòng)docker放闺。右鍵docker圖標(biāo),選擇Settings缕坎。

設(shè)置General怖侦,勾選Expose daemon on tcp://localhost:2375 without TLS

docker.PNG

設(shè)置Shared Drives(可以勾選所有),我設(shè)置了D盤(pán)础钠。

docker.PNG

系統(tǒng)要求:Docker for windows 安裝文檔

接下來(lái)的步驟根據(jù)Hyper Ledger 1.4 說(shuō)明文檔Getting Started來(lái)操作。

檢查Docker是否安裝成功:

$ docker --version
Docker version 19.03.5, build 633a0ea
$ docker-compose --version
docker-compose version 1.24.1, build 4667896b

可以使用Docker命令pull叉谜,刪除旗吁,查看,運(yùn)行鏡像:
Docker官網(wǎng)上有它們給出的一些官方鏡像停局,例如hello-world

$ docker pull hello-world
$ docker rmi hello-world
$ docker images
$ docker run hello-world

Step 2: 安裝Curl for Windows

現(xiàn)在Curl已經(jīng)提供了比較簡(jiǎn)單的.exe安裝方式很钓。安裝Curl for 64-bit.exe文件應(yīng)該在bin文件夾中董栽。

此時(shí)码倦,你可以在cmd窗口中使用curl命令檢查是否安裝成功。

curl --help

當(dāng)然也可以安裝Git Bash 64-bit for Windows锭碳,自帶Curl命令袁稽。在運(yùn)行clone命令前,要做一些設(shè)置:

$ git config --global core.autocrlf false
$ git config --global core.longpaths true

你可以通過(guò)以下命令檢查設(shè)置是否成功:

$ git config --get core.autocrlf
false
$ git config --get core.longpaths
true

注意:git bash自帶的curl命令無(wú)法在powershell和cmd中使用擒抛。

Step 3: 安裝Go語(yǔ)言

版本要求:Go version 1.12.x is required.

Go語(yǔ)言安裝路徑需要在環(huán)境變量中設(shè)置推汽,在用戶變量中添加,一般win10安裝完已自動(dòng)添加歧沪,檢查一下GOPATH是否存在即可歹撒。

也可以在命令行中檢查:

$ go help
Go is a tool for managing Go source code.
...
2 Go.PNG

Step 4: 安裝Node.js 和 NPM

因?yàn)槲抑耙呀?jīng)安裝過(guò),所以簡(jiǎn)單給出鏈接诊胞。

下載地址:Node.js Windows Installer (.msi) 64-bit

檢查是否安裝成功:

$ node -v
v10.16.0
$ npm -v
6.9.0

Step 5: 安裝Python 2.7

下載安裝Python 2.7暖夭,并將python.exe所在路徑添加到系統(tǒng)環(huán)境變量Path

檢查是否安裝成功:

$ python --version
Python 2.7.17

Step 6: 安裝Windows-build-tools 和 grpc

使用npm命令安裝windows-build-tools

$ npm install --global windows-build-tools

使用npm命令安裝grpc

$ npm install --global grpc

Step 7: 安裝Hyperledger Fabric Samples, Binaries and Docker Images

前提:已經(jīng)安裝了Git Bash

Clone [hyperledger/fabric-samples]( hyperledger/fabric-samples repository) repository
選擇一個(gè)位置/文件夾,在該文件夾中右鍵打開(kāi)Git Bash撵孤,輸入以下命令:

$ curl -sSL http://bit.ly/2ysbOFE | bash -s

如果運(yùn)行結(jié)果迈着,關(guān)于curl命令報(bào)錯(cuò),可能是你的curl版本太低不支持重定向邪码,或者是你的運(yùn)行環(huán)境不支持寥假,還有一種是網(wǎng)絡(luò)不好。

可以直接使用un-shortened URL代替霞扬,命令如下:

$ curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s

下載完成后糕韧,可以在文件夾中看到fabric-samples文件夾。

在下載過(guò)程可能會(huì)因?yàn)榫W(wǎng)速不好卡住已經(jīng)docker images下載不成功喻圃。
我嘗試了另一種解決辦法萤彩,根據(jù)區(qū)塊鏈框架hyperledger Fabric1.2,win10斧拍,docker18.6,資產(chǎn)轉(zhuǎn)移實(shí)例雀扶。重新找到一個(gè)新文件夾:

  1. 直接通過(guò)git clone命令下載fabric-samples
  2. 找到fabric-samples/basic-network/.env文件,增加配置COMPOSE_CONVERT_WINDOWS_PATHS=1愚墓。
  3. 進(jìn)入fabric-samples/basic-network文件夾予权,cmd輸入命令:
    docker-compose -f docker-compose.yml up -d
    這條命令可以網(wǎng)絡(luò)環(huán)境不好的時(shí)候比較容易的下載docker images,還可以看到實(shí)時(shí)進(jìn)度(git bash 中的curl命令看不到下載進(jìn)度)浪册。而且神奇的是扫腺,當(dāng)cmd中鏡像下載順利時(shí),之前git bash中下載艱難的docker images也比較順利的下載下來(lái)了村象。

Git Bash安裝成功笆环,會(huì)顯示:

...
Digest: sha256:048b7c44c1deaabd0f3d84fbf2f7b649d7b10c54a3241c7354f078ee2eff077c
Status: Downloaded newer image for hyperledger/fabric-couchdb:0.4.18
docker.io/hyperledger/fabric-couchdb:0.4.18

===> List out hyperledger docker images
hyperledger/fabric-ca        latest              62a60c5459ae        2 weeks ago         150MB
hyperledger/fabric-orderer   latest              dbc9f65443aa        2 weeks ago         120MB
hyperledger/fabric-peer      1.4.4               9756aed98c6b        2 weeks ago         128MB
hyperledger/fabric-peer      latest              9756aed98c6b        2 weeks ago         128MB
hyperledger/fabric-kafka     0.4.18              caaae0474ef2        4 weeks ago         270MB
hyperledger/fabric-kafka     latest              caaae0474ef2        4 weeks ago         270MB
hyperledger/fabric-couchdb   0.4.18              d369d4eaa0fd        4 weeks ago         261MB
hyperledger/fabric-couchdb   latest              d369d4eaa0fd        4 weeks ago         261MB

同時(shí),我們也可以使用docker 命令查看鏡像:

$ docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
couchdb                      2.3                 246ed3915b76        13 days ago         201MB
hyperledger/fabric-ca        latest              62a60c5459ae        2 weeks ago         150MB
hyperledger/fabric-tools     latest              7552e1968c0b        3 weeks ago         1.49GB
hyperledger/fabric-orderer   latest              dbc9f65443aa        3 weeks ago         120MB
hyperledger/fabric-peer      1.4.4               9756aed98c6b        3 weeks ago         128MB
hyperledger/fabric-peer      latest              9756aed98c6b        3 weeks ago         128MB
hyperledger/fabric-kafka     0.4.18              caaae0474ef2        4 weeks ago         270MB
hyperledger/fabric-kafka     latest              caaae0474ef2        4 weeks ago         270MB
hyperledger/fabric-couchdb   0.4.18              d369d4eaa0fd        4 weeks ago         261MB
hyperledger/fabric-couchdb   latest              d369d4eaa0fd        4 weeks ago         261MB
hello-world                  latest              fce289e99eb9        11 months ago       1.84kB

Step 8: 測(cè)試Fabric網(wǎng)絡(luò)

  1. 進(jìn)入使用curl -sSL命令下載的fabric-samples文件夾厚者。
  2. 打開(kāi)first-network文件夾躁劣,右鍵Git Bash,輸入命令./byfn.sh up
$ ./byfn.sh up
Starting for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n] Y
proceeding ...
LOCAL_VERSION=1.4.4
DOCKER_IMAGE_VERSION=1.4.4
/d/Fabric/fabric-samples/bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
+ cryptogen generate --config=./crypto-config.yaml
org1.example.com
org2.example.com
+ res=0
+ set +x

Generate CCP files for Org1 and Org2
/d/Fabric/fabric-samples/bin/configtxgen
##########################################################
#########  Generating Orderer Genesis block ##############
##########################################################
...
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                    PORTS                                        NAMES
c987f06d5472        hyperledger/fabric-tools:latest     "/bin/bash"              1 second ago        Up Less than a second                                                  cli
5f7c1878ec5d        hyperledger/fabric-peer:latest      "peer node start"        4 seconds ago       Up 2 seconds              0.0.0.0:7051->7051/tcp                       peer0.org1.example.com
197369a05c04        hyperledger/fabric-orderer:latest   "orderer"                4 seconds ago       Up 2 seconds              0.0.0.0:7050->7050/tcp                       orderer.example.com
4aa55b8e307e        hyperledger/fabric-peer:latest      "peer node start"        6 seconds ago       Up 3 seconds              0.0.0.0:8051->8051/tcp                       peer1.org1.example.com
52bca558ece3        hyperledger/fabric-peer:latest      "peer node start"        6 seconds ago       Up 2 seconds              0.0.0.0:9051->9051/tcp                       peer0.org2.example.com
8f8cda4cd237        hyperledger/fabric-peer:latest      "peer node start"        6 seconds ago       Up 3 seconds              0.0.0.0:10051->10051/tcp                     peer1.org2.example.com
f3150caa214c        hyperledger/fabric-ca               "sh -c 'fabric-ca-se…"   16 hours ago        Up 16 hours               0.0.0.0:7054->7054/tcp                       ca.example.com
430ce35b0147        couchdb:2.3                         "tini -- /docker-ent…"   16 hours ago        Up 16 hours               4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp   couchdb
f588def0ae2b        hello-world                         "/hello"                 18 hours ago        Exited (0) 18 hours ago                                                dazzling_blackwell
78a7432d31f9        hello-world                         "/hello"                 18 hours ago        Exited (0) 18 hours ago                                                blissful_gould
ea4ba133ebbe        hello-world                         "/hello"                 18 hours ago        Exited (0) 18 hours ago                                                interesting_easley

 ____    _____      _      ____    _____
/ ___|  |_   _|    / \    |  _ \  |_   _|
\___ \    | |     / _ \   | |_) |   | |
 ___) |   | |    / ___ \  |  _ <    | |
|____/    |_|   /_/   \_\ |_| \_\   |_|

Build your first network (BYFN) end-to-end test
...
===================== Query successful on peer1.org2 on channel 'mychannel' =====================

========= All GOOD, BYFN execution completed ===========


 _____   _   _   ____
| ____| | \ | | |  _ \
|  _|   |  \| | | | | |
| |___  | |\  | | |_| |
|_____| |_| \_| |____/

byfn.sh時(shí)一個(gè)測(cè)試腳本库菲,它首先使用2個(gè)organizations org1和org2建立網(wǎng)絡(luò)账忘,每個(gè)organization分別有2個(gè)peer和1個(gè)orderer谚鄙。

注意區(qū)塊鏈框架hyperledger Fabric1.2损谦,win10,docker18.6,資產(chǎn)轉(zhuǎn)移實(shí)例中測(cè)試網(wǎng)絡(luò)的方式迹蛤,我無(wú)法測(cè)試成功奇颠,并且在first-network中運(yùn)行./byfn.sh up也會(huì)報(bào)錯(cuò)败去。我僅用它來(lái)輔助我下載docker images (也就是curl -sSL那句命令)。

  1. 當(dāng)你看到上圖end時(shí)烈拒,表示已經(jīng)完成了first-network的測(cè)試圆裕,現(xiàn)在可以使用./eyfn.sh down清理網(wǎng)絡(luò)。
$ ./eyfn.sh down
Stopping with channel 'mychannel' and CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n] Y
proceeding ...
Stopping cli                    ... done
Stopping peer0.org1.example.com ... done
Stopping orderer.example.com    ... done
...
Deleted: sha256:68dddcb8c4f18ae92776f71177254ef70b94b3c1567eed6c60d09196b145adc8
Deleted: sha256:c579f2e094f84bd633ae0c0bec275b776ce7394464db5c7968b1b9e08b606e06

注意:網(wǎng)絡(luò)上我看的教程荆几,大多使用./byfn down關(guān)閉網(wǎng)絡(luò)吓妆,但是我會(huì)報(bào)錯(cuò):

$ ./byfn down
bash: ./byfn: No such file or directory`

重新試了./byfn.sh down,同樣可以關(guān)閉網(wǎng)絡(luò)吨铸,一定要有.sh行拢。


本文作者:Joyce
文章來(lái)源:http://www.reibang.com/p/d9dd6fdf2544
版權(quán)聲明:轉(zhuǎn)載請(qǐng)注明出處!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诞吱,一起剝皮案震驚了整個(gè)濱河市舟奠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌房维,老刑警劉巖沼瘫,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咙俩,居然都是意外死亡耿戚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)膜蛔,“玉大人坛猪,你說(shuō)我怎么就攤上這事≡砉桑” “怎么了墅茉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)屑墨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)纷铣,這世上最難降的妖魔是什么卵史? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮搜立,結(jié)果婚禮上以躯,老公的妹妹穿的比我還像新娘。我一直安慰自己啄踊,他們只是感情好忧设,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著颠通,像睡著了一般址晕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上顿锰,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天谨垃,我揣著相機(jī)與錄音,去河邊找鬼硼控。 笑死刘陶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的牢撼。 我是一名探鬼主播匙隔,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼熏版!你這毒婦竟也來(lái)了纷责?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤撼短,失蹤者是張志新(化名)和其女友劉穎碰逸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體阔加,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饵史,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胳喷。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡湃番,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吭露,到底是詐尸還是另有隱情吠撮,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布讲竿,位于F島的核電站泥兰,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏题禀。R本人自食惡果不足惜鞋诗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迈嘹。 院中可真熱鬧削彬,春花似錦、人聲如沸秀仲。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)神僵。三九已至雁刷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間保礼,已是汗流浹背安券。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留氓英,地道東北人侯勉。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像铝阐,于是被迫代替她去往敵國(guó)和親址貌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353