轨迹解析器(trace parser)是将EVM程序的官方执行轨迹(trace)转化成零知识证明电路可以处理的数据结构的模块。
我们选择trace的json输出格式,以便于程序处理。trace文件是.jsonl格式,每一行是一步json格式的trace。轨迹解析器读取每一步轨迹,解析其json中的数据,然后转化成为电路的输入——证据Witness。
每一步的格式如下
- pc
- op
- gas
- gasCost
- depth
- stack
- memory
- storage
trace parser将此格式的数据解析、读入,然后依照我们的witness设计,将其转化为witness表格。