WeBASE icon indicating copy to clipboard operation
WeBASE copied to clipboard

Webase部署合约时,构造器的bytes类型参数在界面无论填什么都提示错误

Open wuhua666 opened this issue 2 years ago • 4 comments

wuhua666 avatar Feb 28 '23 06:02 wuhua666

合约函数的内容,输入的值可以贴上来看一下。bytes类似string格式,bytesN类型如byte2则需要使用十六进制的string,并参考提示补齐到对应长度,如bytes2为0x1234

CodingCattwo avatar Mar 07 '23 08:03 CodingCattwo

合约函数的内容,输入的值可以贴上来看一下。bytes类似string格式,bytesN类型如byte2则需要使用十六进制的string,并参考提示补齐到对应长度,如bytes2为0x1234

这个是测试的实际界面: image

版本信息: 链版本: 2.9.0 gm 兼容版本: 2.9.0 WeBASE版本: v1.5.4

wuhua666 avatar Mar 17 '23 09:03 wuhua666

了解了,我们复现了这个bug,在sdk中进行编码时,webase的参数格式错误。我们会在1.5.5版本中修复改问题。 如果急用的话,可以基于WeBASE-Front的dev分支的代码,单独gradle build 一个新的安装包,dev分支为beta版本,可以使用bytes类型的参数

CodingCattwo avatar Mar 31 '23 09:03 CodingCattwo

该问题是由于fisco java-sdk中在部署合约时对bytes类型参数编码有问题。您也可以在构造函数中去除bytes参数,通过空白入参的constructor进行部署,然后通过一个setBytes(bytes memory n)方法设置bytes参数进去

CodingCattwo avatar Mar 31 '23 09:03 CodingCattwo