题目
一个索引脚本用 indexed string 的原值去过滤日志,结果始终为空;另一个页面手工拼接 topics 解析转账事件,把金额解析成了地址。请说明日志结构、indexed 规则与正确的解析方式。
考察目标
- 日志的 address、topics 与 data 结构。
- indexed 参数与动态类型的限制。
- 过滤与解析的推荐方式。
说明日志的结构、indexed 参数的位置与动态类型限制,以及过滤与解析事件时应当遵循的规则。
一个索引脚本用 indexed string 的原值去过滤日志,结果始终为空;另一个页面手工拼接 topics 解析转账事件,把金额解析成了地址。请说明日志结构、indexed 规则与正确的解析方式。
日志由来源地址、topics 与 data 组成;非匿名事件的 topics[0] 是事件签名哈希,其后依次对应 indexed 参数,最多三个 indexed;匿名事件最多四个。未 indexed 的参数编码在 data 中。动态类型的 indexed topic 保存编码值的哈希,不能把原文直接放进 topic;已知原值时仍可按规范计算哈希并过滤,但不能从 topic 反推出原值。实现差异与工程取舍见深入回答。
发现这道题有问题? 反馈此题