hyperledger fabric 通道增加组织,并使用新的组织create,new channel 的问题测试

        首先这不是一篇介绍fabric 的基础文章,所以需要读者对fabric 有一定的了解。由于篇幅有限这里就不在进行基础内容的说明。如果读者是初次学习fabric的相关知识,建议大家去IBM fabric 的官方网站去进行学习。这里列出fabric 1.4的链接。链接如下 

https://hyperledger-fabric.readthedocs.io/en/release-1.4

        这里简单介绍下我的学习思路。这里不得不吐槽下,去年年初刚接触fabric 的时候直接就去看源码的愚蠢。花时间收效还比较小。所以现在重新反思下学习fabric的思路,同时也希望给打算入坑的小伙伴有个前车之鉴。1.我们一定是需要把fabric的wiki通读一遍,即使你有很多的资料。或者说英文很烂的借口(我就是使用google边翻译边进行阅读的)。即使我做了fabric的相关开发工作一年以后再读依然有很多的收获。2.wiki上面的例子一定要尝试搭建一下。

        好这里就不在赘述了,我在阅读fabric的wiki 信息时,会根据假想场景来提出问题。这边blog 便是记录我在阅读文章时提出的问题,并且尝试解决问题过程中的记录。

问题:

1.当我们在已有的通道增加一个新的org3(注意是一个当通道已经创建后新建的一个org3)说到这里我想读者便知道这里是含有前置条件的,我们说在通道已经创建后这就说明org3,没有包含在genesis.block中。也就是说org3 不属于我们任何一个consortium。那么问题来了。在阅读orderer 源码的过程中我发现,当我们新建一个channel 时,新的channel包含的org必须也包含在genesis.block 的某个consortium中。那么问题便是是否可以在一个已经在链网络存在的channel中新增加一个org.

答案:这个问题的答案相对来说就很简单了,如果是阅读过fabric wiki的用户会知道,fabric 给我们提供了一个在已经创建的channel中增加organization 的例子。所以这个问题的答案是可以。

2.根据问题1我们衍生出一个新的问题,既然我们在channel中新增了一个org(为了下面的理解方便我们暂定这个新增的org为org3.)那么我们是否可以使用这个新增的org3,来创建一个新的channel。在问题1的时候我有提到过,我们新建channel时的org必须也包含在genesis.block 的某个consortium中。那么这时包含org3的channel是否可以创建成功。

答案:这个问题的答案是不能,当我尝试进行创建一个包含org3的channel时。会打印信息如下

root@99229b2403ba:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer channel create -o orderer.example.com:7050 -c mychannel2 -f ./channel-artifacts/channel3.tx --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 2019-05-07 06:51:47.485 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized

Error: got unexpected status: BAD_REQUEST -- Attempted to include a member which is not in the consortium。

我们可以看到报ERROR,说我们尝试加入一个不存在consortium 的member。

3.我们知道一个新建的org可以加入一个已经存在的channel,但是我们却不能使用它来创建一个新的channel,这样局限性就特别大,或者当org3想要join其他channel时,我们还需要进行组织加入通道的操作,会特别麻烦,这样从逻辑上也不通顺。所以我们提出一个新的可能,我们能否去修改genesis.block。在genesis.block 中将org3的相关信息加入进去。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值