Core Data Structures
The Ixian platform is built upon a set of well-defined data structures. These objects represent everything from the blocks that form the chain to the presence entries that map the network. Understanding their structure and serialization is essential for interacting with the Ixian DLT at a low level.
This section provides a complete specification for each of these core components.
The structure of a block, which contains transactions, state checksums, and consensus signatures that secure the ledger.
The format for an atomic state change, such as transferring funds or registering a name on the DLT.
The network discovery object that advertises a node's identity, public key, and contact endpoints to its peers.
The signed "heartbeat" message used by nodes to maintain their active status in the global Presence List.
The format and derivation of Ixian addresses, which identify wallets and are used as network endpoints.
The global state of all wallet balances and properties, validated through state checksums in each block.
The global registry of Ixian Names and their associated data records, enabling human-readable name resolution.
Common Serialization Types
The following data types are used globally across both the Core and Streaming protocols. Their encoding rules are fundamental to correctly serializing and deserializing any Ixian network message.
A custom variable-length integer encoding that uses fewer bytes for smaller numbers. This is the standard for encoding integers and counts in all message payloads.
The standard format for encoding any variable-length byte array, such as addresses, public keys, and hashes. It prefixes the raw bytes with its length encoded as an IxiVarUInt.
The fixed-point decimal type used for all currency values, including transaction amounts and fees, ensuring consistent precision across all platforms.