zoukankan      html  css  js  c++  java
  • 安装hyperledger fabric V1.0.1

     

    安装文档位置:

    https://github.com/hyperledger/fabric   fabric代码托管地址

    https://hyperledger-fabric.readthedocs.io/en/latest/  在线文档地址

    https://github.com/hyperledger/fabric/archive/v1.0.0.tar.gz fabric1.0.0源代码包地址

    安装环境:

        Vmware + CentOS7 64位 1611版本

    安装前准备:

    • 安装配置好虚拟机,需要保证curl命令可用
    • 关闭centos自动升级,免得安装时提示yum被锁定

    即将/etc/yum/pluginconf.d/langpacks.conf 中的 enable=1改为enable=0

    sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/langpacks.conf
    yum update
    • 使用yum install 安装tree(方便查看目录结构),git(用于下载代码)
    • 安装docker和docker-compose

         https://download.daocloud.io/  找到docker和docker-compose的安装指导。我们选择在线安装根据指导执行命令即可。版本更新后指导也会更新,安装时最好去网站上获取最新的命令

         安装docker

    sudo yum install -y yum-utils
    sudo yum-config-manager 
        --add-repo 
        https://download.daocloud.io/docker/linux/centos/docker-ce.repo
    sudo yum install -y -q --setopt=obsoletes=0 docker-ce-17.03.1.ce*
    sudo systemctl enable docker
    sudo systemctl start docker
    sudo service docker status

                       docker --version

                      输出:Docker version 17.03.1-ce, build c6d412e

            安装docker-compose

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

                     docker-compose --version

                     输出:docker-compose version 1.12.0, build b31ff33

             使用阿里云进行镜像加速(如果能FQ就不用加速了)

             https://dev.aliyun.com  注册一个帐号。然后查看Docker Hub 镜像站点。指导文档写的很清楚。拷贝其中的内容执行即可。内容如下:

              https后面的应该是你自己的镜像地址

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://du8c1in9.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    • 安装nodejs和NPM(需要V6 LTS版本。不支持V7或者V8)

          https://nodejs.org   nodejs网站,可以下载安装包进行安装,这里下载了node-v6.11.4-linux-x64.tar.xz解压包

          将这个包放到/opt/nodejs目录下,当作安装目录

                    进行解压:

    cd /opt
    mkdir nodejs
    cd nodejs
    curl -o node-v6.11.4-linux-x64.tar.xz https://nodejs.org/dist/v6.11.4/node-v6.11.4-linux-x64.tar.xz
    xz -d node-v6.11.4-linux-x64.tar.xz
    tar -xvf node-v6.11.4-linux-x64.tar

                    建立软连接,后续替换版本方便

    ln -s /opt/nodejs/node-v6.11.4-linux-x64/bin/node /usr/local/bin/node
    ln -s /opt/nodejs/node-v6.11.4-linux-x64/bin/npm /usr/local/bin/npm

                 也可以通过设置nodejs环境变量的方式,在/etc/profile文件的
                 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

    #set for nodejs
    export NODE_HOME=/opt/nodejs/node-v6.11.0-linux-x64
    export PATH=$NODE_HOME/bin:$PATH

                   升级NPM工具,刷新会很慢。但好像不执行也没有什么问题

    npm install npm@latest -g
    • 安装go语句环境

          https://golang.org/dl/   go的主页下载地址,可以到这里寻找最新版本

    cd /opt
    mkdir golang
    cd golang curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz tar -zxvf go1.8.3.linux-amd64.tar.gz
    cd /opt
    mkdir gopath

           在/etc/profile中配置go的环境变量

    export GOROOT=/opt/golang/go
    export PATH=$GOROOT/bin:$PATH
    export GOPATH=/opt/gopath

           修改完source /etc/profile 刷新一下,使用 go version查看版本,也可以使用go env查看环境变量信息

    下载fabric1.0.1源代码: 

    将源代码下载gopath下,/opt/gopath/src/github.com/hyperledger/fabric目录下,若没有可手工创建

    curl -O https://github.com/hyperledger/fabric/archive/v1.0.1.tar.gz
    tar -zxvf v1.0.1.tar.gz

     目录结构如下:

    下载fabric-sample镜像并启动:

           首先找一个目录做为临时安装目录,这里用的是/opt/fabricinstall.

           从刚才的源代码目录拷贝安装脚本过来,并执行,运行脚本时,会下载一个bin目录,里边有后续部署时会用的工具

    cp /opt/gopath/src/github.com/hyperledger/fabric/scripts/bootstrap-1.0.1.sh /opt/fabricinstall/
    cd /opt/fabricinstall/
    sh bootstrap-1.0.1.sh

            

         执行后就要开始等待镜像下载了,下载完成后,可以用以下命令,查看下载的镜像

    docker images | grep hyperledger*

         用阿里镜像很快装完了,如果使用镜像需要加上版本号,这里自动转成了latest就不用输入版本号了。所以每个镜像都有两行。

    准备运行e2e_cli的例子

    例子的脚本放在源代码目录中,需要拷贝过来。而例子脚本的路径都是写死的,所以要按照脚本里边的相对路径,创建整个运行目录。

    之前使用bootstrap-1.0.1.sh脚本下载的执行文件,也需要拷贝到例子目录中,例子的脚本会调用这些执行文件。

    以下是生成目录结构的脚本:

    mkdir /opt/fabricinstall/release
    mkdir /opt/fabricinstall/release/e2ecli
    mkdir /opt/fabricinstall/release/linux-amd64
    cd /opt/fabricinstall/release/e2ecli/
    cp -R /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/* /opt/fabricinstall/release/e2ecli/ 
    cp -R /opt/fabricinstall/bin/ /opt/fabricinstall/release/linux-amd64/ 

    mkdir /opt/fabricinstall/release/chaincode
    mkdir /opt/fabricinstall/release/chaincode/go
    cp -R /opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go/* /opt/fabricinstall/release/chaincode/go 
    ./network_setup.sh up

    注意:e2ecli目录是固定的,启动后会创建一个docker network以此为名字,如果修改该目录,要到//opt/fabricinstall/release/e2ecli/base/peer-base.yaml文件中修改以下配置选项

    - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default


    如果容器已经生成了,可以使用如下命令清理后,在进行network_set.

    docker stop $(docker ps -q) & docker rm $(docker ps -aq)

    出现以下字样,没有报错。估计是成功了。

         可以通过docker ps查询启动的容器,启动前是没有任何容器的。

         

          这个过程中会创建一个例子,并将需要的容器都拉起来

          可以看到看到启动了三个mycc(系统给出的例子)  一个cli(工具) 一个orderer(选举)  四个peer(客户端)

          当然这个过程也可以手工进行,后续会专门写一个文档讲解。

    关闭例子

    开一个新窗口,然后在对应目录下,执行关闭指令就可以了。

    ./network_setup.sh down

    启用couchdb

         上面的例子中,我们无法看到存储内容,所以改用couchdb做为pee交易的存储     使用couchdb可以通过网页查看状态内容

          所以先关闭掉之前的系统,使用以下命令进行重新进行启动

    ./network_setup.sh up mycc 10000 couchdb

         一共四个参数  1.启动或停止  2.通道名称  3.cli等待时间  4.使用couchdb。  如果关闭的话,把up改成down就可以了。

         启动后访问http://192.168.101.23:5984/_utils/ 就可以看到页面了。IP记得换成自己的

          

          点进mycc看一下

      

  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/maobuji/p/7204446.html
Copyright © 2011-2022 走看看