-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
通过ABICodec.decodeEvent方法解析EventLog抛异常(sdk v2.9.3) #859
Comments
可以尝试使用2.10.0-SNAPSHOT的包,目前Java SDK 2.10.0版本正在测试中,欢迎反馈问题。 |
2.10.0-SNAPSHOT这个包从哪里获取?官方并没有提供这个包 |
直接将Java sdk的版本改成2.10.0-SNAPSHOT重新编译即可。 |
在maven源中加上这两个再试一次: maven { url "https://oss.sonatype.org/service/local/staging/deploy/maven2" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" } |
我已经将SDK版本换成了2.10.0-SNAPSHOT
调用过程如下:
抛出异常:
请问是我调用方式不对还是SDK的异常? |
顺带提以下,我看到你们的对于事件的解析仅仅依靠abi,我觉得是解析不出来的。因为EventLog的data数据,是不会将indexed编码到里面的,而参数是否位indexed无法通过abi解码出来。 |
我已经找到问题的原因了:合约编译的abi不能直接作为参数传入AbiCode对象作为入参,因为里面缺少indexed的说明,需要从metadata里面重新解析abi信息,再作为函数的入参才可以使用。 |
能否举例说明一下 |
采用一个简单的合约做测试,编译成Java文件后,通过EventCallback监听交易事件。实例代码如下:
abiCodec.decodeEvent(Asset.ABI, "TransferEvent", el) 抛出异常如下:
The text was updated successfully, but these errors were encountered: