cordacontractcorda-flow

Must the Flow code be the same in all nodes?


As the Contract code, must the Flow code be the same on all nodes?

Supposing it's allowed to have different code, how does Corda handle that, in the sense of compatibility, versioning, etc?


Solution

  • The flow code can be different on each node, as long as each part of the flow follows the required sequence of sends and receives.

    For example, if the initiator does:

    Then the responder must:

    If the sequence doesn't match, an exception will be thrown.

    We are also implementing flow versioning in Corda V1. See https://docs.corda.net/head/versioning.html#flow-versioning.