(一) HyperLedger Fabric 网络构建过程分析

Hyperledger Fabric的架构原理还是比较容易理解的,而且现在看来是一个模块化非常好的私有链架构。用这个架构来做开发,目前来看可是要比国内某些大厂的区块链架构不知道强到哪里去了。

当然既然模块化很好,它的可定制化内容就比较多,启动配置也相对较多。这一阶段我们就自习看一下Fabric的网络配置和启动过程,来方便我们针对业务进行定制化实验。

1.创建证书

首先,使用cryptogen工具,根据crypto-config.yaml中的配置,来为每一个网络中的实体创建x.509格式的证书。

crypto-config.yaml中定义了每个网络实体的所属关系,以及Orderer,Peer的数量。

在示例中,Orderer的组织只有一个,其中有5个orderer节点。5个节点的Hosts,是用了Hostname来指定的。当然,我们也可以使用Template,直接指定节点个数N,让它以peer0到peerN-1的顺序自动生成Hosts。

Peer有Users的数量,这代表了除管理员以外的用户数。

然后就是创建 CCP(Common Connection Profile,通用连接配置文件)

CCP是给客户端用的,来方便它们了解网络情况。其主要目的就是描述网络中包含的节点,包含了各个网络节点的网络地址和设置。包含了Organization中的client配置,CA,Peer链接地址,tls通信证书等信息。具体用法可以看此链接

这里包含一个ccp-template.json文件和ccp-template.yaml的配置文件模板,修改每个Organization中的节点分布时,需要修改这个文件。

然后就是把证书重命名一下, 放到各Organization对应的目录中,方便管理和分发。

2.替换私钥

这一步就比较简单了,就是把CA节点的docker容器配置中,私钥路径给替换掉,也是根据docker-compose-e2e-template.yaml模板

3.创建Channel

开始构建网络了,主要分为3个步骤

1)创建orderer block

因为Hyperledger Fabric的区块是由Orderer来进行分发的,这个Orderer block就是在网络中创建Ordering服务用的。

2)创建channel configuration transaction

这个就是创建channel的时候,需要广播给Orderer的一个transaction

3)创建两个 anchor peer transaction

这个就是为channel中的每个Organization创建anchor的transaction

当然,到此为止只是准备工作,并没有真正的去运行我们的区块链网络。

具体来看的话,就是根据configtx.yaml来,使用configtxgen工具,来创建这些transactions。至于这个configtx.yaml就看起来比较麻烦了。但是其内部的结构还是比较清晰的。上面这一队Section乱七八糟的就是一些模板定义。他指定了Orderer、各Organization的读写策略,还有anchor peer的地址。各网络实体的兼容性,还有一些默认的Orderer、channel、Application的策略。具体而言,你想用的配置还是要在Profile下面定义的。比如我们想用Raft,那就定义一个配置,然后继承一些模板,修改一些定制化的内容。

详细来看每一步。

1)使用configtxgen,指定你在configtx.yaml中配置的Profile,指定Channel ID,指定orderer block的输出目录。

2)然后我们再创建Channel的配置transaction,指定你在configtx.yaml中配置的Channel Profile,指定Channel ID,指定transaction输出路径

3)最后我们再创建Channel的配置transaction,指定你在configtx.yaml中配置的Channel Profile,和Organization Profile,指定Channel ID,指定transaction输出路径。其中,Organization Profile指定了MSP的定义的目录和Anchor Peer的地址。

 

到此为止,准备工作就完事了,下一步就是创建docker容器,启动网络的工作了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值