1. 程式人生 > >fabric002 fabric的核心模組和命令

fabric002 fabric的核心模組和命令

我想學完fabric的幾個核心模組和功能就搭建一個最簡單的fabric網路吧,總之,我們一起努力,一起學習,看著官網,網上的教程試探性的學習,由於自己還有一年就是研究生了,壓力很大,學長很強。。。

一、fabric的五個核心模組

  1. peer:主節點模組,負責儲存區塊鏈資料,執行維護鏈碼
  2. orderer:交易打包,排序模組(為什麼要排序??)
  3. cryptogen:組織和證書生成模組
  4. configtxgen:區塊和交易生成模組
  5. 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 內容很多,有機會我補上,主要是不打想敲鍵盤了...