安装fabric 1.4版本

安装fabric 1.4版本

刚开始接触区块链,跟着网上的教程搭建hyperledger fabric ,下载的是1.0版本,最近运行GitHub上的例子,发现有些需要高的版本,所以决定更新版本到1.4,看了官网的更新文档都是相近版本的更新,没有找到从1.0更新到1.4的,所以决定按照官网文档指导重新安装。

其实掌握了搭建hyperledger fabric 1.0,安装1.4是很简单的,主要注意一下删除之前的镜像,重新安装就可以。

删除镜像指令:

$ docker rm -f $(docker ps -aq)

$ docker rmi -f $(docker images -q)

参考https://hyperledger-fabric.readthedocs.io/en/latest/install.html

一、准备

要求版本:

go1.11 以及以上版本

docker 17.06.2-ce 以及以上版本

docker-compose 1.14.0 以及以上版本

go和docker的版本都很新,这里就不再赘述了。具体的安装方法可以参考搭建hyperledger-fabric环境

更新docker-compose

安装fabric源码

lqr@lqr-VirtualBox:~$ mkdir -p ~/go/src/github.com/hyperledger

lqr@lqr-VirtualBox:~$ cd ~/go/src/github.com/hyperledger

lqr@lqr-VirtualBox:~/go/src/github.com/hyperledger$ git clonehttps://github.com/hyperledger/fabric.git

docker 镜像安装

进入到fabric目录中,然后输入

$ cdgo/src/github.com/hyperledger/fabric

$ curl -sSL https://bit.ly/2ysbOFE | bash -s -- 1.4.0

$ docker images

二、构建第一个网络

$ cd fabric-samples/first-network

byfn.sh脚本的帮助文档:

根据配置文件生成各种文件

$ sudo ./byfn.sh -m generate


Generating certs and genesis block for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds

Continue? [Y/n] y

proceeding ...

/home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/../bin/cryptogen

##########################################################

##### Generate certificates using cryptogen tool #########

##########################################################

+ cryptogen generate --config=./crypto-config.yaml

org1.example.com

org2.example.com

+ res=0

+ set +x

/home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/../bin/configtxgen

##########################################################

#########  Generating Orderer Genesis block ##############

##########################################################

CONSENSUS_TYPE=solo

+ '[' solo == solo ']'

+ configtxgen -profile TwoOrgsOrdererGenesis -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block

2019-04-02 17:00:33.497 CST [common.tools.configtxgen] main -> INFO 001 Loading configuration

2019-04-02 17:00:33.547 CST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 002 orderer type: solo

2019-04-02 17:00:33.547 CST [common.tools.configtxgen.localconfig] Load -> INFO 003 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:33.590 CST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 004 orderer type: solo

2019-04-02 17:00:33.591 CST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 005 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:33.593 CST [common.tools.configtxgen] doOutputBlock -> INFO 006 Generating genesis block

2019-04-02 17:00:33.596 CST [common.tools.configtxgen] doOutputBlock -> INFO 007 Writing genesis block

+ res=0

+ set +x

#################################################################

### Generating channel configuration transaction 'channel.tx' ###

#################################################################

+ configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID mychannel

2019-04-02 17:00:33.649 CST [common.tools.configtxgen] main -> INFO 001 Loading configuration

2019-04-02 17:00:33.692 CST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:33.746 CST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo

2019-04-02 17:00:33.751 CST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:33.751 CST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 005 Generating new channel configtx

2019-04-02 17:00:33.753 CST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 006 Writing new channel tx

+ res=0

+ set +x

#################################################################

#######    Generating anchor peer update for Org1MSP   ##########

#################################################################

+ configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP

2019-04-02 17:00:33.811 CST [common.tools.configtxgen] main -> INFO 001 Loading configuration

2019-04-02 17:00:33.865 CST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:33.917 CST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo

2019-04-02 17:00:33.917 CST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:33.917 CST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update

2019-04-02 17:00:33.917 CST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update

+ res=0

+ set +x

#################################################################

#######    Generating anchor peer update for Org2MSP   ##########

#################################################################

+ configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP

2019-04-02 17:00:33.969 CST [common.tools.configtxgen] main -> INFO 001 Loading configuration

2019-04-02 17:00:34.015 CST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:34.068 CST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo

2019-04-02 17:00:34.068 CST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /home/lqr/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/configtx.yaml

2019-04-02 17:00:34.068 CST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update

2019-04-02 17:00:34.068 CST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update

+ res=0

+ set +x

启动网络

$ sudo ./byfn.sh up

出现上图表示成功啦!

关闭网络

$ sudo ./byfn.sh down


提示:
如果出现文件夹锁住的情况可以通过一下指令修改权限,例如修改 fabric-sample的权限

lqr@lqr-VirtualBox:~/go/fabric-samples$ sudo chmod -R 777 fabric-samples

你可能感兴趣的:(安装fabric 1.4版本)