如何从其他通道获取查询结果



我想在我的结构中获取查询结果时遇到问题。我有 2 个频道,频道 1 存储帐户数据,频道 2 存储一些内容及其成本。我在频道 1,我想在频道 2 中查询内容的成本,然后在频道 1 中"购买"它。例如,频道 1 有一个帐户 A 而他有 20 美元,频道 2 有一部电影成本为 9 美元,A 想查询电影的成本,然后"购买"它,所以 A 现在只有 11 美元。但是现在我不知道如何从频道 9 获得"2 美元"。我该怎么做?

Fabric 使用通道作为隔离的一种形式。如何使用"调用链码"API 调用另一个链码。

// InvokeChaincode locally calls the specified chaincode `Invoke` using the
    // same transaction context; that is, chaincode calling chaincode doesn't
    // create a new transaction message.
    // If the called chaincode is on the same channel, it simply adds the called
    // chaincode read set and write set to the calling transaction.
    // If the called chaincode is on a different channel,
    // only the Response is returned to the calling chaincode; any PutState calls
    // from the called chaincode will not have any effect on the ledger; that is,
    // the called chaincode on a different channel will not have its read set
    // and write set applied to the transaction. Only the calling chaincode's
    // read set and write set will be applied to the transaction. Effectively
    // the called chaincode on a different channel is a `Query`, which does not
    // participate in state validation checks in subsequent commit phase.
    // If `channel` is empty, the caller's channel is assumed.
    InvokeChaincode(chaincodeName string, args [][]byte, channel string) pb.Response

最新更新