Как вызвать другой цепной код из одного цепного в Hyperledger Composer? - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь работать с POC, который потребует это:

-Транзакция из BusinessNetwork # 1 должна вызвать другую транзакцию из BusinessNetwork # 2

Пока я только пытаюсь создать 2 сети с одинаковыми данными, в которых при изменении данных в одной сети другая должна автоматически отражать это изменение.

Я пытался использовать функцию nativeApi (). InvokeChainCode (), но я не знаю, как ее использовать для вызова пользовательских функций транзакций.

Помощь действительно приветствуется. :)

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Я воспользовался console.log () и нашел решение.

const asset = '{
  "$class": "org.example.mynetwork.Trade",
  "commodity": "resource:org.example.mynetwork.Commodity#0518",
  "newOwner": "resource:org.example.mynetwork.Trader#4530"
}'

await getNativeAPI().invokeChaincode('other-tutorial-network', ['submitTransaction', 
asset]);

Здесь other-tutorial-network - это название бизнес-сети / название кода сети.

Я полагаю, что транзакционные функции, которые мы создаем в composer, всегда идут под функцию submitTransaction () для фабрики и принимают в качестве аргументов строку, подобную JSON.

0 голосов
/ 02 ноября 2018

Существует учебник, который должен помочь вам начать https://hyperledger.github.io/composer/latest/tutorials/invoke-composer-network

Однако вы должны знать, что если бизнес-сети находятся на разных каналах, вы можете запрашивать только другую бизнес-сеть, вы не сможете обновить другую бизнес-сеть. Для этого они должны быть на одном канале.

...