Transaction Lifecycle
Radix Engine is a transactional state machine which accepts a transaction and a given state and outputs a state change and additional output.
radix_engine(State, Transaction) -> (StateChange, Output)
The state change can then be applied to the database to update it's state:
state_commit(State, StateChange) -> State
Three Stages
There are three stages in the transaction lifecycle:
- Bootup, which consists of initializing the layers of the stack
- Execution, which is the execution of the application logic specified by the transaction
- Shutdown, which consists of cleaning up each layer and creating the final StateChange and Output