Ledger Data Formats
Each ledger version in the XRP Ledger is made up of three parts:
- Ledger Header: Metadata about this ledger version itself.
- Transaction Set: All the transactions that were executed to create this ledger version.
- State Data: The complete record of objects representing accounts, settings, and balances as of this ledger version. (This is also called the "account state".)
Each ledger version's state data is a set of ledger objects, sometimes called ledger entries, which collectively represent all settings, balances, and relationships at a given point in time. To store or retrieve an object in the state data, the protocol uses that object's unique Ledger Object ID.
In the peer protocol, ledger objects have a canonical binary format. In
rippled APIs, ledger objects are represented as JSON objects.
A ledger object's data fields depend on the type of object; the XRP Ledger supports the following types:
The settings, XRP balance, and other metadata for one account.
Singleton object with status of enabled and pending amendments.
A check that can be redeemed for money by its destination.
A record of preauthorization for sending payments to an account that requires authorization.
Contains links to other objects.
Contains XRP held for a conditional payment.
Singleton object with consensus-approved base transaction cost and reserve requirements.
Lists of prior ledger versions' hashes for history lookup.
List of validators currently believed to be offline.
Create offers to buy or sell NFTs.
Ledger structure for recording NFTokens.
An order to make a currency trade.
A channel for asynchronous XRP payments.
Links two accounts, tracking the balance of one currency between them. The concept of a trust line is an abstraction of this object type.
A list of addresses for multi-signing transactions.
A Ticket tracks an account sequence number that has been set aside for future use.