• 安装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看一下

      

  • 相关阅读:
    收银钱箱弹出设置
    IOS4.0 实例练习时钟
    mysql 日期查询操作 copy
    ios 学习笔记 2
    SVN 不能移动 xx\entries 到 xx\entries
    做一个基于PHPCMS V9架构的商城
    基于JDBC API 的事务管理代码示例
    mysql 数据类型
    Discuz!NT CreditsOperationType
    spring 事务传播行为
  • 原文地址:https://www.cnblogs.com/maobuji/p/7204446.html
Copyright © 2020-2023  润新知