我正在构建一个超级账本结构区块链应用程序,其中有多个用户进行交互。它似乎正在工作。使用hyperledger Explorer,我还可以查看区块链中的区块和交易。
但是,我不清楚如何查看1个用户的交易历史记录(基于其身份密钥)?
基本上,就像对于银行客户一样,我只想获取与特定用户相关的交易,以便向他/她提供交易概览。
是否有用于此的工具?它是否集成到Fabric中?
答案 0 :(得分:0)
有几种不同的解决方法。
在链上:您将编写一个链码函数来返回相应的交易。为此,您需要通过以链码状态(stub.PutState
)存储交易UUID来跟踪每个用户提交的交易。使用stub.getState
,您以后可以检索状态并返回交易清单。 (受this StackOverflow answer的启发)
Peer SDK :就独立于链码的交易历史而言,我尚不清楚任何支持此功能的API调用。您只能通过其UUID获得交易。
链下:由于您已经在使用Hyperledger Explorer,因此您应该有一个Postgres database包含索引交易数据。您可以通过过滤creator_id_bytes
从应用程序中查询事务处理表。由于Hyperledger Explorer需要首先从对等方获取新事务,因此与1/2相比,此方法存在一些额外的延迟。