Let’s say, I have:
- A party P1 allocated on participant node N1
- A party P2 allocated on participant node N2
- A single template T with a single signatory and a list of observers
- A command is submitted by P1 on N1’s Ledger API to create an instance of T with P1 as the sole signatory, and …
Scenario 1: … observers =[]
Scenario 2: … observers =[P2]
-
In Scenario 1, the contract won’t need to be synchronized with N2 via the domain, while in Scenario 2, it will need to be synchronized with N2 via the domain for P2 to witness.
Are there any restrictions on when the CreatedEvent for the contract creation becomes available to be emitted on the Transaction Stream via N1’s Ledger API, in relation to when the tx is sent to N2 for P2 to “observe”? Could the former happen before/after (in parallel) with the latter? In other words, does adding an observer from Scenario 1 to Scenario 2 causes additional latency to the emission of the CreatedEvent via N1’s Ledger API? -
How does the answer to the above question change if I add multiple observers (assume distributed across multiple nodes) instead of just 1 observer?