搭建fabric1.0的開發環境+e2e_cli例子的運行

環境說明:

     vmware workstation 12   

    ubuntu 16   desktop版本的

    windows10   

   

    下面我將一步一步的進行操作搭建起fabric的開發環境,可以運行簡單的例子程序。第一步是將需要的工具安裝上,前提ubuntu可以上網。爲了避免訪問github.com等網站被牆,需要提前給ubuntu設置好網絡代理,前提主機可以用工具進行翻牆。

如何設置網絡代理:參考https://www.atgfw.org/2015/04/0.html

需要的工具安裝

   git:

        先執行以下: apt-get update, 然後直接執行apt install git進行安裝。

   golang:

        參考:http://www.linuxdiyf.com/linux/24581.html

        我的配置:

        export GOROOT="/usr/local/go"                    //這個是你的golang解壓後的路徑
        export GOBIN=$GOROOT/bin
        export GOPATH=/opt/gopath                          //這個目錄後面自己會創建出來,不要忘了在該目錄下建立bin, src, pkg三個目錄
        export PATH=$PATH:$GOBIN

   curl:

        參考:http://www.linuxidc.com/Linux/2014-11/109910.htm

   docker:

       直接執行集成腳本:curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

       然後執行run測試一下,如下圖所示:

      

   pip:

      執行:apt install python-pip

   docker-composer:

      參考:https://yeasy.gitbooks.io/docker_practice/content/compose/install.html

      執行:sudo pip install -U docker-compose

      可以執行:docker-compose --version檢查一下是否安裝成功,如下圖所示:

     

   node.js:

      (建議創建一個目錄專門存放需要下載的壓縮包)

      在該目錄下執行:wget https://nodejs.org/download/release/v6.9.5/node-v6.9.5-linux-x64.tar.gz

      然後進行解壓:tar -zxvf node-v6.9.5-linux-x64.tar.gz

      然後進入到該解壓包的bin/下,可以看到一個node的執行文件,執行./node -v可以看到版本號:6.9.5

      對配置文件.bashrc進行設置:vim ~/.bashrc 

      在PATH變量後面加上一個冒號和你的該node執行文件的路徑,如下圖所示:(保存退出)

    

     然後執行:

               source ~/.bashrc

     可以檢查一下是否安裝成功了:

    

     

   佈置環境:

   1:下載代碼

        創建一個放項目的目錄:mkdir -p /opt/gopath/src/github.com/hyperledger    (很多資料和腳本都會自動去找這個目錄,建議這樣創建)
        進入該目錄:cd /opt/gopath/src/github.com/hyperledger/
        下載代碼:git clone http://gerrit.hyperledger.org/r/fabric

          或者:     git clone https://git.oschina.net/mellymeng/fabric.git

        這是目錄下回多一個文件夾fabric,進去就是fabric項目了。

        

  2:下載鏡像

         可以使用腳本進行自動下載:

           curl -sSL https://goo.gl/iX9dek | bash

        如果你報端口443拒絕連接可以參考一下我的解決方法,比較傻瓜式的:

       

    其中prepare文件中將https://goo.gl/iX9dek網頁上面的腳本內容拷貝進去,保存。

    這個腳本文件會把平臺需要的二進制文件下載下來(多一個bin目錄), 而來會把需要的鏡像都下載下來。(需要等待一些時間)

    

    下載鏡像會比較的慢,請用阿里加速器,我之前有寫這方面博客(http://blog.csdn.net/mellymengyan/article/details/77323691),或者百度一下。

    鏡像下載以後:

   

     並且會多一個bin目錄,下面是需要的二進制執行文件:

    

    下面編輯一下配置文件~/.bashrc將該bin目錄加上:

    

    

   編譯代碼:

      執行make docker命令,一直到success。

       (中間會出現各種各樣的問題,可以參考我的前面的文章,看看有沒有幫助:http://blog.csdn.net/mellymengyan/article/details/77529747)  

   

    運行e2e_cli例子(自動):

       進入到fabric目錄中,執行:git checkout v1.0.0, 將版本1.0確認一下。

        進入examples/e2e_cli中,執行:source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0, 將所有需要的鏡像全部下載下來,latest版本,最終將會看到如下:       

 

        在e2e_cli中,有自動啓動,關閉網絡的腳本,並且在腳本中設置了自動執行測試的腳本,測試中用到了example02  chaincode例子。接下來執行

./network_setup.sh up 命令啓動fabric網絡。啓動過程中主要分爲兩個過程:

       1:進行相關的部署和準備工作:

       

    2:執行測試腳本,部署example02例子並執行:

    最後出現這個畫面,說明所有的測試都是正常的,成功的!

   

      

  運行e2e_cli例子(手動):

       我們可以直接在上面fabric網絡啓動起來,並跑完測試例子的基礎上進行手動測試:

       執行docker ps,查看當前的容器狀態:

       

    上面三個dev開頭的容器是三個鏈碼容器,一個fabric-tools充當客戶端cli, 4個fabric-peer, 一個fabric-order提供節點共識服務。

    接下里我們執行:docker exec -it cli bash  進入cli容器,進行操作測試:  

    首先,在example02上面已經對a進行了初始化,所以我們不用再初始化了,直接進行查詢:

    peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

   

   查詢結果爲90, 說明a現在有90元。

   下面我們做一個交易,a向b轉賬20元。

   peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'

   

       然後再查詢a: peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

      

   發現A還剩70了,說明是正確的。通過exit來退出該容器。

   至此,例子和環境都成功了。最後執行./network_setup.sh down, 進行網絡的關閉和清理。

   

發佈了27 篇原創文章 · 獲贊 27 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章