当我想在我的fabric中获得查询结果时,我遇到了麻烦。我有2个渠道,渠道1存储帐户数据,渠道2存储一些内容和他们的成本。我在频道1,我想在channel2中查询一个内容的成本,然后在频道1中“购买”它。例如,channel1有一个帐户A,他有20美元,channel2有一个电影成本9美元,A想查询电影的成本,然后“购买”它,所以A现在只有11美元。但是现在我不知道如何从channel2那里得到"$9“。我该怎么做呢?
发布于 2019-04-15 15:06:59
Fabric使用通道作为一种隔离形式。无论您如何使用'InvokeChaincode‘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.Responsehttps://stackoverflow.com/questions/55677355
复制相似问题