基于Hyperledger Fabric的多节点部署

前言

由于公司最近想要调整区块链的架构,需要使用五个组织每个组织有一个节点,所以需要重新配置整个区块链网络。

搭建五组织区块链网络

由于需要搭建的区块链网络Fabric官网中没有给到相应的实例代码,需要我们自己来动手搭建,此博文用于记录此次的搭建过程,希望也可以帮助的同行友人。
区块链的环境搭建在之前的博文中有记载,此处不做过多介绍。
首先我们进入balance-transfer目录下:

cd ~/gopath/src/github.com/hyperledger/fabric-samples/balance-transfer/

修改配置文件
配置文件有几处需要我们修改,生成证书和公私钥的cryptogen.yaml文件、生成创世区块和管道等的配置文件configtx.yaml。
cryptogen.yaml文件:

cd artifacts/channel
order配置:
order配置
peer配置:
peer配置
../../../bin/cryptogen generate --config=./cryptogen.yaml
这个工具目录需要对应到你自己的安装位置。
系统返回:
系统返回

configtx.yaml文件:

profile配置:
profile配置
Organizations配置:(其他组织可以参考组织一)
Organizations配置
生成区块:
../../../bin/configtxgen -profile FiveOrgsOrdererGenesis -outputBlock ./genesis.block
生成Channel配置区块:
../../../bin/configtxgen -profile FiveOrgsChannel -outputCreateChannelTx ./mychannel.tx -channelID mychannel
锚节点的更新(记得要把五个组织的锚节点都更新):
../../../bin/configtxgen -profile FiveOrgsChannel -outputAnchorPeersUpdate ./Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP

docker-compose.yaml文件:

ca节点配置(参考ca1):
ca节点配置
order节点配置:
order节点配置
peer节点配置(参考peer0.org1):
peer节点配置

network-config.yaml文件:

channels配置(其他peer参考peer0.org1):
channels配置
organizations配置(其他peer参考peer0.org1):
organizations配置
order和peers配置(其他peer参考peer0.org1)
order和peers配置
认证中心配置(其他ca参考ca1):
认证中心配置

最后还有org1-5这几个组织的配置文件(参考org1):

org1配置文件:
org1配置文件

接下来还有一个没有的文件需要我们与ca节点的docker镜像进行映射,否则使用的是默认的文件,会导致整个网络的不可用。

不知道大家有没有发现在之前的docker-compose.yaml的ca节点配置中volumn下多了一行:
- ./fabric-ca-server-config.yaml:/etc/hyperledger/fabric-ca-server/fabric-ca-server-config.yaml
在ca的注册过程中有个联盟的概念,ca节点默认注册到department1当然还可以进行扩展。不过目前的需求我们统一注册到department1就可以啦。下面我把fabric-ca-server-config.yaml文件修改过配置的地方贴出来。(这个文件需要到进入相应的ca节点的docker容器中取出来)
fabric-ca-server-config.yaml

结语

至此五个组织五个peer的区块链网络已经搭建完成了,现在我们就可以使用起来啦。笔者在搭建的过程中也遇到了一些坑。不过最终还是搭建好了这个网络,此笔记中可能有记录的不足之处,还希望各位看官多多指正。

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页