在Ubuntu上部署Fabric环境(+出错记录)

首先在VMware Workstation虚拟机上安装Ubuntu,配置好环境,调好中文语言、分辨率后,打开终端。

PS:在安装Ubuntu系统后如果发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示:
打开终端,输入:

sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools-desktop

然后重启

特别推荐
如果用户切换到root下,就不用考虑权限的问题,这样会省去哼多麻烦,不用加sudo,安装其他的软件业方便

cc@cc-fibric:~$ sudo -i
[sudo] password for cc: 
root@cc-fibric:~# 

接下来,就正式开始Fabric的部署了,这是在普通用户下的(在root用户下就不用sudo):

第一步:配置好基本的Ubuntu环境**

安装 Vim:

sudo apt-get install vim

安装Curl:

sudo apt-get update
sudo apt install curl

安装Git:

sudo apt-get install git

第二步:安装go语言和搭配环境变量

安装go语言:

sudo apt-getinstall golang

查看go 语言版本:

root@cc-fibric:~# go version
go version go1.11 linux/amd64

查看go语言的安装路径等:

root@cc-fibric:~# go env
微信截图_20181106105602.png

在安装好go语言之后,还需要配置****go****语言的环境变量:

vim ~/.profile //编辑当前用户的环境变量

当然,如果需要在所有用户下都生效,即在root账户下生效,建议在 /etc/profile目录下配置环境变量

root@cc-fibric:~# vim /etc/profile

在 profile的最后添加以下内容

可以再自己的home目录下建立一个go的空文件目录(用mkdir 语句),来设置go语言的环境变量

具体介绍,可以参考这个链接:go语言中文网

export PATH=$PATH:/usr/local/go/bin (根据自己的情况而定)   //设置为你自己的go安装目录
export GOROOT=/usr/local/go
export GOPATH=$HOME/cc/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
微信截图_20181106105043.png

第三步:安装docker

Ubuntu有自带的docker:

sudo apt-get update
sudo apt-get install -y docker.io
sudo ln -sf /usr/bin/docker.io  /usr/local/bin/docker //软链接,就行wonder下的建立快捷键一样

查看版本:

root@cc-fibric:~# docker -v
Docker version 17.03.2-ce, build f5ec1e2

如果遇到问题,可以停用、启动docker。

停用:sudo service docker stop
启用:sudo service docker start

然后修改当前用户的权限:

sudo usermod -aG docker $USER

添加镜像加速:

sudo mkdir -p /etc/docker                     //建立docker文件
sudo gedit /etc/docker/daemon.json        //也可以用vim 编辑,随便

在daemon.json文件中加入如下信息:

{ "registry-mirrors":["https://registry.docker-cn.com"] }

Docker-Compose的安装

运行以下命令下载最新版本的docker-compose:

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

这个网站可能跑不通,读者可以在这个网站:docker-compose拉取地址

自己去拉取最新的docker-compose,语句都是一样的,只不过换了网址:https://github.com/docker/compose/releases/

更改二进制文件的权限,使其能够运行:

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

另一个办法 源码安装

我们从官方网站(https://github.com/docker/compose/releases)上下载源码压缩包(最新版),放到Downlands目录下,

切换到给目录下,将docker-compose-Linux-x86_64改名为docker-compose

sudo  mv  docker-compose-Linux-x86_64  docker-compose
sudo mv  docker-compose /usr/local/bin/docker-compos
chmod +x /usr/local/bin/docker-compose

测试安装:

root@cc-fibric:~# docker-compose version
docker-compose version 1.23.0-rc3, build ea3d406e
docker-py version: 3.5.0
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.1.0f  25 May 2017

第四步 Fabric源码下载

在go的环境变量下建立文件夹,切换到该文件夹下:

cd ~/go/src/github.com/hyperledger

用git命令下载完整源码

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

由于我们只是在搭建环境。不需要最新的代码,所以只需要切换到v1.0.0大版本就行。

cd  ~/go/src/github.com/hyperledger/fabric           //进入fabric目录git checkout v1.0.0
git checkout v1.0.0

我现在切换到较新的版本 v1.1
Fabric源码下载完成!!

第五步 Fabric Docker镜像的下载

切换到fabric的examples文件下:

 cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

运行命令下载镜像:

 source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

下载完毕后,我们运行以下命令检查下载的镜像列表:

docker images
微信截图_20181106102903.png

第六步 启动Fabric网络并完成ChainCode的测试

切换到examples/e2e_cli文件下,启动测试例子:

root@cc-fibric:cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
root@cc-fibric:/home/cc/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh up
setting to default channel 'mychannel'
mychannel

Using cryptogen -> /home/cc/go/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
.................
.................
.................
2018-11-01 09:43:07.708 UTC [msp/identity] Sign -> DEBU 007 Sign: digest: 88E6F9361B88875DC921D2139523C130AAD7DFDAECD142697FC10198AD4835B0 
Query Result: 90
2018-11-01 09:43:23.521 UTC [main] main -> INFO 008 Exiting.....
===================== Query on PEER3 on channel 'mychannel' is successful ===================== 

===================== All GOOD, End-2-End execution completed ===================== 


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

启动和关闭:

启动:./network_setup.sh up
关闭:./network_setup.sh down

第七 出错记录

1.ERRO 001 Cannot run peer because error when setting up MSP from directory........msp.......

2.ERRO 001 Cannot run peer because error when setting up MSP from directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp......

解决办法:

这两个问题都是因为fabric版本和docker镜像版本不一致查看

git branch -a
微信截图_20181106102733.png

结果带*就是你的branch,如果不是v1.0.0,就git checkout v1.0.0

当然,也可以下载对应的镜像(如果版本为v 1.1):

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

推荐阅读更多精彩内容

  • 00 导言 由 Linux 基金会发起创建的开源区块链分布式账本 —— Hyperledger Fabric,...
    链播学院阅读 8,058评论 1 18
  • 听着古灵精怪的歌 心里却是另外一种世界 说是儿时的原声带 我怎么不记得 闭眼想到的未来 有些如梦似幻 看着手机里的...
    三颗豌豆阅读 235评论 0 0
  • 你说你坐船不是为了打鱼,而是因为喜欢海。 夜市卖工艺品的很多。 吃了好多好多的海鲜,认识了很多有趣的人。 也去了很...
    很多人没得选择阅读 248评论 0 0
  • 上一次,写的是Anson,带团中遇到的一位户外教练。 这一次,写的是一位客人。称他为九吧。名字好难解释。 这位客人...
    黄水娣很二阅读 307评论 1 0