hyperledger fabric release1.1环境安

2018-04-28  本文已影响0人  沙漠中的猴

fabric 1.1环境安装

简介

系统环境为 ubuntu 16.04

go版本为1.10

docker版本为 18.03-ce

docker-compose版本为 1.21.0

本机系统

输入uname -a查看本机系统环境
ubuntu 16.04.2 x86_64

安装软件

docker ce

安装依赖

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

添加教育网镜像地址

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add 

添加仓库

sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

更新软件源

sudo apt-get update

安装docker-ce 也可以指定固定的版本,默认是安装最新版本。

默认最新:sudo apt-get install docker-ce
指定版本:sudo apt-get install docker-ce=<VERSION>

根据需要来 配置docker 自启动或者禁用

sudo systemctl enable/disable docker

启动docker

sudo systemctl start docker

建立docker 组

sudo groupadd docker    可能提示你已经存在

将当前用户添加进docker组

sudo gpasswd -a ${USER} docker

此时group命令获取到的是缓存组的信息。所以我们要手动刷新一下

newgrp - docker

输入docker version查看版本为

18.03.0-ce 

这个网络你不设置个加速器能气死你。

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

重启docker

sudo systemctl restart docker

尝试下载hello-world镜像。

docker run hello-world     屏幕会输出hello world

安装vim

sudo apt-get install vim

安装docker-compose

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

如果上面的命令执行不成功也可以执行(注意:仅限系统为Linux-x86_64的用户):

sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose

修改二进制的权限

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

docker-compose -v 查看版本

安装golang

创建go的工作环境
注意:我将go的工作环境放在了/home/mark/go

cd /home/mark/
mkdir go
cd go 
mkdir src pkg bin 

下载安装包

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

将安装包解压缩到/usr/local/

tar -C /usr/local -xzf go1.10.1.linux-amd64.tar.gz     //这时,安装包就可以删除了

在~/.bahsrc文件中添加下面内容

vim ~/.bashrc
export GOROOT=/usr/local/go
export GOPATH=/home/mark/code/go        //这里的路径是你go语言的工作环境,按照自己的路径配置。
export GOBIN=$GOROOT/bin
export PATH=$GOPATH/bin:$GOBIN:$PATH

注意 :这个地方一定要配置对,配置仔细,要不然在启动网络的时候会出现找不到文件的问题。

保存文件退出,并执行

source ~/.bashrc

输入 go version 查看go的版本信息,确定是否安装成功。

你也可以输入

echo $PATH
echo $GOROOT
echo $GOBIN

等命令来检查环境是否正确。

安装node

sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm 

安装nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash 

source ~/.bashrc

nvm install v9.10.1

查看node 版本 和npm版本

node -v    v9.10.1
npm -v      5.6.0

提示

我们会下载fabric的代码和fabric-samples的代码,两个项目的代码处于hyperledger目录下

image.png

下载fabric代码

新建文件夹结构

sudo mkdir -p $GOPATH/src/github.com/hyperledger/

进入文件夹目录

cd $GOPATH/src/github.com/hyperledger/

拉取代码

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

进入fabric文件夹

cd fabric

查看代码分支

git branch  -a

如果是release 1.1则不用进行分支切换

如果当前分支不是release 1.1则切换分支

git checkout 分支名

下载fabric-samples代码

进入github.com/hyperledger文件夹

cd $GOPATH/src/github.com/hyperledger

拉取代码

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

进入fabric-samples文件夹

cd fabric-samples

查看当前分支

git branch -a

如果当前分支不是release 1.1则切换分支

git checkout 分支名

拉取二进制依赖文件及docker镜像

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s 1.1.0

输入 docker images查看镜像版本。会显示出有1.1.0和0.4.6两个版本。

image.png

下载完二进制文件之后,fabric-samples文件夹内会多出个bin文件夹,将该bin文件夹加入PATH路径。

进入bin 文件夹

cd bin

输入 ls 查看内容。存在多个二进制文件

image.png

进入bin文件夹,输入pwd命令,记录路径
比如说路经为:/home/mark/go/src/github.com/hyperledger/fabric-samples/bin

修改bashrc文件

vim ~/.bashrc

将下面的内容加入到.bashrc文件。

export PATH=/home/mark/go/src/github.com/hyperledger/fabric-samples/bin:$PATH

保存并退出。然后输入

source ~/.bashrc

查看是否加入成功,输入cryptogen version会显示

cryptogen:
 Version: 1.1.0
 Go version: go1.9.2
 OS/Arch: linux/amd64

运行first-network环境

注意:如果你是在阿里云服务器,请将下面的参数添加到配置文件(.yaml文件)的所有environment下面

 - GODEBUG=netdns=go

进入first-network文件夹

cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network

运行网络

./byfn -m up

当网络启动成功之后,将网络终止

./byfn -m down

运行e2e_cli网络

注意:如果你是在阿里云服务器,请将下面的参数添加到配置文件(.yaml文件)的所有environment下面

 - GODEBUG=netdns=go

在命令行输入

echo $(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')" | awk '{print tolower($0)}')

会显示出你当前的环境信息。比如我的环境信息为:

linux-amd64

然后在fabric/release文件夹下新增linux-amd64文件夹

cd $GOPATH/src/github.com/hyperledger/fabric/release
mkdir linux-amd64 

然后将fabric-samples下的bin文件夹复制到新增的linux-amd64文件夹中

cd $GOPATH/src/github.com/hyperledger/fabric-samples/
cp -rf bin ../fabric/release/linux-amd64/

上面的操作是因为在启动e2e_cli网络的时候,会自动在release/文件夹下新增一个符合自己系统的文件夹名字,然后在其内部生成一个bin文件夹,里面包含二进制工具文件。

进入e2e_cli文件夹,启动网络。

./network_setup.sh up 
image.png

出现上面的内容,就说明环境成功跑通了。

如果出现错误,提示说找不到e2ecli_default网络。

解决方法:

我们进入e2e_cli目录中的base目录,修改一下peer-base.yaml文件

cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/base
vim peer-base.yaml

CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default改成CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default

保存并退出。

后续会介绍手动调用chaincode。

上一篇下一篇

猜你喜欢

热点阅读