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的相關信息加入進去。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章