对Sawtooth的地址所做的更改?

问题描述 投票:0回答:1

我创建了一个地址和一些使用protobuf序列化的有效负载。然后我将此序列化字节存储在此地址上

 context.set_state({address: account.SerializeToString()},
                                self._timeout)

现在,让我们说我已经有效载荷并上传到这个地址。我只想知道,如果我能得到对该地址所做的所有更改的历史记录以及存储在该地址的当前有效负载。

hyperledger hyperledger-sawtooth
1个回答
2
投票

第一:没有立即或明显的api来获取特定地址的数据历史记录。

话虽如此,正如您所知,每个事务确实会得到一个上下文,然后写入全局状态。然而,merkle树维护着事务上下文。

你有三个选择:

  1. 使用/blocks端点,遍历每个块中的每个事务。从交易中使用state root hash终点的head字段中的/state字段以及感兴趣的地址。
  2. 使用/transactions端点获取事务列表,使用#1中描述的相同字段
  3. 检测TP以发出事件,并使用离线事件监听器将相关信息捕获到脱链DB,以根据需要进行索引和查询。
© www.soinside.com 2019 - 2024. All rights reserved.