DTeam 技术日志

Doer、Delivery、Dream

排错:调用 parseLog 报 data out-of-bounds 错误

胡键 Posted at — Mar 16, 2023 阅读

症状

调用 parseLog 解析日志,结果得到:

UnhandledPromiseRejectionWarning: Error: data out-of-bounds (length=0, offset=32, code=BUFFER_OVERRUN, version=abi/5.6.0)
...

原因

这种情况一般是使用的 abi 字符串与 contract 的实际 abi 不匹配:缺少了 indexed 关键字。如下例:

通过查看 log 的 topics 也能发现,topics 的内容实际是:event + indexed 参数,其长度可以反映出有多少个 indexed 参数。

解决

很简单,补上缺失的 indexed 关键字即可。

参考

觉得有帮助的话,不妨考虑购买付费文章来支持我们 🙂 :

付费文章

友情链接


相关文章