來源 | 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