Questions about Canton behaviour

Hi Team,

So far my understanding is that domain is responsible for routing the encrypted transactional data to the right participant node and storing the encrypted data in postgresDB/Fabric/Besu.

When a transaction is only relevant to parties in the same participant node (say Alice and Bob are both in p1), is the transactional data still going through domain and stored there as well? Or it can be done within the participant node without domain’s involvement?

Also, when a commit does not involve additional party (say the template is just a party plus a text value, and the party is exercising a choice to change a text value on an active contract), is there transactional data on this that will go through domain again?

Many thanks in advance.

kc

1 Like

Hi KC,

Currently, every transaction needs to go through a domain.

If a transaction involves only a single party, it still needs to be routed through a domain in case the party is hosted by more than one participant.

Best,
Matthias

1 Like

Thanks @MatthiasSchmalz for your prompt reply!

cheers,
kc

You’re welcome.

If we ever consider to bypass the domain for requests that don’t need a domain, we need to carefully investigate the impact on disaster recovery. Right now, we can recover a participant by replaying events from domains. That would no longer be possible, if the domain is bypassed.

1 Like