调用 parseLog 报 data out-of-bounds 错误
调用 parseLog 解析日志,结果得到:
UnhandledPromiseRejectionWarning: Error: data out-of-bounds (length=0, offset=32, code=BUFFER_OVERRUN, version=abi/5.6.0)
...
这种情况一般是使用的 abi 字符串与 contract 的实际 abi 不匹配:缺少了 indexed
关键字。如下例:
event Transfer(address indexed from, address indexed to, uint256 indexed value)
event Transfer(address from, address to, uint256 value)
通过查看 log 的 topics 也能发现,topics 的内容实际是:event + indexed 参数,其长度可以反映出有多少个 indexed
参数。
很简单,补上缺失的 indexed
关键字即可。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!