fabric002 fabric的核心模組和命令
我想學完fabric的幾個核心模組和功能就搭建一個最簡單的fabric網路吧,總之,我們一起努力,一起學習,看著官網,網上的教程試探性的學習,由於自己還有一年就是研究生了,壓力很大,學長很強。。。
一、fabric的五個核心模組
- peer:主節點模組,負責儲存區塊鏈資料,執行維護鏈碼
- orderer:交易打包,排序模組(為什麼要排序??)
- cryptogen:組織和證書生成模組
- configtxgen:區塊和交易生成模組
- configtxlator:區塊和交易解析模組
其中1和2是系統的模組,今後需要參與系統的執行,啟動之後會以守護程序的方式在系統後臺長期執行;
345是工具模組,所以可以看到他們生成一些證書檔案,區塊鏈創世塊,建立通道等相關檔案和證書的工作;
二、fabric模組的相關命令
由於現在沒有視覺化介面給我們操作,我們需要記住一些命令列程式碼,你就把fabric想象成一個IDE,中間的一些按鈕需要你去用命令列去操作,這樣是不是fabric也沒有那麼難了呢....
配置方式的大小關係:環境變數 > 配置檔案 > 命令選項
如果你想使用下面的命令~-~,我這裡多說一句,你需要配置環境變數
cp $GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin/* /use/local/bin
sudo chmod -R 775 /usr/local/bin/configtxgen
sudo chmod -R 775 /usr/local/bin/configtxlator
sudo chmod -R 775 /usr/local/bin/cryptogen
sudo chmod -R 775 /usr/local/bin/peer
sudo chmod -R 775 /usr/local/bin/orderer
cryptogen模組
用來生成組織結構和賬號相關的檔案------------------------> 所以任何fabric系統的開發都是從cryptogen模組開始的,當系統設計完之後第一項工作是根據系統開發來編寫cryptogen的配置檔案,然後通過這些配置檔案生成一系列的證書,可謂是整個fabric的
基石cryptogen --help 顯示模組的命令列選項
- help : 顯示幫助資訊
- generate:根據配置檔案生成證書資訊
- showtemplate:顯示系統預設cryptogen模組配置檔案資訊
- version:顯示當前模組的版本號
cryptogen模組的配置檔案:
cryptogen模組的配置檔案用來描述需要生成的證書檔案的特性,比如:有多少個組織,有多少個節點,需要多少個賬號等,這裡我們通過一個模組的配置檔案來初步瞭解結構:
https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/crypto-config.yaml
通過cryptogen模組的配置檔案生成配置資訊
舉例:自己建立一個/opt/hyperledger/fabricconfig的空資料夾,自己寫一個yaml檔案然後
cryptogen generate --config=/opt/hyperledger/fabricconfig/crypto-config.yaml
--output /opt/hyperledger/fabricconfig/crypto-config
configtxgen模組
- asOrg:所屬的組織
- channelID:channel名字,如果沒有系統會提供一個預設值
- inspectBlock:打印製定區塊檔案中的配置內容
- inspectChannelCreateTx:列印建立通道的交易的配置檔案
- outputAnchorPeersUpdate:更新channel配置資訊
- outputBlock:輸出區塊檔案的路徑
- outputCreateChannelTx:標示輸出創世塊檔案
- profile:配置檔案的節點
- version:輸出版本資訊
configtxgen的配置檔案configtx.yaml,以下是五大配置資訊
- Profile:配置檔案,不同的配置檔案可以在這裡進行編碼,以指定configtxgen工具的引數
- Organizations:組織節點資訊,定義了不同組織的標誌,這些標誌將在稍後的配置中被引用
- Orderer:啟動模式,定義了將編碼轉換為配置事物的值,或者用於orderer相關引數的創世紀塊
- Application:應用,定義了將編碼轉換為配置事務的值,或者用於應用程式相關引數的創世紀塊
- Capablities:功能特性集合
configtxgen模組
- start:啟動configtxlator REST伺服器 ,兩個引數 一個--hostname 一個port
- version:顯示版本資訊
REST服務提供了四種功能分別是:解碼,編碼,計算配置更新量,交易打包這四種功能,太麻煩舉例了.............................
configtxgen模組
- start* 啟動orderer節點
- show version information
- benchmark 採用基準本模式執行
- version 顯示版本資訊
peer模組
- chaincode chaincode相關操作 | install | instantiate | invoke | package | query | signpackage | upgrade | list
- channel channel相關操作 | create | fetch | join | list | update
- logging log-level | getlevel | setlevel | revertlevels
- node 啟動peer節點伺服器
- version 顯示版本資訊
其實peer 和 orderer 內容很多,有機會我補上,主要是不打想敲鍵盤了...