第十一章 九析帶你輕鬆完爆 hyperledger fabric - 創建聯盟

本系列文章:


第一章:九析帶你完爆 hyperledger fabric - 快速上手 basic-network 樣例

第二章:九析帶你完爆 hyperledger fabric - 快速搭建 GO 環境

第三章:九析帶你完爆 hyperledger fabric - 快速上手 first-network 樣例

第四章:九析帶你完爆 hyperledger fabric - 系統邏輯架構篇

第五章:九析帶你完爆 hyperledger fabirc - 網絡節點介紹

第六章:  九析帶你輕鬆完爆 hyperledger fabric - 區塊和區塊鏈介紹

第七章:  九析帶你輕鬆完爆 hyperledger fabric - 區塊鏈防篡改機制

第八章:九析帶你輕鬆完爆 hyperledger fabric - Couchdb 安裝

第九章:九析帶你輕鬆完爆 hyperledger fabric - NVM 和 Nodejs 安裝

第十章:九析帶你輕鬆完爆 hyperledger fabric - chaincode 生命週期介紹

第十一章: 九析帶你輕鬆完爆 hyperledger fabric - 創建聯盟

第十二章: 九析帶你輕鬆完爆 hyperledger fabric - configtxlator 嚐鮮

目錄

1 前言

2 聯盟、通道和組織關係

    2.1 查看聯盟、組織信息

3 創建聯盟


1 前言

        衆所周知,歐盟誕生於 1991 年 12 月,初始成員國有 6 個:德國、法國、意大利、荷蘭、比利時和盧森堡。目前該成員國已經擁有 27 個會員國,平時這些會員國通過歐盟理事會進行磋商,解決政治、經濟問題。

        在 fabric 中,一個區塊鏈網絡就是一個聯盟(歐盟)、這個聯盟由多個組織(27 個會員國)所組成、聯盟間各組織通信被限制在通道(歐盟理事會)中進行,這就是爲什麼經常稱 fabric 聯盟鏈的原因。

        在 fabric 中,可以共存多個區塊鏈網絡,就像一個企業的網絡可以由多個不同的子網(網段)構成,而每一個區塊鏈網絡(子網)便是一個聯盟。


2 聯盟、通道和組織關係

        聯盟跟組織的關係是一對多,即:一個聯盟由一個或者多個組織所構成。

        聯盟跟通道的關係是一對一,即:一個聯盟只對應一個通道。聯盟和通道是你中有我,我中有你的共存關係,聯盟的所有配置也都是記錄在通道的配置區塊中。

        所以當你想用 fabric 創建一個區塊鏈網絡,其中就需要包括如下操作:創建聯盟、創建組織、組織加入聯盟、創建通道、組織加入通道等操作。

2.1 查看聯盟、組織信息

        進入 fabric-sample 下面的 first-network 樣例,打開 configtx.yaml 文件,文件內容如下:image1.png

        Consortiums 就是聯盟聲明,這裏聲明瞭一個 SampleConsortium 的聯盟,該聯盟下面有 Org1 和 Org2 兩個組織:image2.png

        組織信息包括了組織的名稱、組織 ID、MSPDir 以及組織的主節點信息(Host 和 Port)。需要注意的是,一個組織可以有多個節點(即:多個 docker 容器),就像一個公司有多個部門一樣。


3 創建聯盟

        進入 fabric-sample 下 first-network 用例,然後執行如下語句:

configtxgen -profile TwoOrgsOrdererGenesis -channelID jiuxi-channel -outputBlock ./channel-artifacts/jiuxi-channel.block

        上面命令的作用就是創建包含聯盟以及指定通道的創世區塊,其中 TwoOrgsOrdererGenesis 配置來自於 configtx.yaml 文件,命令執行結果如下:image3.png

        報錯的原因在於缺少證書文件,因此需要首先創建好相關節點互相通信的數字證書,執行如下命令創建:

cryptogen generate --config=./crypto-config.yaml

        配置文件 crypto-config.yaml 文件中定義了組織的節點信息(包括節點名稱、節點域名、節點模版和節點用戶)。執行結果如下所示:image4.png

        程序執行成功後會在當前目錄下創建 crypto-config 目錄。該目錄下就是不同節點安全通信的數字證書。證書生成後,再次執行創建聯盟區塊的命令,執行成功後截圖如下:image5.png

        創世區塊所在目錄文件在 channel-artifacts 下,如圖:image6.png

        自此,九析帶你輕鬆完爆手動創建聯盟的操作。

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