KBaaS:金山雲釋出的區塊鏈雲服務平臺產品

買賣虛擬貨幣
KBaaS(Kingsoft Blockchain as a Service)是金山雲釋出的一款區塊鏈雲服務平臺產品,旨在幫助開發者快速構建區塊鏈基礎設施,提供區塊鏈應用開發、部署、測試和監控的整套解決方案。KBaaS堅持技術研發與自主創新,支援各類主流的聯盟鏈、公有鏈開發環境,包括Hyperledger Fabric、Zig-Ledger、Ethereum等,並將陸續支援EOS等底層區塊鏈開發環境。KBaaS為開發者提供了簡單易用的開發工具,開發者可以在視覺化的操作介面下完成區塊鏈的構建與操作,極大地降低了開發門檻,提高了開發效率。

產品功能

產品優勢

開放共贏
秉承開放共贏的設計原則,KBaaS支援各類主流的聯盟鏈、公有鏈開發環境,包括Hyperledger Fabric、Zig-Ledger、Ethereum,並將陸續支援EOS等。

簡單易用
KBaaS以開發者需求為導向,支援區塊鏈產品的免費試用,並提供簡單易用的開發者工具與服務,開發者可以在視覺化的操作介面下完成區塊鏈的構建與操作,極大地降低了開發門檻,提高了開發效率。

自主創新
KBaaS堅持技術研發與自主創新,提供基於Hyperledger Fabric 1.x自主研發的Zig-Ledger企業級聯盟鏈服務,並持續研究共識演算法、密碼學演算法、跨鏈互動、去中心化儲存等前沿技術,為開發者提供最先進的技術服務。

成熟可靠
KBaaS構建於Kubernetes、Docker之上,自身具備極高的可靠性和擴充套件性,為開發者提供成熟可靠的企業級區塊鏈基礎設施服務。

操作指南

Zig-Ledger

Zig-Ledger是基於Hyperledger Fabric 1.0基礎之上自主研發的商用級聯盟鏈底層及配套工具集。包括區塊鏈底層系統、SDK、瀏覽器、運維平臺等產品,在資產登記和流轉,共識機制,隱私保護,行為監管,跨鏈互動等方面做出許多重要改進,使之可覆蓋更豐富的企業或消費者場景。

Zig-Ledger的主要特點包括:

· 企業級分散式賬本:基於Hyperledger Fabric 1.0 標準自主研發的商用級聯盟鏈底層,適用於大規模企業級應用。
· 高效能:解耦複雜處理環節,消除計算處理瓶頸,實現商用級TPS,滿足企業長遠發展。
· 靈活的許可權管理:身份證書管理,支援多通道特性,提高資料安全性,為企業級應用提供底層許可權管理能力。
· 可擴充套件的系統架構:遵循外掛化設計風格,支援可插拔、可擴充套件的模組配置,包括共識、許可權、加解密、手續費等。
· 去中心化賬戶:新增去中心化的自主匿名賬戶模組,滿足大規模消費者場景下與區塊鏈互動的需求。
· 資產登記與流轉:新增數值通證、許可權通證等模組,新增Transfer Set記賬模型,為聯盟鏈環境中數字資產的登記和高併發流轉提供底層支援。

目前金山雲KBaaS服務為客戶提供了"免費試用版"

免費試用版適用於區塊鏈應用前期開發與除錯驗證 相關資源資源將在部署後168小時自動釋放,請勿將生產環境業務部署在"免費試用版"。

Zig -Ledg er環境構建-免費試用版

Zig-Ledger是基於Hyperledger Fabric 1.0基礎之上自主研發的商用級聯盟鏈底層,及配套工具集。包括區塊鏈底層系統、智慧合約、SDK、瀏覽器、運維平臺等產品,在共識機制、可擴充套件性、資產登記和流轉、許可權管理和隱私保護、跨鏈互動等方面做出許多重要改進,使之更適用於大規模企業級應用。

以下為您介紹在KBaaS中搭建Zig-Ledger環境並完成鏈碼操作的步驟:

1、環境構建

登入金山雲KBaaS控制檯,在【我的專案】點選"新增服務",進入服務建立流程,選擇區塊鏈配置。

舉例:區塊鏈名稱為“test”,共識演算法選擇“solo”,型別選擇“高階配置”,點選完成,建立成功,進入我的專案頁。
提示:試用版區塊鏈將在部署後168小時自動釋放。

2、專案控制檯

建立成功的Zig-Ledger將會在我的專案中以卡片形式顯示,點選卡片上“進入專案”可進入專案控制檯。

專案控制檯頁面左側導航欄展示了控制檯的功能:區塊鏈瀏覽器、鏈碼管理、API呼叫、賬戶、通證、日誌。

· 區塊鏈瀏覽器:展示區塊鏈賬本基本資訊,包括區塊資訊、交易資訊、合約數量等;
· 鏈碼管理:檢視區塊鏈鏈碼資訊,執行鏈碼(智慧合約)的安裝、例項化等操作;
· API呼叫:提供Restful API,支援視覺化呼叫並檢視呼叫結果;
· 賬戶:提供賬戶管理工具,支援賬戶的建立、刪除、檢視資產和資產轉賬等功能;
· 通證:區塊鏈通證資產檢視,支援自定義通證發行;
· 日誌:實時檢視區塊鏈各節點日誌。

3、賬戶與通證

Zig-Ledger在Hyperledger Fabric基礎上新增了賬戶和通證的功能。 為了便於使用者操作和理解,Zig-Ledger區塊鏈在初始化階段會預設建立1個賬戶並給這個賬戶發行1000億個ZIG Token。 ZIG Token是Zig-Ledger的原生Token,賬戶發起交易時需耗一定比例的ZIG Token作為手續費。

3.1、新增賬戶

進入“賬戶”模組,可以看到當前建立的全部賬戶,包括初始化生成的預設賬戶,記為賬戶1。 點選“新增賬戶”按鈕新增一個賬戶,此時頁面會有2個賬戶,新增的賬戶記為賬戶2。後文將針對賬戶1和賬戶2進行操作。

3.2、發行通證

進入“通證”模組,可以看到當前發行的全部通證資訊,包括初始化生成的原生通證ZIG。 點選“發行通證”,輸入通證名稱、個數、小數點個數,發行賬戶等資訊。 舉例,名稱:AToken;通證個數:100000000;小數點個數:3;賬戶:賬戶1。(以上資料代表實際發行通證數量為100000.000)


通證發行成功後進入“賬戶”模組,選擇賬戶1點選“資產”檢視當前賬戶地址下所有通證名稱及數量。可以發現賬戶1已經擁有ZIG和AToken兩種通證資產。

3.3、賬戶間通證轉賬

在賬戶1的通證資產頁面,點選ZIG通證的“轉賬”,輸入通證個數和轉賬地址。舉例,通證個數:5000.00;轉賬地址:賬戶2。 點選“確定”後稍等一段時間,轉賬交易被確認。同理,可將AToken進行轉賬操作,通證個數:5000.000;轉賬地址:賬戶2。 此時可在賬戶2的資產頁面,檢視其資產數額變化資訊。

目前,賬戶2已擁有ZIG和AToken兩種資產,在後文將繼續介紹賬戶2如何使用者兩種資產。

4、示例鏈碼演示

4. 1、鏈碼部署

“鏈碼管理”模組展示了該區塊鏈上已安裝或已部署的鏈碼,使用者可以在該模組中為區塊鏈安裝部署新的鏈碼。 在“鏈碼管理”模組中點選加號執行鏈碼安裝,在“合約中心”中選擇“資產掛單交易/asset”示例合約進行安裝。 “資產掛單交易/asset”示例合約支援註冊新使用者,使用者可以將資產以Token形式定價掛單,其他使用者可以透過指定Token進行資產購買。

安裝成功後,在“鏈碼管理”頁面會顯示該示例鏈碼。點選“部署”執行鏈碼例項化,無需填寫引數,點選提交,等待一段時間後,部署成功。

4.2、鏈碼呼叫

鏈碼部署成功後,進入“API呼叫”頁面,對剛部署成功的示例鏈碼進行API呼叫。 API呼叫介面展示了所提供的多種API,包括獲取鏈資訊、獲取區塊資訊、獲取交易資訊、鏈碼呼叫、賬戶和通證操作等等。鏈碼的呼叫方式包括Invoke和Query,分別對應“Invoke Chaincode”和“Query Chaincode”這兩個API。使用者可點選進入,填寫相關引數,執行呼叫並檢視反饋結果。

需要注意的是:在Zig-Ledger中透過Invoke方式呼叫合約時需要指定賬戶,每次進行Invoke操作時需要從ZIG賬戶中扣除一定額度的手續費,費用以當前已經傳送的交易位元組數來確定。以下繼續介紹“資產轉移合約”的示例操作步驟: 1) 新增使用者U1、使用者U2 建立U1,在“Invoke Chaincode”API中,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“addUser”,引數“U1”“15”,呼叫賬戶“賬戶1”,執行呼叫,獲得如下結果:

返回了交易TxHash,代表交易成功。 同理,繼續建立使用者U2,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“addUser”,引數“U2”“20”,呼叫賬戶“賬戶2”,執行呼叫,完成建立。

2)查詢使用者資訊 在“Query Chaincode”API中,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“queryUser”,引數“U1”,執行查詢,獲得如下結果:

返回了U1使用者的資訊,說明U1成功建立。 同理,在“Query Chaincode”API中,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“queryUser”,引數“U2”,執行查詢,返回U2資訊,U2成功建立。

3)新增資產-BO O K1 現在我們為U1新增1個掛單資產,該資產設定為一本書,名叫BOOK1,型別是BOOK,描述是Aguidebook,並定價2.00單位的AToken。 在“Invoke Chaincode”API中,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“addAsset”,引數“BOOK1”“BOOK”“A guidebook”“AToken”“200”“U1”(引數200包含了小數點,代表2.00個AToken),呼叫賬戶“賬戶1”,執行呼叫,獲得如下結果:

返回了交易TxHash,代表交易成功。

4)查詢資產-BO O K1 在“Query Chaincode”API中,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“readAsset”,引數“BOOK1”,執行查詢,獲得如下結果:

返回了BOOK1資產的資訊,資產成功建立,owner是U1。 同理,也可以使用函式“readAssetByRange”來查詢名稱在A-Z範圍內的所有資產。

5)U2購買資產BO O K1 在“Invoke Chaincode”API中,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“buyAsset”,引數“BOOK1”“U2”,呼叫賬戶“賬戶2”,執行呼叫,獲得如下結果:

6)查詢資產-BO O K1 在“Query Chaincode”API中,填寫鏈碼名稱“asset”,鏈碼版本“1.0”,鏈碼函式“readAsset”,引數“BOOK1”,執行查詢,獲得如下結果:

可以發現,BOOK1的owner已經變更為U2。

7)查詢賬戶的資產 在“賬戶”模組中查詢賬戶1和賬戶2的資產資訊,發現資產數量發生變化,賬戶2的AToken減少了2個,而賬戶1的AToken增加了2個,驗證之前的交易成功執行。

下表彙總了示例合約的操作流程:

4.3、完成呼叫

呼叫完成後,返回“區塊鏈瀏覽器”,發現此時區塊鏈資訊已經發生變化,區塊和交易數量有所增加。 點選可檢視剛才呼叫所產生的區塊和交易詳情。

4.4、Restf u l API呼叫

開發者可以透過視覺化的介面完成呼叫,也可以透過Restful API進行呼叫。Zig-Ledger構建服務提供了一系列Restful API用於幫助開發者快速構建區塊鏈應用,開發者在呼叫前需先獲取Token令牌來獲得呼叫許可權。

5、日誌檢視

進入“日誌”模組,檢視區塊鏈網路中節點的執行日誌。在Zig-Ledger的高階配置中,可以透過下拉選單選擇檢視CA節點、Orderer節點或Peer節點的日誌資訊。

6、釋放區塊鏈

當不需要此鏈時,進入“我的專案”,選擇該區塊鏈並點選“立即釋放”。

Hyperiger Fabric

Hyperiger Fabric是一個面向企業的分散式賬本平臺,具有高度的靈活性、模組化和可擴充套件效能。Zig-BaaS提供Hyperledger
Fabric網路的快速構建與按需配置,併為開發者提供區塊瀏覽器、鏈碼管理、API呼叫、日誌檢視等功能。

Hyp erledg er Fab ric環境構建

本文主要介紹在KBaaS控制檯中搭建Hyperledger Fabric環境(免費試用版)並完成鏈碼操作的步驟

1、環境構建

登入金山雲KBaaS控制檯,在【我的專案】點選"新增服務",進入服務建立流程,選擇區塊鏈配置。

舉例:區塊鏈名稱為“test”,共識演算法選擇”solo“,型別選擇“基礎配置”,點選完成,建立成功,進入我的專案頁。
提示:試用版區塊鏈將在部署後168小時自動釋放。

2、專案控制檯

建立成功的Hyperledger Fabric將會在我的專案中以卡片形式顯示,點選卡片上“進入專案”可進入專案控制檯。

專案控制檯頁面左側導航欄展示了控制檯的功能:區塊鏈瀏覽器、鏈碼管理、API呼叫、日誌。

· 區塊鏈瀏覽器:展示區塊鏈賬本基本資訊,包括區塊資訊、交易資訊、合約數量等;
· 鏈碼管理:檢視區塊鏈鏈碼資訊,執行鏈碼(智慧合約)的安裝、例項化等操作;
· API呼叫:提供Restful API,支援視覺化呼叫並檢視呼叫結果;
· 日誌:實時檢視區塊鏈各節點日誌。

3、示例鏈碼演示

3.1、鏈碼部署

“鏈碼管理”模組展示了該區塊鏈上已安裝或已部署的鏈碼,使用者可以在該模組中為區塊鏈安裝部署新的鏈碼。 在“鏈碼管理”中點選“安裝鏈碼”,在“合約中心”中選擇“資產轉移合約/trans”示例合約進行安裝

安裝成功後,在“鏈碼管理”頁面會顯示該示例鏈碼。點選“部署”執行鏈碼例項化,部署時需輸入引數:a,10,b,10,點選提交,等待一段時間後,部署成功。

3.2、鏈碼呼叫

鏈碼部署成功後,進入“API呼叫”頁面,對剛部署成功的示例鏈碼進行API呼叫。 API呼叫介面展示了所提供的多種API,包括獲取鏈資訊、獲取區塊資訊、獲取交易資訊、鏈碼呼叫等等。鏈碼的呼叫方式包括Invoke和Query,分別對應“InvokeChaincode”和“Query Chaincode”這兩個API。使用者可點選進入,填寫相關引數,執行呼叫並檢視反饋結果。

以下繼續介紹“資產轉移合約”的示例操作步驟:

1)查詢實體a、實體b的資產 在“Query Chaincode”API中,填寫鏈碼名稱“trans”,鏈碼版本“1.0”,鏈碼函式“query”,引數“a”,執行查詢,獲得如下結果:

代表a具有10單位的資產。

同理查詢實體b的資產,填寫鏈碼名稱“trans”,鏈碼版本“1.0”,鏈碼函式“query”,引數“b”,執行查詢。查詢得到實體b具有10單位的資產。 a、b的資產數量與部署時填寫的初始化引數相符。

2)從a向b轉移5個單位的資產 在“Invoke Chaincode”API中,填寫鏈碼名稱“trans”,鏈碼版本“1.0”,鏈碼函式“invoke”,引數“a”“b”“5”,執行查詢,獲得如下結果:

返回了交易TxHash,代表交易成功。

3)查詢實體a、實體b的資產 在“Query Chaincode”API中,填寫鏈碼名稱“trans”,鏈碼版本“1.0”,鏈碼函式“query”,引數“a”,執行查詢,獲得如下結果:

代表a具有5單位的資產,因為在上一步,a向b轉移了5單位的資產。 同理查詢實體b的資產,可以發現實體b擁有15單位的資產,資產轉移成功。

下表彙總了示例合約的操作流程:


3.3、完成呼叫

呼叫完成後,返回“區塊鏈瀏覽器”,發現此時區塊鏈資訊已經發生變化,區塊和交易數量有所增加。

點選可檢視剛才呼叫所產生的區塊和交易詳情。

3.4、Restf u l API呼叫

開發者可以透過視覺化的介面完成呼叫,也可以透過Restful API進行呼叫。Hyperledger Fabric構建服務提供了一系列Restful API用於幫助開發者快速構建區塊鏈應用,開發者在呼叫前需先獲取Token令牌來獲得呼叫許可權。Restful API介面詳見“API呼叫”模組。具體介面使用方法詳見 技術文件 - Hyperledger Fabric Restful API文件。

4、日誌檢視

進入“日誌”模組,檢視區塊鏈網路中節點的執行日誌。在Hyperledger Fabric的基礎配置中,可以透過下拉選單選擇檢視CA節點、Orderer節點或Peer節點的日誌資訊。

5、釋放區塊鏈

當不需要此鏈時,進入“我的專案”,選擇該區塊鏈並點選“立即釋放”。


Ethereum

以太坊(Ethereum)是一個基於智慧合約的分散式應用平臺。Zig-BaaS提供以太坊測試網路的快速接入功能,並提供基於Remix的IDE,開發者可以在平臺內上傳智慧合約、線上編輯,並完成編譯、部署和除錯。

Ethereum測試網路接入

1、測試網路接入

登入金山雲KBaaS控制檯,在【我的專案】點選"新增服務",進入服務建立流程,選擇需要接入的區塊鏈網路。 其中,Ropsten和Rinkeby是以太坊官方測試網路,採用不同的共識機制。Kovan是以太坊錢包Parity開發團隊發起的測試網路專案。

2、專案控制檯

建立成功的Ethereum將會在我的專案中以卡片形式顯示,點選卡片上“進入專案”可進入專案控制檯。

專案控制檯頁面左側導航欄展示了控制檯的功能:區塊鏈瀏覽器、合約IDE。

· 區塊鏈瀏覽器:展示區塊鏈賬本基本資訊,包括區塊資訊、交易資訊等;
· 合約IDE:基於Remix的智慧合約IDE工具,支援合約的線上編輯、編譯、部署和除錯等操作。

需注意:本服務提供公共的節點實現以太坊測試網路的接入,請勿將敏感資料和私人金鑰等資訊上傳至該公共節點,也不要使用測試網路環境搭建生產環境的商業應用。

3、智慧合約IDE

Remix是面向Solidity Dapp開發者的智慧合約線上IDE,整合了一系列套件工具,可以便捷地實現合約管理、編輯、部署和除錯。

KBaaS整合了一套Remix開發工具,並與所建立的測試網路相連通,開發者可以基於IDE進行合約開發並完成測試網路的部署和除錯。

Remix的更多資訊可以參考:https://remix.readthedocs.io/en/latest/

IPFS

IPFS全稱InterPlanetary File System,中文名:星際檔案系統,是一個旨在建立持久且分散式儲存和共享檔案的網路傳輸協議。 它是一種內容可定址的對等超媒體分發協議。在IPFS網路中的節點將構成一個分散式檔案系統。它是一個開放原始碼專案,自2014年開始由Protocol Labs (協議實驗室)在開源社羣的幫助下發展。其最初由Juan Benet設計。IPFS是點對點的超媒體協議,可以讓網路更快、更安全、更開放。它是一個面向全球的、點對點的分散式版本檔案系統,試圖將所有具有相同檔案系統的計算裝置連線在一起。

Zig-BaaS提供了IPFS公共網路接入,使用者可以透過共享的IPFS網路節點訪問網路。請注意:由於IPFS是一個公開的網路,且Zig-BaaS提供的是共享的IPFS節點,因此,請勿將重要或敏感的檔案資訊上傳。

IPFS網路接入

1、網路接入

登入金山雲KBaaS控制檯,在【我的專案】點選"新增服務",進入服務建立流程,選擇需要接入的區塊鏈網路-IPFS網路接入。

2、專案控制檯

建立成功的IPFS服務將會在我的專案中以卡片形式顯示,點選卡片上“進入專案”可進入專案控制檯。

專案控制檯頁面左側導航欄展示了控制檯的功能:節點資訊、網路連線、檔案上傳、檔案檢索。

· 節點資訊:IPFS接入節點資訊的視覺化展示;
· 網路連線:檢視IPFS網路連線狀態,節點連線數量等資訊;
· 檔案上傳:將檔案透過節點上傳至IPFS網路;
· 檔案檢索:透過節點檢索IPFS網路中的檔案。

3、IPFS應用開發

進行IPFS應用開發,需要對IPFS RESTful API 有一定程度的瞭解;可以使用IPFS提供的API介面進行應用開發,也可以使用JS-IPFS-API 呼叫PIFS服務。

IPFS RESTful API 資料:https://ipfs.io/docs/api/
JS-IPFS-API 資料:https://www.npmjs.com/package/ipfs-api

IPFS RESTf ul API 示例:

curl "http://localhost:5001/api/v0/dag/get?arg="

其中localhost需參考節點資訊中的節點IP,例如“106.14.182.200”。
JS-IPFS-API 示例:

const ipfsAPI = require('ipfs-api');
const ipfs = ipfsAPI({host: 'localhost', port: '5001', protocol: 'http'});
exports.get = (hash) =>{
return new Promise((resolve,reject)=>{
try{
ipfs.get(hash,function (err,files) {
if (err || typeof files == "undefined") {
reject(err);
}else{
resolve(files[0].content);
}
})
}catch (ex){
reject(ex);
}
});
}



免責聲明:

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

推荐阅读

;