Skip to content

Взрывки

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

Структура

Регистрированный Trigger содержит:

  • id: упаковка TriggerId в упаковке Name
  • action: исполняемый, авторитет, фильтр, политика повторения, политика повторных попыток и метаданные.

Действие включает в себя:

  • executable: Instructions, ContractCall, Ivm, или IvmProved
  • repeats: Indefinitely или Exactly(n)
  • authority: учетная запись, которая приводит к исполнению
  • filter: EventFilterBox
  • retry_policy: опциональное поведение повторной попытки для плановых временных триггеров
  • metadata: произвольные метаданные trigger

Фильтра событий

Условия запуска используют ту же модель фильтра событий, что и подписки. Фильтр событий верхнего уровня может соответствовать:

  • события в трубопроводе
  • события данных
  • события времени
  • trigger события исполнения
  • вызвать события завершения

Предпочтительнее использовать самый узкий фильтр, который соответствует процессу работы. Широкие фильтры полезны для диагностики, но они увеличивают работу во время выполнения блоков.

См. Филтры для текущих семейств фильтров.

Время запускает

Временные триггеры используют фильтр временных событий. Когда вид состояния мира достигает соответствующего времени, Iroha выполняет действие запуска в соответствии с полномочием запуска. Временные Триггеры - это тип запуска, который может использовать политику повторной попытки, описанную ниже.

Повторение

Repeats::Indefinitely поддерживает активный триггер до тех пор, пока он не будет зарегистрирован.

Repeats::Exactly(n) позволяет триггеру запускать фиксированное количество раз. Когда число исчерпано, зарегистрируйте новый триггер, если нужно повторить то же поведение снова.

Управление и разрешения

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

Власти нуждаются в разрешениях, требуемых выполняемыми инструкциями или контрактным вызовом. Учетная запись, регистрирующая триггер, также нуждается в разрешении на регистрацию триггеров под активным валидатором времени запуска.

Политика повторного испытания

Временные триггеры могут выбрать политику повторной попытки.

  • max_retries: сколько попыток повторного испытания допускается после первоначального неудачного стрельбы;
  • retry_after_ms: как долго Iroha ждет, прежде чем повторное испытание станет допустимым.

Когда бюджет на повторную попытку исчерпается, триггер не зарегистрирован.

Вопросы

Используйте текущие запросы о запусках для проверки состояния запуска:

См. также: