Транзакция, вызывающая другую транзакцию в Hyperledger Composer - PullRequest
0 голосов
/ 04 марта 2019

Мне было интересно, может ли транзакция вызвать другую транзакцию, поскольку я стою перед проблемой:

Я пытаюсь провести двойной аукцион , где производители энергии и потребителиэнергии может передать bids (купить определенное количество энергии по определенной цене) и asks (предложить определенное количество энергии по определенной цене).Предполагается, что аукцион очищает рынок каждые X минут, и в настоящее время мне интересно, как вызвать транзакцию clear_market.В идеале, нет центрального органа, который бы назвал его, когда пришло время, но некоторый код, выполняющий себя автоматически «по цепочке» после истечения времени аукциона.Однако в настоящее время я не вижу, как это реализовать.

Моя первоначальная идея заключалась в том, что, когда участник совершает транзакцию bid oder ask, он сначала проверит наличие нового периода аукциона,и если да, вызовите транзакцию clear_market за предыдущий период аукциона.Но, как я понимаю, выполнение транзакции, если транзакция выполняется внутри другой транзакции, вызванная транзакция не будет отображаться в реестре транзакций.Однако было бы хорошо иметь след этой транзакции, поскольку она возвращает рыночную клиринговую цену и обновляет остатки монет производителей / потребителей.

Видите ли вы решение?Заранее спасибо!

1 Ответ

0 голосов
/ 05 марта 2019

как глубоко вы уже в теме ткани?Похоже, вы путаете транзакции с цепным кодом.Транзакции являются продуктом вызванного цепного кода, который изменяет состояние регистра, объединенного заказчиком в блоки.

Возвращаясь к вашему вопросу: в принципе, можно позволить цепочечному коду вызывать другой цепочечный код (когда он находится на том же канале), но это не рекомендуется.То, что я бы предложил для вас, это посмотреть на выдачу и подписку на события.Надеюсь, это послужит вашей проблеме!

...