Ubuntu 18.04下 Hyperledger Fabric 1.0 的搭建

请你们按照步骤进行,避免没必要要的错误。html

1.查看 apt source

sudo vi /etc/apt/sources.list

若是看到是http://cn.xxxxx之类的,那么就不用换的。可是若是其中是http://us.xxxxxx之类的,那么就是外国的。须要更换源,经过如下命令进行批量更换。python

:%s/us./cn./g

更换完成后输入 :wq 保存退出。
以后更新源。linux

sudo apt-get update

而后安装sshgit

sudo apt-get install ssh

2.安装GO语言

下载安装最新的gogithub

下载、安装

wget https://storage.googleapis.com/golang/go1.11.linux-amd64.tar.gz

若是出现443链接错误,可采用如下方法。
进入 https://golang.org/dl/ 选择最新的Linux版本下载到本地文件夹golang

在这里插入图片描述
下载以后,进入下载目录,输入如下命令进行解压安装,(个人目录名为:下载)docker

cd 下载
tar -zxvf go1.11.linux-amd64.tar.gz -C /usr/local

须要注意:下载的go版本不一样,须要更改版本号
安装完成后,能够进入 /usr/local 下看到go文件夹。api

配置环境变量

编辑当前用户的环境变量,可使用vi编辑器或gedit命令。bash

sudo gedit ~/.profile

在文件的末尾加入如下内容网络

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

编辑保存退出后,执行如下命令使得环境变量生效

source ~/.profile

输入命令查看GO版本

go version

把go的目录GOPATH设置为当前用户的文件夹下,因此记得建立go文件夹

cd ~
mkdir go

3.安装Docker

须要提早准备安装curl,命令以下

sudo apt-get install curl

1.安装Docker

安装Docker也会遇到外国网络慢的问题,幸亏国内有很好的镜像,推荐DaoClound,安装Docker的命令是:

sudo curl -sSL https://get.daocloud.io/docker | sh

若是安装失败,可尝试下面的命令

sudo curl -sSl https://get.docker.com/ | sh

安装完成后,运行如下脚本将当前用户添加到Docker的组中

sudo usermod -aG docker XXX (XXX是当前用户名)

从新登陆当前用户(注销),接下来修改 Docker 服务配置

可使用vi编辑器或gedit命令。

sudo gedit /etc/default/docker

添加如下内容

DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-cors-header='*'"

2.设置国内的Docker镜像地址

接下来就须要设置国内的Docker镜像地址,须要注册一个帐号,而后在加速器页面提供了设置Docker镜像的脚本,加速器页面是:
https://www.daocloud.io/mirror
我提供的脚本是:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

重启Docker

sudo service docker restart

4.安装Docker-compose

Docker-compose是支持经过模板脚本批量建立Docker容器的一个组件。在安装Docker-Compose以前,须要安装Python-pip,运行脚本:

sudo apt-get install python-pip

安装完成后,接下来从DaoClound安装Docker-compose,运行脚本:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose

5. Fabric源码下载

使用git拉取文件更方便些,提早安装git

1.安装git

安装命令以下

sudo apt-get install git

2.使用git命令下载源码

mkdir -p ~/go/src/github.com/hyperledger 
cd ~/go/src/github.com/hyperledger 
git clone https://github.com/hyperledger/fabric.git

因为Fabric一直在更新,全部咱们并不须要最新最新的源码,须要切换到v1.0.0版本的源码便可:

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0

在这里插入图片描述

5.下载Fabric镜像

官方文件提供了批量下载的脚本。咱们直接运行:

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

全部会用到的Fabric docker镜像都会下载下来了。

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

docker images

在这里插入图片描述

6.启动Fabric网络并完成ChainCode的测试

此时咱们仍然停留在e2e_cli文件夹,
在这里插入图片描述
这里提供了启动、关闭Fabric网络的自动化脚本。咱们要启动Fabric网络,并自动运行Example02 ChainCode的测试,执行一个命令:

bash network_setup.sh up

在这里插入图片描述

最后运行完毕,咱们能够看到这样的界面
在这里插入图片描述

7.手动测试一下Fabric网络

咱们仍然是以如今安装好的Example02为例,在官方例子中,channel名字是mychannel,链码的名字是mycc。咱们首先进入CLI,咱们从新打开一个命令行窗口,输入:

docker exec -it cli bash

运行如下命令能够查询a帐户的余额

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

运行结果为:
在这里插入图片描述

而后,咱们试一试把a帐户的余额再转10元给b帐户,运行命令:

peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'

运行结果为:
在这里插入图片描述

转帐完毕, 再查询一下a帐户的余额,是否为80
在这里插入图片描述
最后咱们要关闭Fabric网络,首先须要运行exit命令退出cli容器。关闭Fabric的命令与启动相似,命令为:

exit
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh down

整个Fabric的环境已经测试完毕,一切正常。接下来就是去作本身的区块链的开发。


8.参考文章

一、Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建
https://blog.csdn.net/tiandiw...
二、在Ubuntu中部署并测试Fabric 1.0 Beta
http://www.cnblogs.com/studyz...

9.道谢

很高心终于配置成功,从菜鸟开始学习,感谢一辈子中所爱深蓝两位博主的贡献,也请但愿你们可以经过个人博客学习,若有不足,请留言或者私信、

相关文章
相关标签/搜索