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收藏,获取最新版本。


FISCO_BCOS
193 声望1.3k 粉丝

FISCO BCOS是开源联盟区块链底层技术平台,由金融区块链合作联盟(简称金链盟)成立开源工作组通力打造。成员包括博彦科技、华为、深证通、神州数码、四方精创、腾讯、微众银行、亦笔科技和越秀金科等金链盟成员机构。