Estado programável na programação de eventos Corda

Sep 22 2020

Eu estava tentando o recurso de agendamento de eventos herdando estados agendáveis e testei o exemplo de pulsação também.

  • Um evento de agendamento ocorre apenas quando um estado agendável é emitido recentemente ou é atualizado por consumo ? É possível fazer um evento recorrente usando um mesmo estado não consumido?
  • Quando um estado planejável tem duas partes como participantes, quem realmente iniciará o fluxo de planejamento mencionado na função nextScheduledActivity () ? (Eu sei que isso acontece automaticamente, mas qual parte iniciará esse fluxo?)

É a mesma Parte que emitiu o estado programável está iniciando o fluxo programável também?

Por favor me ajude a entender isso. Obrigado!

Respostas

1 AshutoshMeher Sep 22 2020 at 19:06
  1. Uma atividade é agendada quando um estado agendável é criado e a atividade não é agendada se for consumida. Portanto, você pode ter uma atividade por estado. Você precisa consumir o estado para agendar um novo horário. Dê uma olhada nesta classe, ela é responsável por agendar / cancelar a programação de atividades:https://github.com/corda/corda/blob/release/os/4.7/node/src/main/kotlin/net/corda/node/services/events/ScheduledActivityObserver.kt

  2. A atividade será acionada em todos os nós que têm o estado registrado, você precisa ter uma lógica em seu fluxo para restringir o fluxo de execução em partes que não devem executá-lo. Isso deve dar a você uma ideia:https://github.com/corda/samples-java/blob/master/Advanced/auction-cordapp/workflows/src/main/java/net/corda/samples/flows/EndAuctionFlow.java

Benjamin Sep 22 2020 at 20:23

Link para a conversa do CordaLedger Slack: https://cordaledger.slack.com/archives/C2KGD72UX/p1600771838039700