Ubuntu下搭建Hyperledger Fabric四个共识节点环境

一、安装docker

1、docker要求Linux内核版本不低于3.10

>>检查Linux的内核版本,如果内核版本太低,升级内核

>>查看内核的版本命令uname-a

2、根据不同的Ubuntu版本安装docker

>>查看Ubuntu版本命令lsb_release-a

3、对于16.04的Ubuntu版本安装

>>sudo apt-get installdocker-engine

4、启动

>>sudosystemctl enabledocker

>>sudosystemctl startdocke

二、安装docker-compose项目

1、安装pip工具

>>pip工具会依赖Python,而Ubuntu下默认已经安转好Python2.7

>>apt-get install python_pip

2、安转dockercompose项目

>>sudo pip install -Udocker-compose

3、校验dockercompose是否安装好

>> docker-compose -h

三、获取镜像

获取镜像的方式有4种

1.通过Dockerfile来定制镜像(虽然推荐使用这种方法,但这里并不介绍;如果要定制镜像,你得去学习docker)

2.使用社区镜像

docker pull hyperledger/fabric-peer:x86_64-0.6.1-preview \&& docker pull hyperledger/fabric-membersrvc:x86_64-0.6.1-preview \&& docker pull yeasy/blockchain-explorer:latest \ && docker tag hyperledger/fabric-peer:x86_64-0.6.1-preview hyperledger/fabric-peer \&& docker tag hyperledger/fabric-peer:x86_64-0.6.1-preview hyperledger/fabric-baseimage \&& docker tag hyperledger/fabric-membersrvc:x86_64-0.6.1-preview hyperledger/fabric-membersrvc

3.使用IBM认证的镜像

docker pull ibmblockchain/fabric-peer:x86_64-0.6.1-preview \&& docker pull ibmblockchain/fabric-membersrvc:x86_64-0.6.1-preview \&& docker pull yeasy/blockchain-explorer:latest \&& docker tag ibmblockchain/fabric-peer:x86_64-0.6.1-preview hyperledger/fabric-peer \&& docker tag ibmblockchain/fabric-peer:x86_64-0.6.1-preview hyperledger/fabric-baseimage \&& docker tag ibmblockchain/fabric-membersrvc:x86_64-0.6.1-preview hyperledger/fabric-membersrvc

4.从github上获取

docker pull yeasy/hyperledger-fabric-base:0.6-dp \&& docker pull yeasy/hyperledger-fabric-peer:0.6-dp \&& docker pull yeasy/hyperledger-fabric-membersrvc:0.6-dp \&& docker pull yeasy/blockchain-explorer:latest \&& docker tag yeasy/hyperledger-fabric-peer:0.6-dp hyperledger/fabric-peer \&& docker tag yeasy/hyperledger-fabric-base:0.6-dp hyperledger/fabric-baseimage \&& docker tag yeasy/hyperledger-fabric-membersrvc:0.6-dp hyperledger/fabric-membersrvc

四.准备配置文件

有两种方法

1.自己写(这里不介绍)

2.从github上获取

git clone https://github.com/yeasy/docker-compose-files

五.启动节点

现在我们假设我们是从github上获取的配置文件

1.进入pbft配置文件所在的目录,你可以看到这些文件


这是pbft目录下的文件,4-peers-with-explorer.yml没有成员服务的可在浏览器端访问4个节点配置文件;4-peers-with-membersrvc.yml带有成员服务的4个节点配置文件;4-peers-with-membersrvc-explorer.yml四个带有成员服务的节点配置文件;4-peers.yml其普通的四个节点,没有成员服务,部署交易的时候在非安全模式下部署;explorer.yml可浏览器端访问的基础配置文件、peer.yml节点基础配置文件、membersrvc.yml成员服务基础配置文件,其他文件都得继承他们。同样的在noops目录下也会有这些文件只是他们启动起来使用的共识插件是noops。

六.启动节点

docker-compose -f 4-peers.yml up ---->非安全模式
docker-compose -f 4-peers-with-membersrvc.yml up --->安全模式
docker-compose -f 4-peers-with-explorer.yml up --->通过浏览器的方式
docker-compose -f 4-peers-with-membersrvc-explorer.yml up --->安全模式下可通过浏览器访问的方式

七.另起一个终端,进入其中的一个节点

--->docker exec -it spbft_vp1_1 bash
--->docker exec -it hyperledger_vp3_1 bash
--->docker exec -it pbft_vp0_1 bash

spbft_vp1_1, hyperledger_vp3_1,pbft_vp0_1z这些是你用docker ps命令查看到的容器的名字,这里你可能需要更换成你自己的docker容器的名字

八.执行交易

进入容器后,编译chaincode_example02后,执行下面的的代码,在启动窗口中你可以看到共识的debug过程

以非安全模式部署智能合约
peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

调用交易
peer chaincode invoke -n github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'

九.安全模式下调用交易

你需要先登录一下(下面以WebAppAdmin为例),以WebAppAdmin的形式登录到节点上
peer network login WebAppAdmin -p DJY27pEnl16d

安全模式
peer chaincode deploy -u jim -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'





你可能感兴趣的:(Hyperledger,Fabric,区块链技术)