.. raw:: html
=====================
The Transaction Model
=====================
A transaction has the following structure:
.. code-block:: json
{
"id": "",
"version": "",
"inputs": [""],
"outputs": [""],
"operation": "",
"asset": "",
"metadata": ""
}
Here's some explanation of the contents of a :ref:`transaction `:
- id: The :ref:`id ` of the transaction, and also the database primary key.
- version: :ref:`Version ` number of the transaction model, so that software can support different transaction models.
- **inputs**: List of inputs. Each :ref:`input ` contains a pointer to an unspent output
and a *crypto fulfillment* that satisfies the conditions of that output. A *fulfillment*
is usually a signature proving the ownership of the asset.
See :doc:`./inputs-outputs`.
- **outputs**: List of outputs. Each :ref:`output