開源進展 | WeBASE發(fā)布lab版,助力一鍵部署FISCO BCOS v3.0
WeBASE(WeBank Blockchain Application Software Extension)是在區(qū)塊鏈應用和FISCO BCOS底層之間搭建的一套通用組件,圍繞交易、合約、密鑰管理、數(shù)據(jù)、可視化管理來設計各個模塊,屏蔽了區(qū)塊鏈底層的復雜度,從而極大降低研發(fā)門檻,提速區(qū)塊鏈應用開發(fā)效率。
針對FISCO BCOS最新發(fā)布的 v3.0(還未了解FISCO BCOS v3.0的伙伴,戳這里看詳情),WeBASE團隊協(xié)同F(xiàn)ISCO BCOS開源社區(qū),緊鑼密鼓開展適配工作,研發(fā)WeBASE lab版,以便開發(fā)者高效部署和管理FISCO BCOS v3.0。目前,WeBASE lab已取得階段性進展,現(xiàn)正式面向社區(qū)發(fā)布使用,歡迎大家star并積極體驗。
一言以蔽之,WeBASE lab提供與FISCO BCOS v3.0相匹配的鏈上數(shù)據(jù)概覽、合約IDE、交易管理、私鑰管理等運維管理功能,并提供最新的快速部署工具。我們期望通過WeBASE lab,用戶可以一鍵部署FISCO BCOS v3.0,并在可視化的Web管理臺中管理智能合約,發(fā)起交易與鏈交互。
查看部署WeBASE時輸出的版本信息 查看WeBASE源碼中的release_note 查看安裝包中的release_note
接下來,我們一起來看看WeBASE lab的功能介紹吧!
適配FISCO BCOS v3.0新特性
節(jié)點列表不再顯示PBFT View,以節(jié)點的Timeout狀態(tài)及出塊是否超時,來判斷節(jié)點是否正常; 節(jié)點列表設置共識節(jié)點時,增加節(jié)點權(quán)重值設置; 更新WeBASE合約倉庫中的CRUD Table合約為KVTable合約; WeBASE-Front節(jié)點前置服務可連接多個機構(gòu)內(nèi)節(jié)點,在FISCO BCOS v3.0“專業(yè)Pro版”中,適配多個RPC節(jié)點的模式,并不再限制同機部署或僅連接單個節(jié)點; 合約IDE支持struct入?yún)ⅲ籹truct在合約編譯時會轉(zhuǎn)換為Tuple[],即Tuple數(shù)組類型。輸入struct入?yún)r,我們需要用方括號[]將參數(shù)括起來。舉個例子,在下文的HelloWorld合約中,set方法入?yún)樽远x的struct類型 Item ,當 Item 的入?yún)?shù)據(jù)為 a=1,b="test" 時,在WeBASE合約IDE中輸入的參數(shù)值應為 [1,"test"] ,并額外用一個方括號將參數(shù)括起來。 注:struct入?yún)⑿枰诤霞sIDE中使用0.6.10的solidity,獲取struct類型的數(shù)據(jù)時,返回值應返回struct中的內(nèi)容,而不直接返回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子系統(tǒng)的最新版本(lab或以上版本)webase.web.version=lab-rc1webase.mgr.version=lab-rc1webase.sign.version=lab-rc1webase.front.version=lab-rc1...# Fisco-bcos version(v3.0.0 or above)fisco.version=v3.0.0-rc1
部署完成后,WeBASE的詳細版本號將可輸出。部署后的服務狀態(tài)檢查與使用方法可以參考文末提供的WeBASE的在線文檔。

目前一鍵部署僅可部署FISCO BCOS v3.0“輕便Air版”的鏈節(jié)點。該版中,一條鏈只有單個群組,如果需要使用多群組的鏈,則需要使用FISCO BCOS v3.0“專業(yè)Pro版”。
支持多群組鏈管理
在FISCO BCOS v3.0“專業(yè)Pro版”中,單個鏈節(jié)點包含了多個微服務,如RPC服務、Gateway服務和節(jié)點服務等。在此基礎上,“專業(yè)Pro版”的鏈可以包含多個群組,且多個群組可以是國密或非國密,不再限制單鏈的多個群組必須是同一種加密類型。

因此,在“專業(yè)Pro版”的鏈下,WeBASE lab切換群組時,可根據(jù)鏈類型自動切換為國密或非國密的加密類型,以支持相對應的合約編譯、合約解析等功能。
此外,當我們需要在WeBASE lab中管理“專業(yè)Pro版”的鏈時,可使用WeBASE企業(yè)級部署的方法,逐個安裝WeBASE的子服務來實現(xiàn),并在WeBASE-Front節(jié)點前置服務連接鏈節(jié)點,將節(jié)點前置添加到WeBASE管理臺中,隨后可對“專業(yè)Pro版”的鏈進行管理。
WeBASE lab通過節(jié)點前置服務訪問鏈節(jié)點微服務中的RPC服務。節(jié)點前置服務不再限制同機部署,不再要求僅連接單個節(jié)點,而推薦連接多個同機構(gòu)的RPC節(jié)點,可方便準確獲取鏈節(jié)點的數(shù)據(jù)。
在后續(xù)更新中,WeBASE lab將持續(xù)支持FISCO BCOS v3.0的更多功能。歡迎社區(qū)用戶向WeBASE提出需求或反饋建議,一同優(yōu)化WeBASE lab的功能體驗。
即刻使用
上述優(yōu)化及功能所涉及的最新代碼和技術(shù)文檔已同步更新,位于WeBASE代碼倉庫的【lab】分支。
本次更新屬于WeBASE lab中的 WeBASE lab-rc1 版,與FISCO BCOS v3.0.0-rc1 版本兼容,歡迎體驗和star支持。
如需咨詢技術(shù)問題,歡迎本公眾號對話框回復【小助手】進技術(shù)交流群。

