免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
詳解區(qū)塊鏈服務——部署區(qū)塊鏈

部署區(qū)塊鏈服務  

步驟1:資源準備

為了更穩(wěn)定的運行區(qū)塊鏈服務需準備2臺8u16g機器來進行服務的部署。注冊并登陸華為云賬號,進入華為云管理控制臺, 選擇計算/云容器引擎服務(見圖2)。

點擊創(chuàng)建Kubernetes集群按鈕,進入創(chuàng)建虛擬機的界面,在集群名稱輸入框中命名集群的名字,按需選擇自己要使用的配置(可以采用默認配置)并點擊下一步按鈕進入圖3界面。

在圖3的界面上選擇2臺8核16GB內(nèi)存的機器,在彈性IP欄點擊現(xiàn)在購買彈性IP,公網(wǎng)彈性IP主要用于對公網(wǎng)發(fā)布BCS代理的訪問地址。在云容器引擎左側(cè)導航條中點擊資源管理/虛擬機集群如圖4,查看集群列表中剛創(chuàng)建的集群狀態(tài)是否購買成功。

圖2  云容器引擎服務總覽

圖3  選擇節(jié)點機器規(guī)格

圖4  集群信息列表

步驟2:部署服務


在云管理控制臺點擊區(qū)塊鏈服務進入如圖5的區(qū)塊鏈服務頁面, 點擊該頁面右上角的“購買區(qū)塊鏈服務”的按鈕進入圖6。

圖5 區(qū)塊鏈服務總覽

在圖6的區(qū)塊鏈服務購買頁面中填寫區(qū)塊鏈服務名稱,選擇步驟1中創(chuàng)建的容器集群。在該示例中我們創(chuàng)建了兩個節(jié)點組織testorg和developerorg,并為每個組織分配兩個peer節(jié)點;選擇快速拜占庭容錯共識策略,基于拜占庭容錯共識節(jié)點的最小數(shù)量為4,即3f+1,f=1;選擇ECDSA簽名算法的成員證書分發(fā)機制;配置鏈碼管理Portal的登錄密碼。

圖6  購買區(qū)塊鏈服務

區(qū)塊鏈節(jié)點的通道配置如圖7所示, 我們創(chuàng)建一個通道命名為testchannel, 把之前創(chuàng)建的組織testorg和developerorg加入該通道。完成如上配置之后, 點擊下一步瀏覽該服務的概要信息,最后提交訂單完成服務的訂購和配置過程如圖8。

圖7  區(qū)塊鏈節(jié)點的通道配置

圖8  區(qū)塊鏈服務訂單詳情

點擊左側(cè)導航條的服務管理進入服務狀態(tài)查詢頁面,等待數(shù)分鐘后查看所部署的服務狀態(tài)如圖9所示, 該服務進入成功運行狀態(tài)。

圖9  區(qū)塊鏈服務運行界面

開發(fā)鏈碼  

鏈碼也稱為智能合約,實質(zhì)上是控制區(qū)塊鏈網(wǎng)絡中的不同實體或相關方相互交易的業(yè)務邏輯。簡言之,鏈碼將業(yè)務網(wǎng)絡交易封裝在代碼中,可以調(diào)用鏈碼來設置和獲取賬本,即區(qū)塊數(shù)據(jù)或世界狀態(tài)(world state)。

步驟1:示例場景說明

該示例場景使用區(qū)塊鏈來追蹤研發(fā)團隊內(nèi)的某產(chǎn)品的測試數(shù)據(jù),通過查詢某個產(chǎn)品或者服務一段時間內(nèi)的測試用例結(jié)果, 進而分析產(chǎn)品的功能狀態(tài)。開發(fā)人員可以查詢到失敗用例是哪些、集中在產(chǎn)品的哪些模塊,還可以根據(jù)測試人員的名字,聯(lián)系測試人員快速定位問題;測試管理者能根據(jù)不同測試人員的測試用例,發(fā)現(xiàn)問題的多少和模塊的穩(wěn)定程度;測試人員在系統(tǒng)中記錄測試結(jié)果,其他參與方可以查詢測試結(jié)果。該示例場景的基本功能說明如下。鏈碼的交互流程如圖10。

1、 測試管理者manager創(chuàng)建項目和模塊;

2、 測試管理者manager根據(jù)項目名稱、模塊添加測試用例、創(chuàng)建人和創(chuàng)建時間;

3、測試人員tester根據(jù)測試用例添加測試結(jié)果、測試時間、測試人員和備注;

4、測試人員tester、測試管理者manager、開發(fā)人員developer可以根據(jù)項目名稱、模塊查詢測試用例;根據(jù)測試用例查詢測試結(jié)果、時間、測試人員和備注。

圖10 線下APP和鏈碼的簡單交互流程圖

步驟2:編寫鏈碼

鏈碼開發(fā)人員可從'github.com/hyperledger/fabric/core/chaincode/shim' 模塊查看鏈碼的接口,需實現(xiàn)init和invoke接口。shim模塊中的接口定義如下:

在定義好整個代碼的保存目錄結(jié)構后,開發(fā)人員需將'github.com/hyperledger/fabric/core/chaincode/shim' 加入到方法引用。

對于有需要初始化處理的數(shù)據(jù),可以在初始化函數(shù)init中編寫并在鏈碼實例化的過程中進行。這里我們定義了一個示例即初始化項目名稱,代碼實現(xiàn)如下:

接下來開始定義內(nèi)部邏輯的啟用函數(shù)invoke。首先通過接口中的內(nèi)置方法GetFunctionAndParameters()來獲取傳入的函數(shù)別名和參數(shù),通過switch case或if  else條件語句把之前分析的各個用戶角色可以調(diào)用的方法起個別名,然后和內(nèi)部的真實方法做好一一對應關系,并將接口對象和相應調(diào)用參數(shù)傳入對應的方法。

具體的用戶能夠訪問哪個方法的權限邏輯控制可由上層的應用app實現(xiàn),鏈碼主要完成對數(shù)據(jù)的存儲和查詢的邏輯。Invoke 鏈碼示例如下:


完成invoke函數(shù)后我們需要給這個go文件定義好它的入口main函數(shù),通過fabric shim包中的Start方法來啟動我們定義的全局智能合約,保證鏈碼可以被正確的調(diào)用,示例如下:

這樣我們鏈碼的基本代碼架構就搭建好了,開發(fā)人員可繼續(xù)填充每個方法內(nèi)的邏輯,即別名所對應的真實方法的實現(xiàn)。我們以創(chuàng)建測試用例和查詢測試用例為示例說明。


● 創(chuàng)建測試用例以項目名稱、模塊名稱及測試用例名稱構成復合主鍵,然后為它創(chuàng)建一個索引,再將創(chuàng)建好的索引存入鏈中。這樣查詢的時候就可以使用不同的組合查詢方式查詢真實需要的結(jié)果。

● 查詢測試用例通過部分匹配復合主鍵將具有相同的項目名稱和模塊名稱的值查詢出來,然后通過迭代器將鍵值中的測試用例名稱截取出來存成一個列表,對其進行json序列化并作為查詢結(jié)果返回給上層App。上層App需要對查詢的數(shù)值進行反序列化即可拿到整個用例名稱的列表,根據(jù)其他需要查詢具體用例結(jié)果。

步驟3:安裝部署鏈碼

鏈碼編寫完成之后我們需要把鏈碼部署到fabric集群環(huán)境中。華為云區(qū)塊鏈服務提供了可視化的鏈碼生命周期管理工具。在區(qū)塊鏈服務的管理控制臺上點擊服務列表后面的鏈碼管理鏈接,打開圖11中的鏈碼管理登陸頁面,輸入默認的用戶名admin和用戶創(chuàng)建服務時所設置的密碼,登陸鏈碼管理平臺對鏈碼進行相應的操作。

圖11  鏈碼管理登陸界面

登陸后用戶可選擇在哪個組織的哪個節(jié)點peer上安裝鏈代碼。如圖12所示我們選擇在testorg的peer-1節(jié)點安裝鏈代碼。點擊右上角的安裝鏈碼按鈕,需要填寫鏈碼名稱、版本號以及為了保證完整性的信息摘要,最后上傳一個圖13所示的鏈碼zip格式的壓縮文件。

圖12  鏈碼管理界面

圖13   鏈碼安裝界面


鏈碼的zip壓縮包和壓縮包的摘要信息計算如圖14和15所示。

圖14   鏈碼壓縮包

圖15   鏈碼壓縮包摘要信息

鏈碼使用之前需要先實例化,安裝成功以后我們在鏈碼的操作按鈕列中可以看到圖16實例化按鈕已經(jīng)處于激活狀態(tài)。點擊實例化按鈕,選擇鏈碼背書策略,輸入鏈碼的函數(shù)名、init方法的參數(shù)如上述示例中的項目名稱testproject、選擇要實例化的通道如testchannel,然后點擊確定按鈕,觸發(fā)鏈碼的實例化。實例化結(jié)束后可在如圖17的界面上查詢鏈碼狀態(tài),在testchannel上可以查看鏈碼是否已經(jīng)實例化成功。

圖16  鏈碼激活狀態(tài)界面

圖17  鏈碼實例化成功界面

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入了解KUnit:Linux內(nèi)核新一代單元測試工具
用例設計規(guī)范示例
python單元測試unittest
自動化測試09 - 單元測試框架unittest
你不知道的Python特性,其實可以解決很多問題!
INDIRECT函數(shù)介紹及實例
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服