带有密钥的 HyperLedger Fabric 历史交易

HyperLedger Fabric history transaction with key

我正在使用 fabcar 项目:https://github.com/IBM/blockchain-application-using-fabric-java-sdk

我想知道是否有办法通过某个键获取交易历史记录(不仅仅是查询一辆简单的汽车或列出所有这些。

谢谢。

是的,您有一个名为 GetHistoryForKey() 的 API

您可以在此处阅读更多内容:

这是我试过并得到结果的过程。我在我的链代码中实现了以下代码。

private Response getQueryHistory(ChaincodeStub chaincodeStub, List<String> args) {
        // method for getting the history for key
        QueryResultsIterator<KeyModification> queryResults = chaincodeStub.getHistoryForKey(args.get(0));
        return newSuccessResponse(prepareJsonFromQueryResult(queryResults));
    }


 private String prepareJsonFromQueryResult(QueryResultsIterator<KeyModification> queryResults) {

        // here build your json object from query result

        return "your json object";
    }

ChaincodeStub有几个已经实现的方法 有关方法的更多信息,请查看https://hyperledger.github.io/fabric-chaincode-java/release-1.4/api/org/hyperledger/fabric/shim/ChaincodeStub.html