Process Notes

Why

Now that we have working transactions, we can think about how to use data in each transaction so that it tells a clear story. Useful, accessible data will enable participants in the Andamio Network to gain insights about how their organization is working.

What: Conditions of Success

Each Andamio Course transaction with arbitrary data fields will be refined so that helpful data is easy to find. These features will be documented in Andamio PBL and the Andamio Docs so that our team can give feedback on the Andamio system.

What do we mean by “arbitrary data fields”?

Every Andamio transaction helps to tell a story. Sometimes, a simple aggregation of transactions is all we need: we will want to know, for example, how many learner tokens are minted, how many contributor commitments have been fulfilled, or the amount of commitment rewards that have been distributed through a treasury.

Within many of these transactions, we can add additional data. There are two kinds of data that we can add:

  1. Transaction Metadata can be written on any transaction and serves as a view-only receipt that adds meaning to the transaction. Metadata can be useful for aggregating results.
  2. Datum is written into UTxOs stored at any spending validator address, and some of the datum fields are open-ended — these are the “arbitrary” fields. Note that datum is not just read-only. It can be changed, and other validators can be written to work only if certain conditions are met in the datum.

What are some examples of arbitrary datum?

In the Andamio Course Management system:

  1. Course Module datum includes an Assignment. An assignment includes assignmentContent, which can be any string, which is defined by the Course Creator.
  2. Learner Reference datum includes a LearnerInfo field. The holder of a Learner token can change the LearnerInfo to any string.
  3. When a Learner commits to an Assignment, AssignmentDecisionDatum is created. This datum includes a studentAssignmentInfo field, where Learners provide some evidence about their work. This evidence is checked by the Course Facilitator, and an assignment cannot be approved if there is no assignment info. can be any string.

Learn More: Andamio Plutus Course Management Types

What are some examples of datum that is not “arbitrary”?

Let’s look at an example!

How are we using transaction metadata?