开源进展 | WeBASE发布lab版,助力一键部署FISCO BCOS v3.0
共 3516字,需浏览 8分钟
·
2022-02-27 22:45
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时输出的版本信息 查看WeBASE源码中的release_note 查看安装包中的release_note
接下来,我们一起来看看WeBASE lab的功能介绍吧!
适配FISCO BCOS v3.0新特性
节点列表不再显示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支持。
如需咨询技术问题,欢迎本公众号对话框回复【小助手】进技术交流群。