基于cryptogen的账号管理体系

cryptogen模块是创建Fabric账号的方式之一(参考Fabric账本创始块的生成)。本节中主要讨论cryptogen的局限性。

前面我们了解到cryptogen模块可以通过配置文件生成Fabric运行所需要的相关账号文件,在配置文件中可以指定每个组织包含的用户数和节点数,然后cryptogen模块会根据配置文件的定义生成相应数目的配置文件。但是细心的读者可能会发现一个问题,如果系统发生变化需要引入新的组织,或者组织中需要增加新的账号和用户,这个该如何处理呢?

cryptogen模块开发者们显然已经考虑到这个问题,通过一个配合可以部分解决这些问题。首先通过cryptogen模块的子命令showtemplate显示默认的模板,默认模板内容如下所示:

blob.png

blob.png

在配置文件中PeerOrgs节点Template子节点中有个属性Count,Count表示当前组织包含Peer节点的数目,同时也会生成相应数目的配置文件。在6.2.1节列举的例子中我们给组织Org1设置的Peer节点数为4,那么cryptogen模块根据配置文件会给组织Org1生成4个Peer节点所有需要的账号。进入组织Org1的账号文件夹中,执行tree-L 2命令内容显示如下:

blob.png

blob.png

通过上面内容可以发现,一共生成了4个Peer节点账号文件,这些文件夹的命名是有规则的,peer+索引为前缀+域名。所以前缀的值为0到Count值-1。这里有一个start属性没有赋值,start属性就是继续添加Peer节点使用的。Start用来表示生成Peer节点账号文件的文件夹命名的前缀,默认是0。如果需要增加新的节点,可以给Start属性赋值上一次的count。如果需要给组织Org1新增加3个Peer节点,可以使用下面的配置:

blob.png

通过上面的配置文件,cryptogen模块可以给组织Org1新增加三个Peer节点的配置文件,我们重新回到组织Org1的账号文件目录中,再次执行命令tree-L 2,显示如下:

blob.png

blob.png

这里成功地添加了三个Peer节点的配置文件,但是细心的读者可能会发现还有一个问题没有解决,那就是如果需要动态地增加用户账号该怎么办呢?目前最新的Fabric版本中并没有提供相关的功能。其实通过上面的例子读者可以发现,即使是增加Peer节点的过程也是比较麻烦的,那有没有一个办法能让增加节点和用户账号的方法简单一点呢?当然是有的,下后面我们将介绍hyperledger项目组中专门为解决Fabric账号问题而发起的项目Fabric-ca

868区块链学习网为您整理《基于cryptogen的账号管理体系》仅供参考。