WeBASE(WeBank Blockchain Application Software Extension) 是在区块链应用和FISCO BCOS底层之间搭建的一套通用组件,围绕交易、合约、密钥管理、数据、可视化管理来设计各个模块,屏蔽了区块链底层的复杂度,从而极大降低研发门槛,提速区块链应用开发效率。
WeBASE一直关注区块链底层平台FISCO BCOS的更新迭代,分别推出WeBASE v1.X版本适配FISCO BCOS v2.X版本,WeBASE v3.X版本适配FISCO BCOS v3.X版本。近期,WeBASE相继发布了WeBASE v1.5.5版本和WeBASE v3.0.2版本,对WeBASE进行优化与完善,以便更好适配FISCO BCOS,让用户使用起来更方便快捷。
在WeBASE v1.5.5中,WeBASE进一步优化用户体验:完善合约IDE环境中Struct等复杂参数的兼容性,提供了具体的Struct参数入参示例;前端错误提示中增加了指向性提示语,方便用户快速定位错误原因;更新了依赖组件版本,避免旧版本依赖包带来的安全漏洞风险。WeBASE v3.0.2版本也已同步更新上述特性,并兼容FISCO BCOS v3.2.0以上版本。
一起来看看更新详情吧!
优化合约IDE多项用户体验
完善对复杂参数的兼容性
WeBASE在合约IDE中(WeBASE管理台和WeBASE-Front节点前置)完善了对复杂参数的兼容性,如Struct格式、bytes32[][]格式等。新版本中,用户在前端IDE中使用操作和以往版本一致,在发交易时依照交易弹窗提示填写参数即可。如下图1所示:
数组类型参数:使用方括号括起,以英文逗号分隔。例如:set(uint32[] a) -> [1,2,3],非数值和布尔值类型则需要使用双引号,例如: set(bytes1[] a) -> ["0x12","0x34"];如果数组参数包含双引号,需转义,例如:set(string[] s) -> ["aaa"bbb","ccc"]。
bytesN类型参数:入参格式为十六进制字符串,且字符长度应为2N,如bytes2入参为:0x1234,除去0x外长度为4;若长度不足,则在十六进制字符后补0。
struct类型参数:输入框中struct参数类型显示为tuple类型,入参内容需要根据自定义的struct结构进行填写,入参格式需要在struct参数的外用方括号括起,如set(StructA a) -> StructA{bool a, string[] b} -> [true,"["test string"]"],此处a为true,b为[“test string”],struct中的数组b需要放在双引号内,数组元素如果包含双引号需要转义,如b为[“test quote\” string”]。
图1-合约IDE交易提示
如果我们需要直接调用后台的交易接口进行发交易,以WeBASE-Front节点前置/trans/handleWithSign的交易接口为例,新版本中已经把接口参数中的funcParam参数从`List<Object>`Json数组改为了`List<String>`String数组,变化接口文档描述如下图2所示:
图2-合约IDE提示截图
优化错误提示
新版本中,我们对错误码进行整理优化,增加了指向性的错误提示,方便用户快速定位错误原因。例如在发交易时交易参数是一个uint256[2]数组,即长度为2的定长uint256数组,如下图3所示:
图3-定长数组函数
如输入参数与ABI定义的参数格式不匹配时,以往报错内容为“合约参数编码失败”,新版本会提示“合约交易参数错误,请检查参数个数与入参值是否与ABI匹配”,同时会在页面右上方弹窗,展示合约参数编码时的错误信息原文“…param not match…”,如下图4所示:
图4-错误提示图
再如,在WeBASE管理台出现节点群组共识异常时,会出现“当前群组无可用节点前置”的错误提示,引起报错的原因是节点前置访问某个群组的请求被节点拒绝。
在新版本中,WeBASE对错误提示信息进行分类,按节点错误、服务本身错误、节点前置错误等类别,在错误提示中分别进一步添加了“到节点日志排查错误”、“到后台日志排查错误”、“请检查节点前置错误日志”等指向性的错误提示,方便用户在遇到错误时,可以快速到对应的子系统中定位错误的原因。
上述优化已在WeBASE v1.5.5和WeBASE v3.0.2两个版本中同步更新,欢迎大家使用体验。
优化和修复
WeBASE v3.0.2适配FISCO BCOS v3.2.0及以上版本
WeBASE-Transaction交易服务 v3.0.2适配FISCO BCOS v3.2.0及以上版本
WeBASE v1.5.5更新可视化部署中 fiscoorg/fisco-webase 镜像内置的节点版本更新为v2.9.1(镜像包含FISCO BCOS v2.9.1与WeBASE-Front v1.5.5)
应用管理SDK webase-app-sdk升级到v1.5.5,修复依赖包的安全漏洞
每一年WeBASE都会带来改进和新的功能,在这一路的进化过程中,社区用户提交的反馈和共建参与至关重要。本次更新中,多位社区用户参与了版本共建,感谢所有为作出贡献的小伙伴们。
WeBASE期待更多开发者加入,如你有意参与社区共建,可报名参与社区Task挑战赛。该挑战赛面向开发者征集代码或教程,为热爱区块链中间件及相关技术的小伙伴们提供了探索区块链技术、挑战技术难题的舞台。2023年第1季Task挑战赛日前已正式开启,近百项任务期待你的参与!点击这里查看活动详情
即刻使用
上述优化及功能所涉及的最新代码和技术文档已同步更新,位于WeBASE代码仓库的【master】和【master-3.0】分支。如需咨询技术问题,欢迎本公众号对话框回复【小助手】进技术交流群。
WeBASE 代码仓库:
https://github.com/WeBankBlockchain/WeBASE
WeBASE 代码仓库国内镜像:
https://gitee.com/WeBank/WeBASE
WeBASE 技术文档:
v1.5.5: https://webasedoc.readthedocs.io/zh_CN/latest
v3.0.2: https://webasedoc.readthedocs.io/zh_CN/lab
WeBASE 技术文档国内镜像:
v1.5.5:https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/doc/index.html
v3.0.2:https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/doc/lab/index.html
首次体验WeBASE,可参考一键部署文档:
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE/install.html
向我们报告问题,欢迎提交issue:
https://github.com/WeBankBlockchain/WeBASE/issues