Hyperledger Fabric開發


打開Hyperledger Fabric在線開發文檔:https://hyperledger-fabric.readthedocs.io

建議在Mac或Linux環境下操作,因為文檔基本上是按照Mac或Linux下操作寫的,windows設置起來會更費事一些,以下操作都是在Mac下的:

第一步:構建系統運行環境

1.1 安裝cURL (cURL是利用URL語法在命令行方式下工作的開源文件傳輸工具。它被廣泛應用在Unix、多種Linux發行版中,並且有DOS和Win32、Win64下的移植版本。)

安裝前先用以下命令檢查一下Mac下是否已經安裝了curl,如果有輸出相關的版本信息說明是已經安裝了。

curl --version

如沒有安裝可用以下命令安裝;

brew install curl

 

1.2 安裝docker,Fabric的chaincode是運行在docker里的,可以從這里找到對於的系統版本然后下載: https://www.docker.com/community-edition#download

安裝好后在termianl檢查docker和docker-compose的版本,版本號需大於等於version 17.03.0-ce

docker --version
docker-compose --version

 

1.3 設定go path,先運行以下命令,檢查是否有設定go path

echo $GOPATH

如果沒有輸出則運行以下命令設定,設定好的go path為 ~/go

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

 

1.4 安裝node.js, https://nodejs.org/en/download/

保證版本在version 6.9之后

 

1.5 安裝node.js會自動安裝npm,保證版本大於3.10.10

 

第二步:getting start

2.1 在用戶目錄下建一個Hyperledger目錄,然后進入到這個目錄下

mkdir ~/Hyperledger
cd ~/Hyperledger

 

2.2 安裝Hyperledger Fabic和Docker image

目前Hyperledger Fabic最新版本是1.0.5,官方教程上會叫用戶執行下面命令來安裝

curl -sSL https://goo.gl/byy2Qj | bash -s 1.0.5

 

但是我試過幾次都是timeout,原因可能在於url用的是google短網址,國內被牆,那么改成下面的命令就可以了,如果要安裝特定版本只要修改下面命令行中的版本號即可

curl https://raw.githubusercontent.com/hyperledger/fabric/v1.0.5/scripts/bootstrap.sh | bash -s 1.0.5

 

安裝完成后在~/Hyperledger目錄下會生成一個bin目錄

 

命令行執行完后最終會列出docker image list (需要點時間,在這段時間里可以同步做2.3步驟)

 

后續也可以通過以下命令查看docker images

docker images

 

2.3 下載Hyperledger Fabic Samples

git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples

 

第三步:構建第一個Hyperledger Fabric網絡(參照官方文檔https://hyperledger-fabric.readthedocs.io/en/release/build_network.html)

3.1 在~/Hyperledger/fabric-samples目錄下有一個叫first-network的,就是我們用來構建第一個fabric網絡的示例代碼

 

3.2 把bin目錄下的內容全部拷貝到frist-network目錄中

 

3.3 在first-network目錄下有一個byfn.sh文件(byfn即是build your first network的首字母),是一些shell命令幫助我們創建第一個hyperledger fabric網絡。具體作用為利用Docker建立2家機構,4個節點,1個排序節點,並且將4個節點組成一個channel,實例化並執行chaincode。

 

3.4 用命令行進入到first-network目錄中

cd ~/Hyperledger/fabric-samples/first-network/

執行以下命令

./byfn.sh -m generate

 

將詢問是否安裝默認的配置設置channel名為mychannel,CLI timeout時間為10,回答y:

 

命令行執行結束后去first-network目錄下會看到多了一個crypto-config目錄,里面就包括網絡中機構和節點的配置信息,都是些認證文件,所以不要改變里面任何東西。

 

3.5 啟動網絡

./byfn.sh -m up

 

報錯了,重試了幾次,已經在社區發問,還沒解決。我已經是嚴格按照官方文檔來做的了,感覺是哪里有bug,暫時可以先玩在線的playground。

Shimingbookmini:first-network Shiming$ ./byfn.sh -m up
Starting with channel 'mychannel' and CLI timeout of '10'
Continue (y/n)? y
proceeding ...
Creating network "net_byfn" with the default driver
Pulling orderer.example.com (hyperledger/fabric-orderer:latest)...
ERROR: manifest for hyperledger/fabric-orderer:latest not found
ERROR !!!! Unable to start network
Error response from daemon: No such container: cli

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM