Sawtooth Transaction Family Взаимодействия - PullRequest
1 голос
/ 14 января 2020

Здравствуйте, я изучал Hyperledger Sawtooth для моего следующего проекта, и я хотел бы спросить, возможно ли взаимодействие разных Семей транзакций? Например, я хотел бы реализовать турнир ti c -ta c -toe (семейство транзакций xo) и сохранить табло в виде набора переменных, используя семейство транзакций IntegerKey. Одна операция была бы после того, как игрок А выиграл, я хочу увеличить его счет (переменная А в IntegerKey tf) на единицу.

1 Ответ

1 голос
/ 16 января 2020

Короткий ответ: «Да, то, что вы просили, возможно».

Я могу придумать следующие 2 способа сделать это:

Метод 1: Само семейство транзакций XO обновляет значение, которое в противном случае поддерживается / управляется семейством транзакций Intkey.

Hyperledger Sawtooth позволяет обновлять любое значение глобального состояния. Вы можете обновить значение в глобальном состоянии, если вы можете вычислить адрес, по которому значение должно быть обновлено.

В: Подождите! Разве это не нарушение правил безопасности?

A: Нет, это не так. Именно такую ​​гибкость вы получаете в Hyperledger Sawtooth. Если вы хотите ограничить другое семейство транзакций, изменив поддерживаемые вами значения, вы можете прочитать документ об ограничении пространства имен здесь https://sawtooth.hyperledger.org/docs/core/nightly/master/app_developers_guide/namespace_restriction.html

Метод 2 : Присоедините прослушиватель событий к валидатору, чтобы он слушал изменения, внесенные семейством транзакций XO. Пусть ваш прослушиватель событий инициирует транзакцию Intkey, когда заданы c требуемые условия.

Таким образом, ваши Семейства транзакций не будут пытаться записать данные, обработанные другими пространствами имен.

...