如何解析区块头中proof的content?

如何解析proof的content

Proof中content的定义是bytes类型的:

image

Jsonrpc输出的时候输出的是:

我在log里打印出block是这样的(可以找到节点公钥):

我想在程序中获取到类似于jsonrpc请求那边返回的格式,请问cita里是如何将content的bytes类型转换成jsonrpc那边输出的格式的,具体用的是什么方法呢?

我看到jsonrpc收到相应后这样处理的:

是这部分代码起了作用吗,没太看懂这里是怎么操作的。

用这个:

RawRytes类型的消息的作用是什么 这个问题里面有提到过相关的内容。
共识部分的消息序列化用的是bincode,所以在porotobuf里就是个bytes。
如果想查看里面的内容,需要二次反序列化,并且要用Rust的bincode,相关数据结构代码就是你上面截图的那个。
Jsonrpc那里就是把proof当作bytes来处理的,BftProof这个结构没有暴露给Jsonrpc。

不知道你解析proof的目的是什么?
就像结构名所示,它就是块的合法性的一个证明。
相关的验证工作是链的事情,验证完之后proof就没用了,正常业务应该只需要关注块里面的其他字段。

谢谢回复~
我想获取到参与区块共识的节点的Address,所以想要解析ProtoProof结构.