Flow constraints

Each of the transitions shown in a Smart Contract view diagram are enacted through a Corda transaction. These transactions are built, signed, and finalised using Corda flows. In order to aid understanding of the wider CorDapp design it can be useful to indicate what the Flows should be doing when they are building the transaction that implements a particular transition. You do this using a flow constraint.

Flow constraints are denoted by a blue box attached to the relevant Path:

You can use flow constraints to illustrate:

  • Which party is intended to initiate the flow which builds and initially signs the transaction. This is important because it is normally only the initiator who gets to make an informed and conscious decision to partake in the transaction, responders nodes will accept and possibly sign valid transactions but there is usually not a human ‘do you want to do this?’ decision step.
  • Checks that a Party should do before they initiate a transaction - for example, has the initiator got enough funds or stock for this Agreement.
  • Events which will trigger a Flow - for example, trigger this flow when the goods have been dispatched.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.