Hyperledger Fabric 2.x环境搭建

写在前面

本次安装的操作环境是Ubuntu16.04。

一、基本工具安装

本部分安装curl和golang。curl在安装docker时会用到。golang语言在Fabric中会用到。

1、安装curl

sudo apt-get -y install curl

2、安装golang

本次安装的版本是:go1.16.linux-amd64.tar.gz

1)下载golang安装包。官方网站:
https://studygolang.com/dl
下载完成后解压,移到/usr/local下:

tar -zxvf go1.16.linux-amd64.tar.gz
sudo mv go /usr/local/

2)配置环境变量:

sudo vim ~/.profile

添加如下内容:

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

保存文件,并且重新加载新的环境变量。

source ~/.profile

3)查看go版本:

go version

说明:
本部分安装步骤参考文献如下:
https://www.cnblogs.com/bubbleboom/p/14073153.html

二、docker相关安装

3、安装docker

1)安装依赖包:

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

2)添加GPG密钥:

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

3)添加软件源:

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

4)更新并安装Docker-CE

sudo apt-get update
sudo apt-get install docker-ce

说明:
1、docker安装主要参考自
https://www.cnblogs.com/bubbleboom/p/14073153.html
2、docker官方网站
https://docs.docker.com/engine/install/ubuntu/

4、安装docker-compose

1)用curl将Compose文件下载到/usr/local/bin目录中:

sudo curl -L https://github.com/docker/compose/releases/download/1.25.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2)下载完成后,将文件更改为可执行权限:

sudo chmod +x /usr/local/bin/docker-compose

3)验证是否安装成功,查看docker-compose版本信息

docker-compose -v

说明:
1、安装主要参考自
https://www.cnblogs.com/bubbleboom/p/14073153.html

5、使普通用户对docker具有操作权限

docker安装好之后,仅root用户才可以运行docker命令。具体表现为需要在命令前使用sudo。而在Fabric中,使用sudo会带来环境变量的问题。解决这种冲突的方法是使普通用户可以运行docker命令。

具体操作:
0、确定docker处于运行状态

sudo systemctl start docker

1、创建docker用户组

sudo groupadd docker

2、将用户添加到用户组

sudo gpasswd -a ${USER} docker

3、重启docker使以上操作生效

sudo service docker restart

4、如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限。使用root用户执行如下命令,即可

sudo chmod a+rw /var/run/docker.sock

说明:

1、以上操作步骤参考自:
https://www.firegod.cn/2020/05/docker-%E7%BB%84%E6%B7%BB%E5%8A%A0%E7%94%A8%E6%88%B7%EF%BC%8C%E8%AE%BE%E7%BD%AE%E5%85%81%E8%AE%B8%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C-docker/

2、只有root用户才可以运行docker命令的原因:
https://docs.docker.com/engine/install/linux-postinstall/

3、使用sudo带来的环境变量问题。在使用Fabric测试网络过程中,“Interacting with the network”步骤会报错。

2.3.1版本报错如下:

ERRO 001 Fatal error when initializing core config : error when reading core config file: Config File "core" Not Found in "[/home/wqp/HyperledgerFabric2.x/fabric/scripts/fabric-samples/test-network]"

2.2版本报错如下:

ERRO 001 Fatal error when initializing core config : Could not find config file. Please make sure that FABRIC_CFG_PATH is set to a path which contains core.yaml

4、添加用户至用户组,还可以使用如下命令

sudo usermod -aG docker $USER

5、groupadd、gpasswd和usermod均是Linux命令。
https://www.runoob.com/linux/linux-comm-groupadd.html
https://www.runoob.com/linux/linux-comm-gpasswd.html
https://blog.csdn.net/lixgjob/article/details/81162528

6、docker官网提供的操作方法:
https://docs.docker.com/engine/install/linux-postinstall/

7、fabric官网的说明:
https://hyperledger-fabric.readthedocs.io/en/release-2.2/prereqs.html#docker-and-docker-compose

三、Fabric相关

6、下载Fabric源码

1)首先创建文件夹

mkdir HyperledgerFabric2.x

2)进入刚刚创建的文件夹

cd HyperledgerFabric2.x

3)GitHub上下载Fabric源码

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

如果下载太慢,可以使用Gitee上的镜像仓库

git clone https://gitee.com/mirrors/fabric.git

说明:
(1)源码下载过程,使用普通用户身份即可,无需使用管理员身份(sudo)。这样也可以防止后续出现sudo与环境变量的冲突问题。
(2)本次安装使用的是gitee进行下载。
(3)Fabric源码也可以自己访问GitHub网站,手动下载。下载时可以选择版本。
下载网址:https://github.com/hyperledger/fabric
网站打开过程有点慢,需耐心等待。打开后,界面如下:


点击左侧maser处,可以选择代码版本:

版本选择好之后,点击右侧code,选择Download ZIP,即可完成下载。

7、下载Fabric-samples

Fabric samples是Fabric官方为了学习和测试而提供的一个示例网络。通过Fabric samples,再结合官网教程,可以快速对Fabric进行学习。
具体下载操作如下:
进入fabric源码的scripts目录,在该目录下启动脚本:bootstrap.sh。

cd fabric/scripts
./bootstrap.sh # 该命令会下载官方提供的示例代码和镜像文件,然后进入漫长的等待。

说明:
(1)下载过程可能因为网络问题而停止。解决方法是更换软件源,本次成功下载所使用的软件源是:http://mirrors.tuna.tsinghua.edu.cn/ubuntu
(2)bootstrap.sh脚本解析。
该脚本文件完成三件事:1、下载fabric-samples repo;2、下载platform-specific binaries;3、下载docker image。
实际上,fabric-samples repo、platform-specific binaries可以通过手动下载,下载完成后解压的相应位置。下载网址和所需版本信息均可以从bootstrap.sh文件中获得。
下载完成后,fabric-samples repo的存在形式是fabric-samples文件夹;platform-specific binaries的存在形式是bin文件夹和config文件夹;要将bin文件夹和config文件夹放在fabric-samples文件夹,fabric-samples文件夹放在与bootstrap.sh相同的目录下。
手动下载完成后,可以使用如下命令跳过前两步的下载:

./bootstrap.sh -sb

命令中参数含义可以从bootstrap.sh的帮助信息中获得。查看帮助信息:

./bootstrap.sh -h

帮助信息如下:

Usage: bootstrap.sh [version [ca_version]] [options]

options:
-h : this help
-d : bypass docker image download
-s : bypass fabric-samples repo clone
-b : bypass download of platform-specific binaries

e.g. bootstrap.sh 2.2.2 1.4.9 -s
will download docker images and binaries for Fabric v2.2.2 and Fabric CA v1.4.9

(3)本部分参考文献:
https://blog.csdn.net/qq_43681877/article/details/110896678
(4)Fabric官方关于本部分的描述:
https://hyperledger-fabric.readthedocs.io/en/release-2.3/install.html

致谢

感谢所有参考文献的作者!

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

推荐阅读更多精彩内容