云网牛站
所在位置:首页 > Linux教程 > Ubuntu 18.04系统下搭建HyperLedger Fabric 1.2.0环境

Ubuntu 18.04系统下搭建HyperLedger Fabric 1.2.0环境

2018-07-23 22:46:48作者:链播学院稿源:linux网

由Linux基金会自主创建的开源区块链分布式账本Hyperledger Fabric目前已经发布1.2.0版本,下面我们将带着大家在Ubuntu 18.04系统下搭建自己的HyperLedger Fabric开发环境。Hyperledger Fabric项目着重于性能和可靠性,以及推动区块链和分布式账本技术的跨行业协作。Hyperledger Fabric 可用于全球供应链管理、金融交易、资产账和去中心化的社交网络等场景,但无意以此来构建一种加密货币。

 

1.安装curl

后面的步骤我们需要用到curl命令来下载安装脚本和其他文件,所以需要先安装curl,如果已经安装可略过。

没安装的运行以下命令安装:

$ sudo apt install curl

 

2.安装docker-ce

docker分两个怎么,分为docker-ce(社区版)和docker-ee(企业版)。作为穷人阶级代表的我,只能无奈选择使用社区版。在ubuntu操作系统上安装docker-ce,实际上docker官方提供了三种方式。

1].通过docker仓库安装

2].下载.deb包安装

3].通过安装脚本安装

在这里我们选择第3种方式进行安装。

第1步、使用curl下载安装脚本

$ curl -fsSL get.docker.com -o get-docker.sh

$ ls get*

get-docker.sh

第2步、执行脚本进行安装,这一步需要等待一阵时间。

$ sudo sh get-docker.sh

第3步、设置成非root用户也能执行docker,需要将普通用户加入docker组,我们当前的用户叫blockchain。

$ sudo usermod -aG docker blockchain

第4步、执行hello-world镜像,验证docker是否安装成功。如果看到 Hello from Docker! This message shows that your installation appears to be working 这句话表明安装成功了。

$ sudo docker run hello-world

...... 一堆提示信息

Hello from Docker!

This message shows that your installation appears to be working correctly.

.....一堆提示信息

 

3.安装docker-compose

Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器。HyperLedger Fabric需要用到docker-compose,所以我们提前安装。

第1步、下载某个版本的docker-compose,下载到/usr/local/bin/docker-compose目录。更多版本请访问这里

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

这里解释一下: uname -s 得到Linux,uname -m 得到x86_64。可在复制到命令行执行查看。

第2步、允许其他用户执行compose相关命令

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

第3步、验证安装是否成功

$ docker-compose --version

docker-compose version 1.21.2, build a133471

 

4.安装go

第1步、下载golang的tar包

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

由于众所周知的原因,google相应的站点访问不了,我们得想其他办法。推荐从第三方镜像源下载golang的tar包,推荐镜像源地址,用浏览器打开网址,下载linux的tar包。同时还支持macOS、Windows平台。

Ubuntu 18.04系统下搭建HyperLedger Fabric 1.2.0环境

第2步、解压tar包到/usr/local

$ cd 下载

$ sudo tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz

第3步、创建go目录

$ mkdir $HOME/go

第4步、用vi打开~./bashrc,配置环境变量

$ vi ~/.bashrc

增加下面的环境变量,保存退出

export GOROOT=/usr/local/go

export GOBIN=$GOROOT/bin

export PATH=$PATH:$GOBIN

export GOPATH=$HOME/go

使环境变量立即生效

$ source ~/.bashrc

第5步、检测go是否安装好

$ go version

go version go1.10.3 linux/amd64

 

5.安装并检测git

$ sudo apt install git

$ git version

 

6.下载fabric的引导脚本

先创建放置的目录,然后进入该目录,用curl下载脚本

$ cd ~

$ mkdir hyperledger-fabric

$ cd hyperledger-fabric

$ curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/release-1.2/scripts/bootstrap.sh -o bootstrap.sh

$ ls

bootstrap.sh

 

7.执行引导脚本

这一步通过运行脚本去安装fabric,并且会下载fabric-sample,而且还会摘取docker镜像。下载过程需要耗费比较长的时间。

$ cd ~/hyperledger-fabric/

sudo bash ./bootstrap.sh 1.2.0 1.2.0 0.4.10

下载完,可以执行docker images查看已经下载的docker相关镜像

Ubuntu 18.04系统下搭建HyperLedger Fabric 1.2.0环境

 

8.添加环境变量

用vi打开~./bashrc

$ vi ~/.bashrc

增加下面的环境变量,保存退出

export PATH=/home/blockchain/hyperledger-fabric/fabric-samples/bin:$PATH

使环境变量立即生效

$ source ~/.bashrc

检验环境变量是否成功

$ fabric-ca-client version

fabric-ca-client:

Version: 1.2.0

Go version: go1.10

OS/Arch: linux/amd64

 

9.创建和管理网络

第1步、执行 ./byfn.sh generate 命令生成相应的文件

$ cd ~/hyperledger-fabric/fabric-samples/first-network/

$ ./byfn.sh generate

Generating certs and genesis block for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds

Continue? [Y/n] Y

proceeding ...

.......

其中byfn.sh为启动这个网络的启动脚本,启动脚本中除建立一个包含4个节点和1个Order service的网络外,还会启动一个容器用来执行脚本在channel中加入节点,部署和初始化chaincode,以及在部署的chaincode上执行交易。默认channel名称为mychannel,脚本程序会给网络实例生成数字证书和密钥;生成genesis block用来启动ordering service;一些用来配置channel的配置交易

第2步、执行 ./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.2.0

DOCKER_IMAGE_VERSION=1.2.0

Creating network "net_byfn" with the default driver

Creating volume "net_orderer.example.com" with default driver

Creating volume "net_peer0.org1.example.com" with default driver

Creating volume "net_peer1.org1.example.com" with default driver

Creating volume "net_peer0.org2.example.com" with default driver

Creating volume "net_peer1.org2.example.com" with default driver

Creating peer0.org2.example.com ... done

Creating orderer.example.com    ... done

Creating peer0.org1.example.com ... done

Creating peer1.org1.example.com ... done

Creating peer1.org2.example.com ... done

Creating cli                    ... done

START

Build your first network (BYFN) end-to-end test

Channel name : mychannel

Creating channel...

.......

当我们看到START的时候,表示启动成功。

执行结束,显示END

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

END

通过docker ps命令可以查看到节点的启动情况。

Ubuntu 18.04系统下搭建HyperLedger Fabric 1.2.0环境

第3步、如果我们要停止网络,可以执行./byfn.sh down 命令来停止

$ ./byfn.sh down

Stopping for channel 'mychannel' with 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 peer1.org2.example.com ... done

Stopping orderer.example.com    ... done

Stopping peer1.org1.example.com ... done

Stopping peer0.org2.example.com ... done

Removing cli                    ... done

Removing peer0.org1.example.com ... done

Removing peer1.org2.example.com ... done

Removing orderer.example.com    ... done

Removing peer1.org1.example.com ... done

Removing peer0.org2.example.com ... done

Removing network net_byfn

Removing volume net_orderer.example.com

Removing volume net_peer0.org1.example.com

Removing volume net_peer1.org1.example.com

Removing volume net_peer0.org2.example.com

Removing volume net_peer1.org2.example.com

Removing volume net_peer0.org3.example.com

WARNING: Volume net_peer0.org3.example.com not found.

Removing volume net_peer1.org3.example.com

WARNING: Volume net_peer1.org3.example.com not found.

Ubuntu 18.04系统下搭建HyperLedger Fabric 1.2.0环境

 

10.总结

通过官方提供的引导脚本,我们可以快速的搭建好HyperLedger Fabric 1.2.0环境,前提是我们需要安装好docker-ce和docker-compose。另外官方给的引导脚本路径访问不了,因此我们可以直接去到HyperLedger Fabric的github上找到相应的脚本下载下来,然后再运行。

 

相关主题

Ubuntu 18.04安装Fabric 1.1的步骤

精选文章
热门文章