用Hyperledger cello的0.9.0-h3c分支建立一套區塊鏈系統

買賣虛擬貨幣

來源 | CSDN部落格

作者 |rtxie

責編 | Jerry

本文介紹用hyperledger cello的0.9.0-h3c分支建立一套區塊鏈系統的完整流程,希望對讀者有所幫助。

環境準備工作:需要準備一臺裝有ubuntu 16.04的主機,記憶體需要大一些,建議8G以上,提前安裝docker-ce和docker-compose。

接下來,使用如下命令獲取程式碼:

git clone https://github.com/hyperledger/cello -b release-0.9.0-h3c。

程式碼獲取成功後,編譯版本映象,直接進入程式碼目錄,執行make docker,執行成功後效果如下圖:

版本編譯完成後的檢視結果,使用docker images檢視編譯成功的docker映象:

然後執行make start,即可啟動cello,效果如下圖:

這時候可以透過docker ps命令檢視啟動的docker容器:

這個時候,就可以透過瀏覽器訪問cello的operator-dashboard管理介面了。

但是在此之前,需要開啟本機的2375埠,供建立主機使用,指令碼如下:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 0.0.0.0:2375:2375 bobrik/socat TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock

執行成功後,透過docker ps可以看到bobric/socat容器正在監聽2375埠:

需要提前在主機中安裝執行apt-getinstall nfs-common,以便能夠正常的mount nfs目錄,然後進入到script/worker_node目錄執行./setup.sh

此時cello已經安裝完畢,在瀏覽器中輸入:http://伺服器ip:8071即可啟動cello的operator-dashboard,介面效果如下圖:

預設使用者名稱和密碼是admin/pass

登陸後的介面如下:

這個時候,可以透過介面搭建區塊鏈網路了。

點選“主機管理”--〉“新增”,出現如下介面:

在“名稱”中輸入需要建立的主機名,比如“host”,在“服務地址”中輸入本機的ip地址:2375,其他選項預設,然後點選“提交”,成功後,效果如下:

點選“組織管理”-〉“新增”,分別建立一個peer組織和一個orderer組織,如下:

建立成功後的可以看到已經建立完成的組織列表,在組織列表中可以檢視組織詳情或者增加peer節點的數量:

點選網路管理->新建網路,建立一個區塊鏈網路

點選提交後效果如下:

等片刻後,在主機串列埠下透過docker ps命令可以看到peer/orderer/ca節點都已經啟動。

此時可以登陸cello的user-dashboard介面了,在瀏覽器導航欄輸入http://主機ip:8081,效果如下圖:

回到operator-dashboard管理介面,在“使用者管理”中找到建立組織的時候自動生成的組織使用者作為user-dashboard的登入使用者名稱,預設密碼是666666,登陸user-dashboard後的效果如下:

點選“通道管理”->“建立通道”,建立一個通道:

點選“提交”後,生成通道,這時可以看到已經生成的通道列表:

在剛剛建立的通道的“操作”選項點選“新增節點”,在組織中選擇想要的節點新增到通道中,如下:

點選“提交”,可以看到通道中的節點數量已經發生了變化:

點選“鏈碼管理”->"上傳鏈碼",選擇一個鏈碼壓縮包上傳,需要注意,鏈碼壓縮包需要連同所在目錄一塊壓縮成zip格式上傳,同時需要計算壓縮包的md5值

上傳成功後,點選“安裝”,把鏈碼安裝到通道的節點中,如下:

回到主機串列埠下,執行:

docker pull hyperledger/fabric-ccenv:1.4.2

然後執行:

docker tag fc0f502399a6 hyperledger/fabric-ccenv:latest

把映象的tag修改成latest:

點選“例項化鏈碼”,選擇例項化的通道,配置例項化引數,在“操作”中選擇“與”/“或”/“自定義”,可以選擇不同的背書策略,“與”和“或”的背書策略,系統已經預設設定,選擇“自定義”的時候,需要手工輸入背書策略。需要注意的是:每一個參與背書的節點,都必須安裝對應的鏈碼。

鏈碼例項化成功後,整個區塊鏈系統的搭建已經完成,此時可以驗證鏈碼的執行效果。

點選"通道管理"->“通道詳情”->"例項化鏈碼列表",選擇對應的鏈碼,然後輸入invoke或者query引數,即可驗證效果。

在圖上的示例中使用了fabric官方的example 02的例子,透過a給b轉帳的動作來演示鏈碼的執行效果。

原文連結:https://blog.csdn.net/rtxie/article/details/108866866

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;