開源進展 | WeBASE釋出lab版,助力一鍵部署FISCO BCOS v3.0

FISCO_BCOS發表於2022-05-26

WeBASE(WeBank Blockchain Application Software Extension)是在區塊鏈應用和FISCO BCOS底層之間搭建的一套通用元件,圍繞交易、合約、金鑰管理、資料、視覺化管理來設計各個模組,遮蔽了區塊鏈底層的複雜度,從而極大降低研發門檻,提速區塊鏈應用開發效率。

對FISCO BCOS最新發布的 v3.0(還未了解FISCO BCOS v3.0的夥伴,戳這裡看詳情),WeBASE團隊協同FISCO BCOS開源社群,緊鑼密鼓開展適配工作,研發WeBASE lab版,以便開發者高效部署和管理FISCO BCOS v3.0。目前,WeBASE lab已取得階段性進展,現正式面向社群釋出使用,歡迎大家star並積極體驗。

一言以蔽之,WeBASE lab提供與FISCO BCOS v3.0相匹配的鏈上資料概覽、合約IDE、交易管理、私鑰管理等運維管理功能,並提供最新的快速部署工具。我們期望通過WeBASE lab,使用者可以一鍵部署FISCO BCOS v3.0,並在視覺化的Web管理臺中管理智慧合約,發起交易與鏈互動。

需要提請大家注意的是,WeBASE lab的主要作用,在於方便使用者對FISCO BCOS v3.0進行運維管理,WeBASE既有的1.x版本(適用FISCO BCOS 2.x版本)也會持續更新迭代,永久維護。使用WeBASE時,大家可以通過以下任一方式檢視當前使用的版本資訊,以更好地完成部署工作:

  • 檢視部署WeBASE時輸出的版本資訊
  • 檢視WeBASE原始碼中的release_note
  • 檢視安裝包中的release_note

接下來,我們一起來看看WeBASE lab的功能介紹吧!

適配FISCO BCOS v3.0新特性

圍繞FISCO BCOS v3.0中的新特性,WeBASE lab當前完成適配的功能點列舉如下:

  • 節點列表不再顯示PBFT View,以節點的Timeout狀態及出塊是否超時,來判斷節點是否正常;
  • 節點列表設定共識節點時,增加節點權重值設定;
  • 更新WeBASE合約倉庫中的CRUD Table合約為KVTable合約;
  • WeBASE-Front節點前置服務可連線多個機構內節點,在FISCO BCOS v3.0“專業Pro版”中,適配多個RPC節點的模式,並不再限制同機部署或僅連線單個節點;

合約IDE支援struct入參;struct在合約編譯時會轉換為Tuple[],即Tuple陣列型別。輸入struct入參時,我們需要用方括號[]將引數括起來。舉個例子,在下文的HelloWorld合約中,set方法入參為自定義的struct型別 Item ,當 Item 的入引數據為 a=1,b="test" 時,在WeBASE合約IDE中輸入的引數值應為 [1,"test"] ,並額外用一個方括號將引數括起來。

注:struct入參需要在合約IDE中使用0.6.10的solidity,獲取struct型別的資料時,返回值應返回struct中的內容,而不直接返回struct本身,如下文中的get方法所示。

pragma solidity ^0.6.10;
pragma experimental ABIEncoderV2;
struct Item {
  uint256 a;  // 整型
  string b;  // 字串
}
contract HelloWorld {
    Item item;
    function set(Item memory i) public {
        item = i;
    }
    function get() public view returns (uint256 a, string memory b) {
        return (item.a, item.b);
    }
}

支援一鍵部署FISCO BCOS v3.0“輕便Air版”的鏈

在WeBASE lab一鍵部署配置檔案common.properties中,填寫好WeBASE和FISCO BCOS的配置後,輸入一行python命令,即可一鍵完成FISCO BCOS v3.0“輕便Air版”的鏈和WeBASE lab的部署。

注:本次更新屬於WeBASE lab中的 WeBASE lab-rc1 版,與 FISCO BCOS v3.0.0-rc1 版本相容,因此一鍵部署中填入的版本號如下所示:

WeBASE子系統的最新版本(lab或以上版本)

webase.web.version=lab-rc1
webase.mgr.version=lab-rc1
webase.sign.version=lab-rc1
webase.front.version=lab-rc1

...

Fisco-bcos version(v3.0.0 or above)

fisco.version=v3.0.0-rc1

部署完成後,WeBASE的詳細版本號將可輸出。部署後的服務狀態檢查與使用方法可以參考文末提供的WeBASE的線上文件。

目前一鍵部署僅可部署FISCO BCOS v3.0“輕便Air版”的鏈節點。該版中,一條鏈只有單個群組,如果需要使用多群組的鏈,則需要使用FISCO BCOS v3.0“專業Pro版”。

支援多群組鏈管理

在FISCO BCOS v3.0“專業Pro版”中,單個鏈節點包含了多個微服務,如RPC服務、Gateway服務和節點服務等。在此基礎上,“專業Pro版”的鏈可以包含多個群組,且多個群組可以是國密或非國密,不再限制單鏈的多個群組必須是同一種加密型別。

因此,在“專業Pro版”的鏈下,WeBASE lab切換群組時,可根據鏈型別自動切換為國密或非國密的加密型別,以支援相對應的合約編譯、合約解析等功能。

此外,當我們需要在WeBASE lab中管理“專業Pro版”的鏈時,可使用WeBASE企業級部署的方法,逐個安裝WeBASE的子服務來實現,並在WeBASE-Front節點前置服務連線鏈節點,將節點前置新增到WeBASE管理臺中,隨後可對“專業Pro版”的鏈進行管理。

WeBASE lab通過節點前置服務訪問鏈節點微服務中的RPC服務。節點前置服務不再限制同機部署,不再要求僅連線單個節點,而推薦連線多個同機構的RPC節點,可方便準確獲取鏈節點的資料。

在後續更新中,WeBASE lab將持續支援FISCO BCOS v3.0的更多功能。歡迎社群使用者向WeBASE提出需求或反饋建議,一同優化WeBASE lab的功能體驗。

即刻使用

上述優化及功能所涉及的最新程式碼和技術文件已同步更新,位於WeBASE程式碼倉庫的【lab】分支。

本次更新屬於WeBASE lab中的 WeBASE lab-rc1 版,與FISCO BCOS v3.0.0-rc1 版本相容,歡迎體驗和star支援。

如需諮詢技術問題,歡迎本公眾號對話方塊回覆【小助手】進技術交流群。

WeBASE 程式碼倉庫:
https://github.com/WeBankBloc...
WeBASE 程式碼倉庫國內映象:
https://gitee.com/WeBank/WeBA...
WeBASE 技術文件:
https://webasedoc.readthedocs...
WeBASE 技術文件國內映象:
https://osp-1257653870.cos.ap...

首次體驗WeBASE,可參考一鍵部署文件:
https://webasedoc.readthedocs...

向我們報告問題,歡迎提交issue:
https://github.com/WeBankFinT...

瞭解更多幹貨內容,請關注FISCO BCOS開源社群公眾號,訪問FISCO BCOS程式碼倉庫可下載專案所有原始碼:https://github.com/FISCO-BCOS...歡迎點選頁面右上角star收藏,獲取最新版本。

相關文章