更新時間:2024-04-15 09:22:45作者:佚名
《實戰(zhàn)(一)——快速搭建.0環(huán)境》一文中,在快速搭建網(wǎng)絡(luò)的過程中,使用了官方的腳本。 我們所做的只是運行一個 shell 腳本。 至于搭建網(wǎng)絡(luò)的步驟,我們就不知道了。
下面文章將簡單介紹一下網(wǎng)絡(luò)搭建的基本流程。 在此基礎(chǔ)上,我們重點介紹幾個重要的配置文件和工具。 全文結(jié)構(gòu)如下:
全文結(jié)構(gòu)前言
手動構(gòu)建對于我們了解網(wǎng)絡(luò)如何運行是非常有必要的。 我們下載網(wǎng)絡(luò)源碼后。 基本步驟包括本地編譯、生成相應(yīng)的配置文件、創(chuàng)建新通道、啟動訂單服務(wù)等,總的來說可以分為以下七個步驟:
圖 1 - 啟動網(wǎng)絡(luò)的七個步驟
準(zhǔn)備網(wǎng)絡(luò)中的各種配置文件
在網(wǎng)絡(luò)啟動之前,需要提前生成一些啟動配置文件。 主要包括:
各類文件的功能如下圖所示:
表1-各配置文件的功能
上面只是介紹了我們需要準(zhǔn)備的配置文件。 那么,這些文件應(yīng)該如何準(zhǔn)備呢?
當(dāng)然,我們不需要手動創(chuàng)建那么多配置文件。 我們要做的就是編寫依賴配置文件,即-.yaml和.yaml文件。 然后使用tools和根據(jù)上面兩個配置文件自動生成最左邊我們需要的配置文件。
如何理解文件的命名?
意味著加密。 -,即加密配置。 中,加密相關(guān)組件包括TLS、MSP等,因此-.yaml文件主要用于配置TLS、MSP等功能。
TX的英文縮寫為TX,意思是交易。 ,代表交易配置。 因此,交易相關(guān)的配置,如應(yīng)用通道、錨節(jié)點、服務(wù)等都在.tx文件中配置。
總結(jié):
在標(biāo)準(zhǔn)代碼開發(fā)過程中,一般對變量和文件命令都有一定的要求,才能達(dá)到理想的效果。 因此,在學(xué)習(xí)一些框架的過程中,我們最好了解一下每個變量和文件名的含義,這樣可以更好地幫助我們理解和消化知識點。 依賴配置文件-.yaml
如表1所示,-.yaml是MSP和TLS相關(guān)文件的依賴配置文件。 它在同一文件中定義兩個節(jié)點的 MSP。
該文件的主要功能:
-.yaml指定網(wǎng)絡(luò)拓?fù)洌饕▋刹糠帧?/p>
配置如下:
OrdererOrgs:
- Name: Orderer
Domain: example.com
Specs:
- Hostname: orderer
:排序節(jié)點的組織定義。 定義排序節(jié)點時,還定義了規(guī)范列表中該節(jié)點所需的節(jié)點名稱、節(jié)點域名、不帶域名的主機(jī)名。
:peer節(jié)點的組織定義有兩種寫法。
一種是在配置文件中編輯一組Specs規(guī)范條目。 每個規(guī)范條目由兩個字段組成: 和 。
PeerOrgs:
- Name: Org1
Domain: org1.example.com
EnableNodeOUs: true
Specs:
- Hostname: foo
CommonName: foo27.org5.example.com
- Hostname: bar
- Hostname: baz
表示組織中節(jié)點的主機(jī)名。 是一個可選參數(shù),可以覆蓋它來指定節(jié)點的名稱。 如果不指定,其節(jié)點默認(rèn)名稱為{{.}}.{{.}},即bar和baz的兩個節(jié)點文件目錄和域名分別為 和 。
另一種是官方配置文件中的寫法,使用模板來定義:
- Name: Org2
Domain: org2.alibaba.com
EnableNodeOUs: true
Template:
Count: 4
Users:
Count: 6
該配置文件中指定了組織名稱、域名和模板信息。 下面的Count是指組織下的組織節(jié)點的數(shù)量。 用戶是指組織中除管理員之外的用戶數(shù)量。 根據(jù)上述配置,生成的org2組織下的peer節(jié)點證書和用戶證書文件夾如下:
整理文件目錄
在 org2. 。 com/peers目錄下,有四個peer節(jié)點的配置文件:
對等目錄結(jié)構(gòu)
在 org2. 。 com/users目錄下,有一個admin用戶和6個User用戶:
users 目錄結(jié)構(gòu)取決于配置文件.yaml
.yaml 包含網(wǎng)絡(luò)的定義并給出網(wǎng)絡(luò)組件的拓?fù)洹?它還指示每個網(wǎng)絡(luò)實體的加密材料的存儲位置。 用于寫入用于配置系統(tǒng)通道的初始塊文件、創(chuàng)建新的應(yīng)用程序通道配置文件、錨節(jié)點配置更新交易文件等。
該文件的主要功能:
在正式進(jìn)入.yaml文件之前,需要快速學(xué)習(xí)Yaml的語法。 您可以參考:
.yaml文件中,主要由以下部分組成:
:可以在此處編碼不同配置的配置文件,將參數(shù)指定為工具的參數(shù)。 (這里可能有關(guān)于該工具的英文解釋。)
:定義不同的組織標(biāo)志,本節(jié)將引用這些標(biāo)志。
:定義排序服務(wù)的相關(guān)參數(shù),將用于創(chuàng)建創(chuàng)世塊。 (這是進(jìn)入或阻止)
:這部分定義了與交易配置相關(guān)的值,包括與創(chuàng)世塊相關(guān)的值。 (這將進(jìn)入 a 或 block for )
:這部分定義了與交易配置相關(guān)的值,包括與創(chuàng)世塊相關(guān)的值。 (這就是“to”或“block”。)
:這部分用戶定義了網(wǎng)絡(luò)的功能。
這六個部分中,第1部分主要指其余五個部分的參數(shù)。 通過調(diào)用參數(shù),可以生成特定的塊文件。 其中fabric是什么意思,配置參數(shù)如下:
Profiles:
TwoOrgsOrdererGenesis:
<<: *ChannelDefaults
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Capabilities:
<<: *OrdererCapabilities
Consortiums:
SampleConsortium:
Organizations:
- *Org1
- *Org2
TwoOrgsChannel:
Consortium: SampleConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org1
- *Org2
Capabilities:
<<: *ApplicationCapabilities
# 重復(fù)的內(nèi)容在YAML中可以使用&來完成錨點定義,使用*來完成錨點引用
配置中可以自定義s、、、、ies這五個字段,完成你搭建的聯(lián)盟鏈的相關(guān)名稱。
二進(jìn)制自動生成工具
提供了一系列輔助工具,包括(生成組織結(jié)構(gòu)和身份文件)、(生成配置塊和配置交易)、(解釋配置信息)等。
在準(zhǔn)備網(wǎng)絡(luò)中的各種配置文件的過程中,我們使用 和 來生成我們需要的配置文件。 這兩個工具需要我們在本地自動編譯生成。 生成步驟如下:
cd ~/go/src/github.com/hyperledger/fabric
make cryptogen
最后生成的工具會在這個目錄下:
build/bin/cryptogen
//以fabric為根目錄
同理,生成步驟如下:
cd ~/go/src/github.com/hyperledger/fabric
make configtxgen
最后生成的工具會在這個目錄下:
build/bin/configtxgen
//以fabric為根目錄
在上面兩步中,我們生成了 和 toolsfabric是什么意思,同時也有了 -.yaml 和 .yaml 文件。 接下來,我們使用它們來生成我們需要的各種配置文件:
例如,要生成我們需要的創(chuàng)世塊,我們可以使用以下命令:
cd examples/e2e_cli/
../../build/bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
這里的 s 在我們的 .yaml 文件中定義。 最后將生成的創(chuàng)世塊放入-目錄中。
要生成其他文件,您可以使用類似的命令。 具體步驟會在后面的實踐筆記中一一介紹。
使用介紹參見:
總結(jié)
通過這篇文章,我們了解了構(gòu)建過程中的兩個重要文件和兩個重要工具:
有了它們,我們可以生成構(gòu)建網(wǎng)絡(luò)的所有基本配置文件。 手動搭建網(wǎng)絡(luò)的主要基礎(chǔ)知識已經(jīng)介紹到這里了。 在接下來的一步一步的實際網(wǎng)絡(luò)搭建中,我們將把這些基礎(chǔ)知識聯(lián)系在一起,徹底了解網(wǎng)絡(luò)搭建過程。