Blockchain 锯齿形–;按地址查询交易记录

Blockchain 锯齿形–;按地址查询交易记录,blockchain,hyperledger-sawtooth,Blockchain,Hyperledger Sawtooth,我想知道是否有办法通过输入/输出地址查找事务 在REST API引用中提到了GET/state/{address},但我不明白我得到了什么响应: { "data": "oXiAODM1OGFjYzgyY2FmYmY1ZjUzZmNjNDcwMzE0YTMzYjk1N2ViMzE0ZmI1OWU3MmVkNDVkNjNhMTZjZDAxMjc5NTg1OTliY2Q3ZDQ0ZmI4NWUxZDBmZGY5ZmJmYTU3N2FhZjgyYWNlNzBkMDVmZDJmYWIzMzNhMTYz

我想知道是否有办法通过输入/输出地址查找事务

在REST API引用中提到了
GET/state/{address}
,但我不明白我得到了什么响应:

{
  "data": "oXiAODM1OGFjYzgyY2FmYmY1ZjUzZmNjNDcwMzE0YTMzYjk1N2ViMzE0ZmI1OWU3MmVkNDVkNjNhMTZjZDAxMjc5NTg1OTliY2Q3ZDQ0ZmI4NWUxZDBmZGY5ZmJmYTU3N2FhZjgyYWNlNzBkMDVmZDJmYWIzMzNhMTYzMDM5Y2U3NDZ2MjAxOC0wOS0xOSBhdCAxMzoxMTo0OQ==",
  "head": "22972511836daa61bef7b9b987760579bcc249809a6f2ff59b3050e989bc2ace116d5c4c1cea10fba0aad25f200bb117e6958765be1047a67493590c07b2603c",
  "link": "http://xxx.xxx.xxx.xxx:8080/state/4536b54af36b6dbad85af2bf228500aaa7f89d11cf0bac0f3290a5977bae443d74d692?head=22972511836daa61bef7b9b987760579bcc249809a6f2ff59b3050e989bc2ace116d5c4c1cea10fba0aad25f200bb117e6958765be1047a67493590c07b2603c"
}
我试图从响应中解码
数据
,发现它是Base64编码的,并且它只包含事务的有效负载


有没有办法获取事务ID?

您可以使用REST API获取锯齿形事务
GET/transactions/{transaction\u id}

您需要知道事务ID。客户提交并创建事务ID,并且会知道它。 交易ID也列在区块链中每个交易的交易标题中。 您还可以使用
GET/transactions


是的,数据是base64编码的。解码后,需要反序列化。反序列化方法由处理事务的事务处理器决定。常见的序列化方法是Protobuf和CBOR。

请参阅,提交时客户机知道事务ID。但如果只知道地址怎么办?例如,有没有一种方法可以获取具有该地址的所有事务?没有,我不知道有什么方法可以使用RESTAPI实现这一点。您可以获取所有事务,并在事务的输入和输出列表中检查每个事务。另一种方法是保留一个包含所有状态更改的本地数据库,并按状态地址编制索引。