美文网首页
hyperledger fabric release1.1环境安

hyperledger fabric release1.1环境安

作者: 沙漠中的猴 | 来源:发表于2018-04-28 14:46 被阅读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。

    相关文章

      网友评论

          本文标题:hyperledger fabric release1.1环境安

          本文链接:https://www.haomeiwen.com/subject/ewnnhftx.html