Hyperledger Fabric(一) 1.1.0环境搭建

说明

没办法,现在网上的中文教程基本都是基于1.0.0版本,我看了下官方文档,差距蛮大,所以还是按着官方文档来吧!翻译和理解有误的话请评论,谢谢!

本文是基于Mac OS的环境搭建

官方关于准备阶段的安装介绍:
http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html

安装 cURL

mac 环境中默认安装了curl:

yuyangdeMacBook-Pro:~ yuyang$ curl --version
curl 7.54.0 (x86_64-apple-darwin17.0) libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0

安装Docker

什么是Docker?
Docker的通俗解释

下载地址:https://store.docker.com/editions/community/docker-ce-desktop-mac

安装完成后查看版本信息,确认是否安装成功:

yuyangdeMacBook-Pro:~ yuyang$ docker version
Client:
 Version:   17.12.0-ce
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    c97c6d6
 Built: Wed Dec 27 20:03:51 2017
 OS/Arch:   darwin/amd64

Server:
 Engine:
  Version:  17.12.0-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   c97c6d6
  Built:    Wed Dec 27 20:12:29 2017
  OS/Arch:  linux/amd64
  Experimental: true
yuyangdeMacBook-Pro:~ yuyang$ docker-compose version
docker-compose version 1.18.0, build 8dd22a9
docker-py version: 2.6.1
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2j  26 Sep 2016

安装Homebrew

使用Homebrew来安装Go,这里先安装Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装完成后查看版本信息,确认是否安装成功:

yuyangdeMacBook-Pro:~ yuyang$ brew -v
Homebrew 1.5.4
Homebrew/homebrew-core (git revision 68c5; last commit 2018-02-19)

安装Go语言

brew install go

安装完成后查看版本信息,确认是否安装成功:

yuyangdeMacBook-Pro:~ yuyang$ go version
go version go1.10 darwin/amd64

设置环境变量

首先检查之前是否设置过环境变量:

echo $GOPATH

如果显示:

/Users/xxx/go

说明之前设置过。

如果没有任何显示,则需要设置:

打开.bash_profile

yuyangdeMacBook-Pro:~ yuyang$ open .bash_profile

添加以下内容:

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

编译.bash_profile

yuyangdeMacBook-Pro:~ yuyang$ source .bash_profile

Node.js Runtime and NPM

NodeJs官网:https://nodejs.org/zh-cn/

Node.js version 9.x is not supported at this time.
Node.js- version 8.9.x or greater

官方说明现在不支持Node.js 9.x版本,建议使用8.9.x版本。

有关node安装以及版本管理的文章看这里

下载Hyperledger Fabric 源代码

进入之前为Go的环境变量设置的文件夹:

yuyangdeMacBook-Pro:~ yuyang$ cd /Users/yuyang/go 

使用git下载

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

下载Hyperledger Fabric Samples 示例代码

新建目录

yuyangdeMacBook-Pro:~ yuyang$ mkdir fabric-sample
yuyangdeMacBook-Pro:~ yuyang$ cd fabric-sample

使用git下载

git clone -b master https://github.com/hyperledger/fabric-samples.git

进入目录

cd fabric-samples

为了确保刚才下载的samples与即将下载的Fabric binaries兼容,最好确认下samples当前的版本号。

查看当前的版本号序列

yuyangdeMacBook-Pro:fabric-samples yuyang$ git tag

版本号序列,现在最新的是v1.1.0-rc1

v1.0.2
v1.0.6
v1.1.0
v1.1.0-alpha
v1.1.0-preview
v1.1.0-rc1

git checkout {TAG}

yuyangdeMacBook-Pro:fabric-samples yuyang$ git checkout v1.1.0-rc1

下载安装二进制工具及镜像文件

yuyangdeMacBook-Pro:fabric-samples yuyang$ curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0-rc1

这里可以通过替换Docker的镜像源地址来加速。

下载成功

yuyangdeMacBook-Pro:fabric-samples yuyang$ curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0-rc1
===> Downloading platform specific fabric binaries
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 28.3M  100 28.3M    0     0  33272      0  0:14:51  0:14:51 --:--:-- 27614
===> Downloading platform specific fabric-ca-client binary
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4473k  100 4473k    0     0   6800      0  0:11:13  0:11:13 --:--:-- 16667
===> Pulling fabric Images
==> FABRIC IMAGE: peer

x86_64-1.1.0-rc1: Pulling from hyperledger/fabric-peer
1be7f2b886e8: Pull complete 
6fbc4a21b806: Pull complete 
c71a6f8e1378: Pull complete 
4be3072e5a37: Pull complete 
06c6d2f59700: Pull complete 
4d536120d8a5: Pull complete 
0baaf9ec263e: Pull complete 
e74a3a99fe86: Pull complete 
c1815d6e0dbd: Pull complete 
df397132c393: Pull complete 
Digest: sha256:2cd593c5821b7b30997eebd87284d766501c1c98ba0838c6478fe45bb4ae9552
Status: Downloaded newer image for hyperledger/fabric-peer:x86_64-1.1.0-rc1
==> FABRIC IMAGE: orderer

x86_64-1.1.0-rc1: Pulling from hyperledger/fabric-orderer
1be7f2b886e8: Already exists 
6fbc4a21b806: Already exists 
c71a6f8e1378: Already exists 
4be3072e5a37: Already exists 
06c6d2f59700: Already exists 
4d536120d8a5: Already exists 
0baaf9ec263e: Already exists 
e74a3a99fe86: Already exists 
e87f5fb58ad0: Pull complete 
a31db65119a3: Pull complete 
Digest: sha256:fd5549b24c1ebd1b69ac9863aafe36220d9c554066ba48f49dc4bbb6cb8d7bdb
Status: Downloaded newer image for hyperledger/fabric-orderer:x86_64-1.1.0-rc1
==> FABRIC IMAGE: ccenv

x86_64-1.1.0-rc1: Pulling from hyperledger/fabric-ccenv
1be7f2b886e8: Already exists 
6fbc4a21b806: Already exists 
c71a6f8e1378: Already exists 
4be3072e5a37: Already exists 
06c6d2f59700: Already exists 
4d536120d8a5: Already exists 
0baaf9ec263e: Already exists 
3ea9b6cc6f21: Pull complete 
6173b9a5fe5e: Pull complete 
e73719e0bcbe: Pull complete 
b55408c6ced5: Pull complete 
4320b56d1fd5: Pull complete 
161da62af955: Pull complete 
154d29a2fc56: Pull complete 
Digest: sha256:62a9a37d3bb00fc945b9284eaf018d8a2f99eb6c80c400ac012a7d0f8b6cda92
Status: Downloaded newer image for hyperledger/fabric-ccenv:x86_64-1.1.0-rc1
==> FABRIC IMAGE: javaenv

x86_64-1.1.0-rc1: Pulling from hyperledger/fabric-javaenv
1be7f2b886e8: Already exists 
6fbc4a21b806: Already exists 
c71a6f8e1378: Already exists 
4be3072e5a37: Already exists 
06c6d2f59700: Already exists 
4d536120d8a5: Already exists 
0baaf9ec263e: Already exists 
3ea9b6cc6f21: Already exists 
6173b9a5fe5e: Already exists 
e73719e0bcbe: Already exists 
b55408c6ced5: Already exists 
0cb76bf18c52: Pull complete 
00e8d170d4d3: Pull complete 
a057c79fb691: Pull complete 
4f9f0d7df745: Pull complete 
6f2defea9bc0: Pull complete 
273773539a3e: Pull complete 
04569d868e5a: Pull complete 
8cd1a2bc9ab0: Pull complete 
Digest: sha256:ec7ba4d49f0f24c2e78d715b4ce6e0ece83f1bb9f655e1fba5689c5b6a85505d
Status: Downloaded newer image for hyperledger/fabric-javaenv:x86_64-1.1.0-rc1
==> FABRIC IMAGE: tools

x86_64-1.1.0-rc1: Pulling from hyperledger/fabric-tools
1be7f2b886e8: Already exists 
6fbc4a21b806: Already exists 
c71a6f8e1378: Already exists 
4be3072e5a37: Already exists 
06c6d2f59700: Already exists 
4d536120d8a5: Already exists 
0baaf9ec263e: Already exists 
3ea9b6cc6f21: Already exists 
6173b9a5fe5e: Already exists 
e73719e0bcbe: Already exists 
b55408c6ced5: Already exists 
dc72ffb63c77: Pull complete 
68c166b53a44: Pull complete 
6d1d8e9c19c1: Pull complete 
6e94cdba0791: Pull complete 
cf5d44fff6fe: Pull complete 
Digest: sha256:e80b049473792fe82c18418f2b06541b84ed7b0ccf90d24f61872773ecff4a72
Status: Downloaded newer image for hyperledger/fabric-tools:x86_64-1.1.0-rc1
===> Pulling fabric ca Image
==> FABRIC CA IMAGE

x86_64-1.1.0-rc1: Pulling from hyperledger/fabric-ca
1be7f2b886e8: Already exists 
6fbc4a21b806: Already exists 
c71a6f8e1378: Already exists 
4be3072e5a37: Already exists 
06c6d2f59700: Already exists 
4d536120d8a5: Already exists 
0baaf9ec263e: Already exists 
8379e4c08f5d: Pull complete 
db4cd8454ab5: Pull complete 
c08c6d07dd0e: Pull complete 
23385c4db996: Pull complete 
946161ef2f63: Pull complete 
Digest: sha256:fb458b405ea1aaf7570a10cc1f914de2ca5ddb683f13138e380c00d180683afc
Status: Downloaded newer image for hyperledger/fabric-ca:x86_64-1.1.0-rc1
===> Pulling thirdparty docker images
==> THIRDPARTY DOCKER IMAGE: couchdb

x86_64-0.4.6: Pulling from hyperledger/fabric-couchdb
8f7c85c2269a: Pull complete 
9e72e494a6dd: Pull complete 
3009ec50c887: Pull complete 
9d5ffccbec91: Pull complete 
e872a2642ce1: Pull complete 
9b84958a26b3: Pull complete 
68d4ced7ec19: Pull complete 
ff1d2b44d88d: Pull complete 
99e6a41c35bd: Pull complete 
87b2e4a0b9d2: Pull complete 
55f108d3ee4a: Pull complete 
9e76f6c2c001: Pull complete 
368be4b23f81: Pull complete 
581042703e1f: Pull complete 
18c50435ee69: Pull complete 
70dbffc27ecb: Pull complete 
31c35dd1bd00: Pull complete 
7571e6af230f: Pull complete 
9ef1e88f8344: Pull complete 
Digest: sha256:4278269b115cfd0f24251b5381407be9ccdf396c1470c69e1ee2ff16917ac882
Status: Downloaded newer image for hyperledger/fabric-couchdb:x86_64-0.4.6
==> THIRDPARTY DOCKER IMAGE: kafka

x86_64-0.4.6: Pulling from hyperledger/fabric-kafka
8f7c85c2269a: Already exists 
9e72e494a6dd: Already exists 
3009ec50c887: Already exists 
9d5ffccbec91: Already exists 
e872a2642ce1: Already exists 
9b84958a26b3: Already exists 
68d4ced7ec19: Already exists 
ff1d2b44d88d: Already exists 
99e6a41c35bd: Already exists 
87b2e4a0b9d2: Already exists 
55f108d3ee4a: Already exists 
76d29739374b: Pull complete 
8e29d2dddc78: Pull complete 
6bb3eb1b6cb1: Pull complete 
Digest: sha256:738bb79f02aa505a9ab0553a865122605ffba91d1b5de6eb0429f7287e83ac7c
Status: Downloaded newer image for hyperledger/fabric-kafka:x86_64-0.4.6
==> THIRDPARTY DOCKER IMAGE: zookeeper

x86_64-0.4.6: Pulling from hyperledger/fabric-zookeeper
8f7c85c2269a: Already exists 
9e72e494a6dd: Already exists 
3009ec50c887: Already exists 
9d5ffccbec91: Already exists 
e872a2642ce1: Already exists 
9b84958a26b3: Already exists 
68d4ced7ec19: Already exists 
ff1d2b44d88d: Already exists 
99e6a41c35bd: Already exists 
87b2e4a0b9d2: Already exists 
55f108d3ee4a: Already exists 
f876628e022b: Pull complete 
5e8448f14014: Pull complete 
c1ddd9fcc9fe: Pull complete 
cae637096fa7: Pull complete 
Digest: sha256:7fda667f6c39d6cb87125c132962fc3e434a8e6b2b16ee798d6fa94f970531a2
Status: Downloaded newer image for hyperledger/fabric-zookeeper:x86_64-0.4.6

===> List out hyperledger docker images
hyperledger/fabric-ca          latest              8a6c8c2e2ebf        2 weeks ago         283MB
hyperledger/fabric-ca          x86_64-1.1.0-rc1    8a6c8c2e2ebf        2 weeks ago         283MB
hyperledger/fabric-tools       latest              006c689ec08e        2 weeks ago         1.46GB
hyperledger/fabric-tools       x86_64-1.1.0-rc1    006c689ec08e        2 weeks ago         1.46GB
hyperledger/fabric-orderer     latest              10afc128d402        2 weeks ago         180MB
hyperledger/fabric-orderer     x86_64-1.1.0-rc1    10afc128d402        2 weeks ago         180MB
hyperledger/fabric-peer        latest              6b44b1d021cb        2 weeks ago         187MB
hyperledger/fabric-peer        x86_64-1.1.0-rc1    6b44b1d021cb        2 weeks ago         187MB
hyperledger/fabric-javaenv     latest              ea263125afb1        2 weeks ago         1.52GB
hyperledger/fabric-javaenv     x86_64-1.1.0-rc1    ea263125afb1        2 weeks ago         1.52GB
hyperledger/fabric-ccenv       latest              65c951b9681f        2 weeks ago         1.39GB
hyperledger/fabric-ccenv       x86_64-1.1.0-rc1    65c951b9681f        2 weeks ago         1.39GB
hyperledger/fabric-zookeeper   latest              92cbb952b6f8        3 weeks ago         1.39GB
hyperledger/fabric-zookeeper   x86_64-0.4.6        92cbb952b6f8        3 weeks ago         1.39GB
hyperledger/fabric-kafka       latest              554c591b86a8        3 weeks ago         1.4GB
hyperledger/fabric-kafka       x86_64-0.4.6        554c591b86a8        3 weeks ago         1.4GB
hyperledger/fabric-couchdb     latest              7e73c828fc5b        3 weeks ago         1.56GB
hyperledger/fabric-couchdb     x86_64-0.4.6        7e73c828fc5b        3 weeks ago         1.56GB

可以通过替换1.1.0-rc1来安装任何你想要安装的已发布的版本。

下载完成后,可以在bin文件夹下看到四个二进制工具:

  • cryptogen

  • configtxgen

  • configtxlator

  • peer, orderer and fabric-ca-client

可以使用以下命令将它们添加到环境变量:

export PATH=<path to download location>/bin:$PATH

最后,刚才的指令还会从Docker Hub上下载Fabric Docker的镜像文件,并将它们标识为latest

它们的存放位置在:

/Users/{YourUserName}/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

使用下面指令可以查看所有下载的Docker Images:

yuyangdeMacBook-Pro:~ yuyang$ docker images
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容