我正在使用 Hyperledger Golang SDK 来实现客户端以使用分类帐。我的应用程序依赖于发送的事件,但是,我想使用 BlockEvents 以便我可以确保给定的数据已经写入分类帐而不是链码事件。不幸的是,关于这类事件的文档非常有限。我注册了 BlockEvents,并使用它们每个引用的结构func (c *Client) RegisterBlockEvent()...
获取BlockEvent
响应。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:"-"`
}
但是,此时我迷路了,只有一个原始字节数组作为数据。我想针对特定的资产创建事件,并且需要解析块数据以搜索数据。该数据使用什么结构或结构?我假设每个数组条目都代表一个事务,但是如果没有映射到它的结构,解析非常困难。