Как получить результат запроса с другого канала - PullRequest
0 голосов
/ 14 апреля 2019

У меня проблема, когда я хочу получить результат запроса в моей матрице.У меня есть 2 канала, канал 1 хранит данные учетной записи, канал 2 хранит некоторый контент и их стоимость.Я нахожусь на канале 1, я хочу запросить стоимость контента на канале 2, а затем «купить» его на канале 1. Например, у канала 1 есть аккаунт А, а у него 20 долларов, у канала 2 - фильм стоимостью 9 долларов, А хочет запроситьСтоимость фильма, то «купи» его, так что у А сейчас только 11 долларов.Но сейчас я не знаю, как получить "9 долларов" с канала2.Как мне это сделать?

1 Ответ

0 голосов
/ 15 апреля 2019

Ткань использует каналы как форму изоляции. Как бы то ни было, вы можете вызвать другой цепной код с помощью API InvokeChaincode.

// 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

Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...