Chapter 7. Extending ToDoDist with Advanced States
We’re going to continue our journey in developing the ToDoDist CorDapp and build on what we accomplished in the previous chapter. In this chapter, we’ll explore state transition constraints, known in Corda as contracts, and commands, which we touched on slightly in Chapter 6. We’re going to add a few more features to ToDoDist, like making the states stored on ledger queryable, adding attachments to a to-do, setting a to-do deadline reminder, and imposing a time horizon for a counterparty to accept a to-do assignment. These features will be ideal use cases for understanding QueryableStates
, SchedulableStates
, and TimeWindows
.
Note
If you’ve been coding along with the previous chapters, you should be all set to jump into this. However, if you’d like to get into this chapter and haven’t gone through the material in the earlier chapters, then feel free to clone the code from the book’s website and use it as a baseline for the next few sections.
Commands: Transaction Intent
Recall that a transaction is proposed by a party to one or more counterparties, and transactions encapsulate one or more proposed state transitions. Given any proposed state transition between state 1 (s1) at one point in time and state 2 (s2), the proposed transition for the same state, the intent and purpose of that transition may be obvious, or it can be inferred by careful inspection of the before and proposed after. However, in other cases, the intent and ...
Get Mastering Corda now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.