開源進展 | 區塊鏈中間件平臺WeBASE v1.3.1發佈

WeBASE是一個體驗友好、功能豐富的區塊鏈中間件平臺,通過一系列通用功能組件和實用工具,助力開發者快速搭建區塊鏈應用的基礎環境,提供可視化合約IDE和一站式聯盟鏈管理臺。

上一個版本,WeBASE對鏈上事件通知、私鑰託管和交易上鍊等功能進行優化。結合社區開發者的反饋與底層FISCO BCOS的新增特性,我們在WeBASE v1.3.1中新增了動態羣組管理、合約ABI導入、合約ABI解析、節點流量日誌解析等功能;同時,控制檯與節點前置的私鑰也可以導入到WeBASE了。

目前,WeBASE v1.3.1已正式發佈。本文帶大家概括性地認識本次更新的關鍵特性,歡迎大家積極體驗新版本,並將開發心得和建議反饋給我們。

動態羣組管理

在過去的版本中,用戶在各節點之間創建新羣組時,需要到節點的部署機器上執行多個腳本與命令,纔可以創建一個新的羣組。用戶能否更方便地對節點和羣組進行運維和管理呢?WeBASE v1.3.1 給出了答案。

WeBASE v1.3.1 支持創建、啓動、停止等動態羣組管理功能,同時支持增、刪、查、改等動態羣組成員管理功能。

羣組管理入口圖示

羣組管理頁圖示

小改變,大便利!如今,用戶在WeBASE管理臺中,爲聯盟鏈一個新區塊鏈應用創建羣組時,只需要像“拉聊天羣”一樣,在頁面選中多個節(好)點(友),輸入配(羣)置(名)即可“拉羣成功”。

節點與羣組圖示

合約ABI導入

多機構共建聯盟鏈應用時,經常會遇到這樣的需求:區塊鏈合約可能由某一個機構獨立完成,而大家都需要調用此合約。

例如,機構A在自己的WeBASE中完成合約的編輯、編譯、部署之後,機構B也需要調用這個合約,這個時候,機構B想要機構A提供合約原文,但是機構A又不想暴露具體的合約代碼實現。

這個需求WeBASE v1.3.1安排上了!WeBASE v1.3.1加入合約ABI導入功能,這樣一來,機構A就可以在不暴露合約代碼實現的基礎上,提供合約地址和合約ABI給機構B。機構B導入相應ABI和合約地址後,就可以像普通合約一樣調用其方法了。

合約ABI導入圖示

合約ABI編碼器

智能合約的ABI(Application Binary Interface)實際上是智能合約的二進制接口標準,它定義了一個編碼協議,不同語言都可以遵守這個協議編碼合約交易。

隨着社區的發展壯大,用戶需求日漸多元。其中,我們發現不少用戶想擁有自己熟悉語言的SDK。事實上,有些用戶已經開始動手構建這樣的SDK。但是開發過程中,用戶反饋遇到了交易編碼規則繁複、沒有趁手ABI編碼工具可以參照等困難。

WeBASE v1.3.1召喚了ABI編碼器,讓用戶可以可視化地觀察整個ABI編碼過程。下面,我們導入一個 HelloWorld.sol合約的ABI,以此瞭解ABI編碼器的各個功能。

合約ABI編碼器圖示

從上圖的ABI窗口中可以看到 HelloWorld 合約的 set(uint256) 方法,下方則是解析之後得到ABI中包含了 set 這個方法,輸入 set 方法的入參爲 0x123 後,可以看到下方的輸出窗口出現了 set 方法的簽名 0x8311131 ,而入參則是補全到32位的十六進制的 123

希望這個功能可以幫助到社區的這部分用戶,也歡迎大家向社區貢獻更好的方法。

私鑰導入功能

隨着FISCO BCOS開源社區的蓬勃發展,底層FISCO BCOS配套使用的工具越來越多,有FISCO BCOS console、WeBASE、Buildchain等等。這些工具的產生爲應用構建帶來極大便利,但同時也有用戶反饋,這些平臺中的私鑰賬號格式不一,賬號不能兼容。

WeBASE v1.3.1提供多種私鑰格式導入功能,讓FISCO BCOS console和Buildchain等工具的私鑰賬號能夠導入,方便跨平臺的私鑰管理和合約調用。同時,WeBASE v1.3.1也支持市面常用的私鑰格式,兼容其他平臺私鑰。

私鑰導入圖示

新增交易通道

WeBASE v1.3.1新增交易通道,可通過WeBASE-Transaction的proxy分支搭建。WeBASE-Transaction用Web3sdk直連節點,支持平行擴展,支持WeBASE-Sign和區塊鏈應用相關服務部署在同一區域,安全性大幅提升。

新增數據統計服務

WeBASE v1.3.1新增WeBASE-Stat(數據統計服務)。WeBASE-Stat通過WeBASE-Front採集CPU、內存、IO、羣組大小、羣組gas、羣組網絡流量的數據,記錄在數據庫。該服務供業務層在區塊鏈運行過程中進行實時數據分析、健康度統計和監控,爲運維管理提供數據支撐。

其他優化

  • 優化: 支持根據encryptType自動切換國密與非國密的solcJ jar包進行合約編譯

  • 優化: 移除自動刪除無效羣組數據的邏輯,通過羣組管理手動刪除

  • bugfix: 鏈上事件通知中,訂閱合約Event多個參數時訂閱失敗問題

  • bugfix: 修復節點前置web頁面中節點監控的入參錯誤問題

  • bugfix: 修復公鑰用戶發交易時簽名報空問題

  • bugfix: 修復部署合約權限不足,導致合約地址爲0x0的問題

即刻使用

最新代碼和技術文檔已同步更新,歡迎體驗和star支持。

WeBASE 代碼倉庫:https://github.com/WeBankFinTech/WeBASE

WeBASE 國內鏡像:https://gitee.com/WeBank/WeBASE

WeBASE 技術文檔:https://webasedoc.readthedocs.io/zh_CN/latest

WeBASE 技術文檔國內鏡像:https://fintech.webank.com/developer/docs/webase

首次體驗WeBASE,可參考一鍵部署文檔:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE/install.html

如需升級已有版本,可參考:

WeBASE-Front升級說明:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Front/upgrade.html

WeBASE-Node-Manager升級說明:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Node-Manager/upgrade.html

WeBASE-Sign升級說明:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Sign/upgrade.html

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

如需諮詢技術問題,歡迎進技術羣交流:關注本公衆號,對話框回覆【小助手】進羣

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章