Inboxes, Outboxes, and CRON Jobs

Inboxes and Outboxes

Every AO process has an Inbox and Outbox.

The Inbox accepts incoming, ordered messages for the process to handle. You can think of this much like an email inbox, or lke a list of pending transactions waiting to be processed by a smart contract.

The messages from the Inbox are read in FIFO (First In First Out) order.

Similarly, processes also have an Outbox which contains messages generated by the process itself. These could be messages to send onward to other processes, or to update its own state.

Scheduled tasks

A distnguising feature of AO is the ability for users and developers to run scheduled tasks, i.e. CRON jobs.

This functionality allows messages to be sent at specified intervals. For example, a user could set up an action to swap token x for token y every day.

Conclusion

In the previous chapter we looked at the structure of nodes, and in this one we explored further concepts like Inboxes, Outboxes, and scheduled tasks.

But how exactly are these messages ordered and sent to a process?

How does a transaction go from a user's initial message to computation?

Let's look at how these nodes communicate with each other and the unique aspect of transactions, or messages, on AO.