在Ubantu16.04下Hyperledger fabric开发环境的搭建

在Ubantu16.04下Hyperledger fabric开发环境的搭建

最近由于研究课题的需要,从原来的以太坊开发环境转到了支持联盟连开发的fabric。作为第一次接触fabric的小白来讲搭建开发环境着实是个让人头疼的问题,期间踩了无数个坑,看了很多博主的文章,也逛了一些论坛。终于,经过了三天的挣扎总算是搭建好了v1.0.0版本的开发环境。在此篇文章中,我将会给大家分享一些很实用的文章和安装步骤。

1.依赖环境的安装
安装Git

sudo apt install git

查看git版本

git version

安装Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

此处如果没有安装curl要执行:

sudo apt install curl

因为国内下载Docker镜像很慢,所以要使用镜像加速器,在命令行中输入下面命令

sudo mkdir -p /etc/docker

sudo gedit /etc/docker/daemon.json 
{
 "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
保存并退出

如果不会使用vim可参看一下这个链接:
vim基本命令用法

sudo systemctl daemon-reload
sudo systemctl restart docker

**查看Docker版本

docker version

安装docker-compose
执行安装命令

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

授权

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

查看版本信息

docker-compose version

安装golang

获取安装包

sudo wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz

解压

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

创建go工作目录

sudo mkdir ~/go

配置环境变量

sudo vim /etc/profile

在打开的vim中添加

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

使用source命令,使其配置信息生效

source /etc/profile

查看golang是否安装成功

cd ~/go

查看go的版本信息

go version

查看go的具体信息

go env

在安装golang的过程中有很多人会碰到打开新的终端时显示go未安装,如果遇到此种情况可以采用下列办法解决:

sudo vim ~/.bashrc

在打开的文件中输入

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

fabric安装

**准备工作**

cd ~/go
sudo mkdir -p src/github.com/hyperledger

下载fabric源码

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

进入 fabric 目录查看版本分支并切换分支

cd fabric
git checkout v1.0.0

下载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

在此过程中可能会遇到source执行错误,没有Docker权限,可以用下面方法解决

sudo groupadd docker
sudo gpasswd -a ${USER} docke
sudo service docker restar
newgrp - docker

进行fabric网络测试
在刚才fabric/examples/e2e_cli/文件夹中执行下列操作
修改./e2e_cli/base/下的 peer-base.yaml
修改下面一行就行了

CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default

执行操作

bash ./network_setup.sh up

稍作等待如果出现
end-e2e

则说明测试成,若出现错误可看下面这个链接
e2e_cli运行常见错误解决办法

手动测试Fabric网络

重新打开一个命令行窗口,输入:

docker exec -it cli bash

这时用户为root@268dafdc900b,在/opt/gopath/src/github.com/hyperledger/fabric/peer目录下,运行以下命令可以查询a账户的余额:

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

可以看见余额为:90
下面我们可以进行转账操作,操作为invoke ,由a转b 50:

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","50"]}'

现在转账完毕, 我们试一试再查询一下a账户的余额,重复之前的查询指令,结果为:

a的余额只有40了,结果正确。

最后,我们需要关闭Fabric,这里先使用exit命令退出cli容器。

exit 

然后类似于启动指令:

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

到这,我们整个Fabric的环境已经搭建完毕。希望本文对大家有所帮助!!
[1]https://blog.csdn.net/so5418418/article/details/78355868#commentsedit
[2]: https://www.jianshu.com/p/95e397570896
[3]: http://www.runoob.com/docker/docker-command-manual.html
[4]: http://www.cnblogs.com/studyzy/p/7437157.html

你可能感兴趣的:(fabric,区块连)