我正在使用Hyperledger Golang SDK实现一个客户端以与账本交互。我的应用程序依赖于发送事件,但我想使用BlockEvents以确保给定的数据已经写入账本,而不是链码事件。不幸的是,关于这些类型事件的文档非常有限。我使用func (c *Client) RegisterBlockEvent()...
注册了BlockEvents,每个BlockEvent响应都包含一个引用了Block结构体的Block结构。Block结构如下:
type Block struct {
Header *BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
Data *BlockData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
Metadata *BlockMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
我可以导航到
BlockData
:type BlockData struct {
Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
然而,目前我迷失了方向,只有一个字节数组的原始数组作为数据。我想在特定资产创建事件时对其进行操作,并需要解析块数据以搜索数据。用于此数据的结构或结构体是什么?我认为每个数组条目都代表一笔交易,但如果没有结构体映射到它,解析将非常困难。