澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:区块链多机集群框架搭

3:运维测量试验e2e

前不久开班攻读法布里c1.0,当搭建软件条件的时候蒙受了种种坑,通过网络教程和QQ群热心人的解答终于把条件搭建好了,在此谢谢那多少个协助过自家并为广泛区块链技能无私贡献过的脑仁疼友们。以下是小编搭建情状的全经过,使用的系统是ubuntu16.04.4版本。

fabric多机安排——4 1形式5台虚构机布署

Hyperledger Fabric 1.0 安装进程:

3.1、运转fabric-samples的标题求证

该难题求证能够消除6.1、平台湾特务定使用的二进制文件配置第一步的主题材料。能够选用继续读书该表明,大概等参谋到6.1小节时再反向阅读本作证,具体在6.第11中学会重新指向本步骤。

相似景况下,大家会参照他事他说加以考察官方网站来成功第二个互连网测量试验,在该在线文书档案中会让大家去下载三个fabric-samples,下载地址在github上,大家需求将其下载至地方是二个fabric-samples-release文件夹,将其改名字为fabric-samples随后上传至opt/gopath/src目录下。

服从官方网站提示试行的指令是无力回天运行起first-network那一个类型,该demo供给先下载 Platform-specific Binaries(特定的二进制文件),依据法定文档中的描述,需求西施行如下命令:

curl -sSL https://goo.gl/iX9dek | bash

上述命令会下载自动化计划脚本,同期也会下载平台湾特务定使用的二进制文件才cryptogen、configtxgen、configtxlator以及peer,把她们松开上述货仓的bin目录下。

平时执行上述命令并不可能下载,即正是能下载,速度也奇慢无比,故此,大家离线下载相关二进制文件来实施上述操作。

可以在

在官方网址给出的实施命令中并从未给出离线下载地址,且官方网址也绝非离线布置表达,大家能够在1.4.第22中学下载的fabric源码中找到下载地址,在/opt/gopath/src/github.com/hyperledger/fabric/scripts目录下有三个bootstrap-1.0.0.sh脚本文件,事实上假诺外网访问规格优厚的气象下,直接运转该脚本就能够下载所有所需的fabric镜像文件及法定钦点所需的二进制文件。

开辟bootstrap-1.0.0.sh(近年来新星版为1.0.0,以实际为准),找到当中对“Downloading platform binaries”的输骑行,近来所见是“echo "===> Downloading platform binaries"”,查看其针对性的下载地址,能够取得八个官方网站提供的离线下载网站,依据上下文意思及当前我们所使用的版本音讯,能够收获终极的离线下载文件地方,下载该文件到本地。

听新闻说官方网址的牵线,解压后会获得三个bin文件夹,将其解压至/opt/gopath/src/github.com/hyperledger/fabric-samples目录下就能够运维first-network等项目。

 

一、 安装GO语言情状

1. 下载GO1.10压缩文件(在 ~/ 目录下)

wget https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz

而是总会有时的产出互联网不可达的错误,假诺出现了这些漏洞非常多,

澳门新浦京娱乐场网站 1

能够用下边作者下载好的压缩包:

链接: https://pan.baidu.com/s/1RxISpz8WamHS3l6yYmfSlA 密码: 8pnm

就复制到当前文件夹中就行。
2. 解压并活动到/usr/local文件夹下

sudo tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz

3. 设置GOPATH情状变量
① 展开遭受变量配置文件:

vi ~/.profile

②在文件后边扩展上面代码:

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin

然后保留并退出
③重新载入意况文件

source ~/.profile

4. 测量检验GO是或不是安顿好
澳门新浦京娱乐场网站:区块链多机集群框架搭建实战记录,运行测试e2e。在命令行中输入

go version

借使出口:
go version go1.10 linux/amd64
则意味GO配置成功。

一、首先策画5台设想机:

(如下安装基于设备得以接连不断外网)

3.2、运行e2e_cli项目

进入到/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli目录下,文件结构如下图所示:

澳门新浦京娱乐场网站 2

network_澳门新浦京娱乐场网站:区块链多机集群框架搭建实战记录,运行测试e2e。setup.sh是一件测量检验脚本,该脚本运行5个docker容器,个中4个容器运转peer节点和1个容器运维orderer节点,它结合多少个法布里c集群。别的还应该有多少个cli容器用于奉行创造channel、到场channel、安装和进行chaincode等操作。测量试验用的chaincode定义了八个变量,在实例化的时候会给那五个变量赋予了起来值,并经过invoke操作能够使四个变量的值发生变化。

经过以下命令执行测试:

bash network_setup.sh up

接下去会有不计其数的调节和测量试验音讯,具体可参谋e2e_cli目录下的script/script.sh文件,当终端出现以下消息时,表明测量试验通过,所有部件不荒谬工作:

澳门新浦京娱乐场网站 3

其一命令能够在本机运行4 1的法布里c互联网并且举办测验,跑Example02那个ChainCode。我们能够旁观每一步的操作,最后确认单机未有毛病。确认大家的镜像醒感戏本都以例行的,大家就足以关闭Fabric网络,继续大家的多机法布里c互连网设置职业。关闭Fabric命令:

bash network_setup.sh down

 

二、安装docker

1. 用合法提供的脚本安装docker:

curl -sSL https://get.docker.com | sh

2. 把用户进入到docker组:

sudo usermod -aG docker XXX(你的用户名)

3. 撤回并再度登入,然后增多Ali云的Docker Hub镜像:

① sudo mkdir -p /etc/docker
② sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF
③ sudo systemctl daemon-reload
④ sudo systemctl restart docker

4. 检查:
输入:

docker version

要是出现如下边包车型客车则意味着成功:

澳门新浦京娱乐场网站 4

澳门新浦京娱乐场网站 5

(基于ubuntu)

3.3、e2e_cli与Linux内核bug

该法布里c互连网集群测量检验境况在Linux内核低版本上只怕会出现难题,那是旧版内核的bug,举例在实行bash network_setup.sh up的时候会产出如下错误:

澳门新浦京娱乐场网站 6

即进行chaincode开端化的时候报错,导致集群单机不能够运行。

缓慢解决方案,使用新型版稳固版的docker(小编写文书档案时的新颖牢固版为:17.06.0-ce),将Linux内核进级到新型版,笔者原先使用的Linux内核是3.10,现身了上述难点,前段时间作者利用的根本版本是4.12.5-1.e17,能够周密运维法布里c集群意况。

切实可以参见Can´t specify memory limit in docker run and docker compose

 

三、安装docker-compose

1. 安装Python-pip

sudo apt-get install python-pip

2. 安装docker-compose

curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose

3. 运动路线:

sudo mv ~/docker-compose /usr/local/bin/docker-compose

4. 增添权限:

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

5. 检查:
在命令行输入检查版本新闻命令:

docker-compose -version

当出现类似上面包车型地铁版本音讯则表示安装成功:

澳门新浦京娱乐场网站 7

上面的前几步都以在单机(peer0.org1.com节点的服务器上)上安排文件,配置好后会将文件相继复制到其余各自的节点上。

一、安装Docker、docker-compose等基础

四、法布里c源码下载

1. 创造安装路线并进入创造的门路:

① mkdir –p ~/go/src/github.com/hyperledger
② cd ~/go/src/github.com/hyperledger

2. 下载源码:

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

3. 切换来v1.0.0版本的源码:

① cd ~/go/src/github.com/hyperledger/fabric
② git checkout v1.0.0

在开始展览上边第二步事先,先要实践./network_setup.sh down关掉从前的单机安排。

1、Docker提议直接使用官方网站辅导进行流行版本的安装,链接:

*五、下载Docker镜像文件

1. 跻身fabric/scripts目录,并修改权限:

① cd ~/go/src/github.com/hyperledger/fabric/scripts/
② chmod x bootstrap-1.0.0.sh

2. 运转脚本下载Docker镜像文件:

./bootstrap-1.0.0.sh

3. 检查:
用查看镜像源指令:

docker images

尽管现身上面好像的状态则意味成功:

澳门新浦京娱乐场网站 8

二、生成公私钥、证书、创世区块等

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#upgrade-docker-ce

**六、测量试验网络

1. 改动当前地方文件夹:

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

2. 脚本down

sudo ./network_setup.sh down

(在配备意况时相遇很频仍荒谬,正是在底下的操作up脚本后边世的,其实先用down命令试行后这么些主题素材能消除,那么些手续不是必需的)
3. up脚本

sudo ./network_setup.sh up

当出现上边包车型地铁结果时则象征成功了:

澳门新浦京娱乐场网站 9

image.png

4. 模仿交易测量检验
笔者们重新展开二个极端窗口
①首先进入CLI

docker exec -it cli bash

②查询a账户的余额

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

③把a账户的余额再转20元给b账户

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'

若果出现下边包车型地铁情形 则意味着成功:

澳门新浦京娱乐场网站 10

④退出模拟
exit

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

./network_setup.sh down

公私钥和证件是用以Server和Server之间的贺州通讯,另外要开创Channel并让其余节点到场Channel就须要创世区块,那些不能缺少文件都得以多个发令生成,官方已经交给了剧本:

2、docker-compose也提议直接使用官方网址进行最新版本的装置,链接:

七、问题

若果上边那个经过都能得逞,则恭喜fabric景况安排好了,不过本身在ubuntu中央市直机关接会合世一个标题,正是进行试探:

澳门新浦京娱乐场网站 11

经过好心人的帮带本人毕竟消除了那几个难点:
该难点其实正是从未cryptogen文件引起的,那个题目毕竟是何地出错到明日都不知,在此处提供能力所能达到缓和这些难点办法,便是把外人有用的该文件放在不易的任务。
该公文笔者提供上面的百度云链接:

链接: https://pan.baidu.com/s/1wJ0zG_FH2poyhfFW4jqXHw 密码: 2u9j

把该文件解压到~/go/src/github.com/hyperledger/fabric/release/ 路线下边,然后从上边的六、测验网络初步再一次实施贰次,笔者就是那般消除这么些标题标。

./generateArtifacts.sh mychannel

https://docs.docker.com/compose/install/#install-compose

运行结果如下:

一旦链接失效之类的,能够直接从GITHUB的这一个链接下载二进制文件:

澳门新浦京娱乐场网站 12

https://github.com/docker/compose/releases

运作这么些命令后,系统会创建channel-artifacts文件夹,里面包涵了mychannel这一个通道相关的公文,其它还也许有二个crypto-config文件夹,里面富含了逐个节点的公私钥和证件的音信。

直白设置命令:

三、设置peer节点的docker-compose文件

sudo curl -L -s`-`uname -m` -o /usr/local/bin/docker-compose

e2e_cli中提供了八个yaml文件,我们能够根据docker-compose-cli.yaml文件创立(注意,这里的peer节点文件有4个,分别是peer0.org1, peer1.org1, peer0.org2, peer1.org2。后边会相继注明全部那4个节点的peer文件配置内容 ):

照旧直接下载二进制文件举行设置。

cp docker-compose-cli.yaml docker-compose-peer.yaml

澳门新浦京娱乐场网站,3、安装go环境

澳门新浦京娱乐场网站 13

wget

然后修改docker-compose-peer.yaml,去掉orderer的配置,只保留peer和cli,因为大家要多机安排,节点与节点在此之前又是经过主机名通信,所以必要修改容器中的host文件,也正是extra_hosts设置,修改后的peer(准确的来讲,这里的peer是peer0.org1节点,剩余的任何3个peer节点会在那些peer0.org1节点的铺排文件上再修改)配置如下:

sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

peer0.org1.example.com:

但借使链接不了,那么就自动上网下载相关软件,直接解压就能够。

container_name: peer0.org1.example.com

接下来设定相关的情况变量:

extends:

PATH、GOROOT、GOPATH

file: base/docker-compose-base.yaml

有关用户重新登陆

service: peer0.org1.example.com

二、下载和设置Hyperledger/法布里c

extra_hosts:

1、下载Hyperledger/Fabric的源码

- "orderer.example.com:192.168.121.141"

先制造用户。

cli:

mkdir –p ~/go/src/github.com/hyperledger

container_name: cli

cd ~/go/src/github.com/hyperledger

image: hyperledger/fabric-tools

git clonehttps://github.com/hyperledger/fabric.git

tty: true

git checkout v1.0.4 (不要选用新型代码,使用牢固版本就能够,不然只怕会招致前面步骤出错)

environment:

2、下载Hyperledger/Fabric的镜像

- GOPATH=/opt/gopath

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

- CORE_LOGGING_LEVEL=DEBUG

镜像的tag能够直接到docker的官英特网查看,比如peer的:

- CORE_PEER_ID=cli

https://store.docker.com/communityhyperledger/fabric-peer/tags

- CORE_PEER_ADDRESS=peer0.org1.example.com:7051

默许镜像在docker的官网络,由此那几个操作常常断开或许卡顿,现身时ctrl c端掉shellscript,然后重连直到镜像拉全体就能够。只怕直接从境内的种种网盘实行下载。

- CORE_PEER_LOCALMSPID=Org1MSP

一共8个镜像,分别是:peer、orderer、couchdb、ccenv、javaenv、kafka、tools、zookeeper

- CORE_PEER_TLS_ENABLED=true

镜像下载完成后,docker images命令的出口如下:

- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt

REPOSITORY                    TAG                IMAGE ID            CREATED            SIZE

- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key

hyperledger/fabric-ca          latest              8e691b3509bf        2 weeks ago        238MB

- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

hyperledger/fabric-ca          x86_64-1.0.4        8e691b3509bf        2 weeks ago        238MB

- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

hyperledger/fabric-tools      latest              6051774928a6        2 weeks ago        1.33GB

working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer

hyperledger/fabric-tools      x86_64-1.0.4        6051774928a6        2 weeks ago        1.33GB

volumes:

hyperledger/fabric-couchdb    latest              cf24b91dfeb1        2 weeks ago        1.5GB

- /var/run/:/host/var/run/

hyperledger/fabric-couchdb    x86_64-1.0.4        cf24b91dfeb1        2 weeks ago        1.5GB

- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go

hyperledger/fabric-kafka      latest              7a9d6f3c4a7c        2 weeks ago        1.29GB

- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/

hyperledger/fabric-kafka      x86_64-1.0.4        7a9d6f3c4a7c        2 weeks ago        1.29GB

- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/

hyperledger/fabric-zookeeper  latest              53c4a0d95fd4        2 weeks ago        1.3GB

- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts

hyperledger/fabric-zookeeper  x86_64-1.0.4        53c4a0d95fd4        2 weeks ago        1.3GB

depends_on:

hyperledger/fabric-orderer    latest              b17741e7b036        2 weeks ago        151MB

- peer0.org1.example.com

hyperledger/fabric-orderer    x86_64-1.0.4        b17741e7b036        2 weeks ago        151MB

extra_hosts:

hyperledger/fabric-peer        latest              1ce935adc397        2 weeks ago        154MB

- "orderer.example.com:192.168.121.141"

hyperledger/fabric-peer        x86_64-1.0.4        1ce935adc397        2 weeks ago        154MB

- "peer0.org1.example.com:192.168.121.142"

hyperledger/fabric-javaenv    latest              a517b70135c7        2 weeks ago        1.41GB

- "peer1.org1.example.com:192.168.121.143"

hyperledger/fabric-javaenv    x86_64-1.0.4        a517b70135c7        2 weeks ago        1.41GB

- "peer0.org2.example.com:192.168.121.144"

hyperledger/fabric-ccenv      latest              856061b1fed7        2 weeks ago        1.28GB

- "peer1.org2.example.com:192.168.121.145"

hyperledger/fabric-ccenv      x86_64-1.0.4        856061b1fed7        2 weeks ago        1.28GB

在单击格局下,4个peer会映射主机差别的端口,然而大家在多机安排的时候是无需映射分歧端口的,所以须求修改base/docker-compose-base.yaml文件,将持有peer的端口映射都改为同样的:

三、基本测验

ports:

1、先下载额外的镜像并搞好tag

- 7051:7051

docker pull hyperledger/fabric-baseos:x86_64-0.4.2

- 7052:7052

docker tag hyperledger/fabric-baseos:x86_64-0.4.2 hyperledger/fabric-baseos:latest

- 7053:7053

(实际测验脚本中要求那个镜像,记得下载。)

四、设置orderer节点的docker-compose文件

2、使用源码的焦点脚本运维和测量检验。

与创设peer的配置文件类似,大家也复制三个yaml文件出来举办更换:

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

cp docker-compose-cli.yaml docker-compose-orderer.yaml

./network_setup.sh up

orderer服务器上大家只要求保留order设置,其余peer和cli设置都能够去除。orderer能够不设置extra_hosts。配置文件结果如下:

指令完毕后最终彰显:

澳门新浦京娱乐场网站 14

澳门新浦京娱乐场网站 15

五、分发配置文件

那时能够ctrl c结束,运维docker ps能够看来运营的镜像如下:

日前4步的操作,大家都以在peer0.org1.com上做到的,接下去大家须要将那几个文件分发到此外4台服务器上。Linux之间的文件传输,大家能够利用scp命令。

澳门新浦京娱乐场网站 16

首先登场陆orderer.example.com,将本地的e2e_cli文件夹删除:

四、额外的手工业测量试验

rm e2e_cli –R

(在上述./network_setup up成果的基础上测量试验,不要运转./network_setup down等关闭命令。)

接下来再登陆到peer0.org1.com服务器上,退回到examples文件夹,因为如此能够一本万利的把其下的e2e_cli文件夹整个传到orderer服务器上。

(官方暗中同意的channel名为mychannel,链码名称为mycc)

scp -r e2e_cli fabric@10.51.120.220:/home/fabric/go/src/github.com/hyperledger/fabric/examples/

1、进入cli镜像

如上对于orderer.examples.com配置文件复制实现。上边依次再一次运转scp命令,复制到peer1.org1.example.com上,然后大家须要对docker-compose-peer.yaml做一个纤维修改,将起动的容器改为peer1.org1.example.com,并且加多peer0.org1.example.com的IP映射,对应的cli中也改成对peer1.org1.example.com的看重性。那是修改后的peer1.org1.example.com上的配备文件:

docker exec -it cli bash

version: '2'

2、查询a账户的余额

services:

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

peer1.org1.example.com:

澳门新浦京娱乐场网站 17

container_name: peer1.org1.example.com

3、从a账户转账20元到b账户

extends:

peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'

file: base/docker-compose-base.yaml

澳门新浦京娱乐场网站 18

service: peer1.org1.example.com

4、确认a账户的余额

extra_hosts:

澳门新浦京娱乐场网站 19

- "orderer.example.com:192.168.121.141"

至此Hyperledger 法布里c 1.0的情形营造完成,剩下的正是活动依据职业支付智能合约了。

- "peer0.org1.example.com:192.168.121.142"

cli:

container_name: cli

image: hyperledger/fabric-tools

tty: true

environment:

- GOPATH=/opt/gopath

- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

- CORE_LOGGING_LEVEL=DEBUG

- CORE_PEER_ID=cli

- CORE_PEER_ADDRESS=peer1.org1.example.com:7051

- CORE_PEER_LOCALMSPID=Org1MSP

- CORE_PEER_TLS_ENABLED=true

- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.crt

- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.key

- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt

- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer

volumes:

- /var/run/:/host/var/run/

- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go

- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/

- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/

- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts

depends_on:

- peer1.org1.example.com

extra_hosts:

- "orderer.example.com:192.168.121.141"

- "peer0.org1.example.com:192.168.121.142"

- "peer1.org1.example.com:192.168.121.143"

- "peer0.org2.example.com:192.168.121.144"

- "peer1.org2.example.com:192.168.121.145"

接下去继续选择scp命令将peer0.org1.com上的文本夹传送给peer0.org2.example.com和peer1.org2.example.com,然后也是修改一下docker-compose-peer.yaml文件,使得其运维相应的peer节点。

peer0.org2.example.com的docker-compose-peer.yaml配置文件:

version: '2'

services:

peer0.org2.example.com:

container_name: peer0.org2.example.com

extends:

file: base/docker-compose-base.yaml

service: peer0.org2.example.com

extra_hosts:

- "orderer.example.com:192.168.121.141"

- "peer0.org1.example.com:192.168.121.142"

cli:

container_name: cli

image: hyperledger/fabric-tools

tty: true

environment:

- GOPATH=/opt/gopath

- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

- CORE_LOGGING_LEVEL=DEBUG

- CORE_PEER_ID=cli

- CORE_PEER_ADDRESS=peer0.org2.example.com:7051

- CORE_PEER_LOCALMSPID=Org2MSP

- CORE_PEER_TLS_ENABLED=true

- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt

- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key

- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt

- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp

working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer

volumes:

- /var/run/:/host/var/run/

- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go

- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/

- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/

- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts

depends_on:

- peer0.org2.example.com

extra_hosts:

- "orderer.example.com:192.168.121.141"

- "peer0.org1.example.com:192.168.121.142"

- "peer1.org1.example.com:192.168.121.143"

- "peer0.org2.example.com:192.168.121.144"

- "peer1.org2.example.com:192.168.121.145"

peer0.org2.example.com的docker-compose-peer.yaml配置文件:

version: '2'

services:

peer1.org2.example.com:

container_name: peer1.org2.example.com

extends:

file: base/docker-compose-base.yaml

service: peer1.org2.example.com

extra_hosts:

- "orderer.example.com:192.168.121.141"

- "peer0.org1.example.com:192.168.121.142"

cli:

container_name: cli

image: hyperledger/fabric-tools

tty: true

environment:

- GOPATH=/opt/gopath

- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

- CORE_LOGGING_LEVEL=DEBUG

- CORE_PEER_ID=cli

- CORE_PEER_ADDRESS=peer1.org2.example.com:7051

- CORE_PEER_LOCALMSPID=Org2MSP

- CORE_PEER_TLS_ENABLED=true

- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.crt

- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.key

- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt

- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp

working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer

volumes:

- /var/run/:/host/var/run/

- ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go

- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/

- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/

- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts

depends_on:

- peer1.org2.example.com

extra_hosts:

- "orderer.example.com:192.168.121.141"

- "peer0.org1.example.com:192.168.121.142"

- "peer1.org1.example.com:192.168.121.143"

- "peer0.org2.example.com:192.168.121.144"

- "peer1.org2.example.com:192.168.121.145"

六、启动fabric

今日具有文件都已经希图甘休,能够运转法布里c互连网了。

6.1启动orderer

让大家先是来运行orderer节点,在orderer服务器上运维:docker-compose -f docker-compose-orderer.yaml up -d

运转完成后大家能够运用docker ps看到运转了一个名称叫orderer.example.com的节点。类似以下:

澳门新浦京娱乐场网站 20

6.2启动peer

下一场我们切换来peer0.org1.example.com服务器,运营本服务器的peer节点和cli,命令为:

docker-compose -f docker-compose-peer.yaml up -d

运行完成后大家运用docker ps应该能够看出4个正在运维的容器。

今昔大家凡事法布里c4 1服务器网络已经成型,接下去是成立channel和平运动行ChainCode。

6.3创建Channel测试ChainCode

大家切换成peer0.org1.example.com服务器上,使用该服务器上的cli来运作创造Channel和平运动作ChainCode的操作。首先进入cli容器:

docker exec -it cli bash

跻身容器后大家得以看出命令提醒变为:

root@b41e67d40583:/opt/gopath/src/github.com/hyperledger/fabric/peer#

表明咱们早就以root的身价进入到cli容器内部。官方已经提供了一体化的创建Channel和测量检验ChainCode的剧本,并且已经映射到cli容器内部,所以大家只需求在cli内运维如下命令:

./scripts/script.sh mychannel

那么该脚本就能够一步一步的成就创立通道,将别的节点参加通道,更新锚节点,创造ChainCode,初步化账户,查询,转账,再度询问等链上代码的顺序操作都得以自动化达成。直到最

后,系统提醒:

=============== All GOOD, End-2-End execution completed ================

表明大家的4 1的Fabric多级布置成功了。大家未来是 peer0.org1.example.com的cli容器内,我们也得以切换来peer0.org2.example.com服务器,运行docker ps命令,能够观望本来是2个容器的,未来早就化为了3个容器,因为ChainCode会创设叁个容器。

以上为fabric4 1多机陈设具有手续。

完。

本文由澳门新浦京娱乐场网站发布于www.146.net,转载请注明出处:澳门新浦京娱乐场网站:区块链多机集群框架搭