This is an old revision of the document!
There are three classes of messages that are used within the DIDO node_network.
Messages containing instructions on how to change the “Ledger” from one known state to the next state. Transactions are sent to all the Nodes with the DIDO Network and that change the “Ledger” data stored on each of the nodes. When all the transactions are applied to all the nodes, all the ledgers have them same state. These transactions are executed using a Transaction API, an API used to perform distributed transactions, i.e., transactions to access and update data on two or more DIDO network nodes.
Like transactions, transforms are instructions that change the state of a “ledger” from one state to another. Transforms are not as order dependent as transactions and are NOT sent to all the nodes. Transforms may or may not be sent to DIDO Nodes. The Transform Network represents Transform Nodes participating in the transformation of some content. Once the content transformation is complete, the changes made from the initial state of the content to the new state of the content are formulated into a Transaction and sent to all the Nodes in the DIDO Network. A Transform API is used to perform this action.
Streams are a way of subsetting or filtering DIDO Transactions using a publish/subscribe paradigm. This allows any particular Node within the node_network not to have to listen-to or process-all the transactions presented to it. This is similar to Transforms; however, the participants in the transforms do not have to be part of the Node Network.