美文网首页
hyperledger fabric-----1系统搭建

hyperledger fabric-----1系统搭建

作者: y9g | 来源:发表于2017-11-08 21:23 被阅读0次

    hyperledger fabric是IBM的区块链项目,本文着重讲其技术实现,有不对的地方还希望各位指正。

    fabric我从一个例子开始讲起,这样更有逻辑性,框架的层面后续会补充。



    1.    fabric系统的搭建

    1.1 安装go

    到https://golang.org/doc/install网址去下载对应的go版本,我自己用的是1.8,其他没测过

    安装完毕后设置GOPATH和GOROOT

    export GOROOT=/usr/local/go

    export GOPATH=/opt/gopath

    1.2. 安装git

    如果需要进行源码编译的,那么需要下载git,因为fabric更新非常快,需要实时跟进他的代码,所以最好是安装git去同步

    git的安装可以到https://git-scm.com/book/en/v2/Getting-Started-Installing-Git网址

    1.3. 下载源代码

    安装完毕后,可以到fabric官网或者我们自己的git去下载源代码

    fabric官方源码是https://github.com/hyperledger/fabric

    创建文件夹 mkdir -P /opt/gopath/src/github.com/hyperledger/

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

    1.4. 下载docker并启动

    智能合约是通过docker来进行包装的,所以需要运行docker环境。

    不同的系统需要下载不同的docker,这里仅做参考,具体请到docker官网查看

    安装docker,运行下面命令

    apt-get install -y linux-image-extra-$(uname -r) apparmor docker-engine

    安装 docker-compose,这个docker-compose也需要安装下,也许某天通过他来启动n个peer

    curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

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

    配置docker,运行下面命令

    DOCKER_OPTS="-s=${DOCKER_STORAGE_BACKEND_STRING} -r=true --api-cors-header='*' -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ${DOCKER_OPTS}"

    sed -i.bak '/^DOCKER_OPTS=/{h;s|=.*|=\"'"${DOCKER_OPTS}"'\"|};${x;/^$/{s||DOCKER_OPTS=\"'"${DOCKER_OPTS}"'\"|;H};x}' /etc/default/docker

    重启docker,运行下面命令

    service docker restart

    usermod -a -G docker ubuntu # Add ubuntu user to the docker group

    1.5. 导入依赖的docker image

    docker pull hyperledger/fabric-baseimage:x86_64-0.3.2

    docker pull hyperledger/fabric-baseos:x86_64-0.3.2

    1.6. 执行Makefile

    请到$GOPATH/src/github.com/hyperledger/fabric目录下执行make all

    编译完毕后运行docker images命令,可以得到fabric的相关镜像

    $GOPATH/src/github.com/hyperledger/fabric/build/bin下的可执行文件如下:

    chaintool  configtxgen  configtxlator  cryptogen  orderer  peer

    1.7. 运行example

    请到$GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli目录下,先生成对应的msp目录

    运行./generateArtifacts.sh

    再执行./network_setup.sh up 

    就可以看到节点的启动,智能合约的部署,交易及查询了

    1.8. 可能遇到的问题

    A.在 mac os 下出现如下错误:

    Error processing tar file(bzip2 data invalid: bad magic value in continuation file):

    解决办法 ,更新gnu-tar

    brew install gnu-tar --with-default-names

    B. 在 mac os 下出现'ltdl.h' file not found错误

    brew install libtool openssl

    相关文章

      网友评论

          本文标题:hyperledger fabric-----1系统搭建

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