Standard Interfaces

The ERC-7208 architecture introduced five components:

  • The Data Point, A uniquely identifiable reference to an on-chain data structure stored within one or many Data Objects and managed by one or many Data Managers. Data Points are issued by a Data Point Registry.
  • The Data Object, A Smart Contract implementing the low-level storage management of information indexed through Data Points.
  • The Data Manager, One or many Smart Contracts implementing the high-level logic and end-user interfaces for managing Data Objects.
  • The Data Point Registry, One or many Smart Contracts used for managing the issuance of Data Points. Additionally, a Data Point Registry defines a space of compatible or interoperable Data Points.
  • The Data Index, One or many Smart Contracts used for managing the access of Data Managers to Data Objects.

Data Point

A Data Point is a unique identifier for asset-related information, serving as a reference for data and managed by the Data Object and Data Manager. It is created, owned, and controlled through the Data Point Registry, which handles its creation, ownership, transfer, and access control.

The owner of a Data Point can grant or revoke administrative permissions, defining who can interact with the Data Point. Data Points act as pointers to data stored in the Data Object and facilitate operations between Data Managers and Data Objects. The Data Index enforces access control by validating permissions for operations involving Data Points.

Below you can find the structure of the Data Point:

image

The relationship between a Data Point and its creator is stored in the dataPointRegistry, though users won't interact with this low-level storage. To modify the storage, the Data Point admin must first initialize the Data Manager with the Data Point. For more information about this process, refer to the process diagram in the ODC Architecture topic.

Encoding and decoding a Data Point provides useful information, such as its version, local identifier, source chain, and registry. This is a recommendation and may vary based on technical requirements.

Note

For more details, refer to the Data Point library reference.


Data Object

The Data Object manages storage and data structures without business logic. Unlike the Data Manager, which defines asset behavior, the Data Object handles the data itself, including encoding, decoding, and updating the asset’s state.

Data Objects manage transactions that affect Data Point storage and handle read() and write() requests from Data Managers. They operate through a gating mechanism provided by a single Data Index.

image

The Data Object should implement the logic to handle each read() or write() operation, ensuring only the targeted Data Point for each user or application is modified.

Note

For contract details, refer to the Data Object reference.


Data Manager

Data Manager is a user-facing smart contract that contains the business logic for data management. It acts as the main entry point for user interactions, exposing functions to ensure the underlying storage follows the required use-case logic.

image

When a user calls such operation as issueIdentity(), wrap() or transfer(), the Data Manager only forwards this operation to the Data Index. The Data Index then validates the caller's permissions before allowing data modification.

Data Managers enable interoperability between different standards like ERC-20, ERC-1155, ERC-721, ERC-3643, and ERC-1400 by applying the business logic to existing asset data stored in the Data Object.

Interoperability

To enable asset interoperability, multiple Data Manager smart contracts must be deployed, each tailored to work with a specific ERC standard. For example, one Data Manager may target the ERC-20 standard, while another targets ERC-1155.

Additionally, a Data Object smart contract is deployed to store the asset data. Both Data Managers interact with the same asset data, allowing a single balance to be represented by ERC-20 and ERC-1155 standards.

When a service requires the ERC-20 standard, the client interacts with the ERC-20 Data Manager to initiate the transfer. Upon a successful transfer, the asset data in the Data Object is updated accordingly.

image

Note

For contract details, refer to the ERC1155, ERC721 and ERC20 Data Managers references.


Data Point Registry

The Data Point Registry manages Data Points and acts as an access management smart contract, responsible for creation, management, and access control. Multiple registries can coexist under the Nexera Standard, allocating Data Points to owners and managing administrative roles. Users can grant or revoke permissions to Data Managers for asset management and, if needed, switch to a new Data Manager via the registry.

image

Note

For contract details, refer to the Data Point Registry reference.


Data Index

Data Index acts as the access control layer, which defines what Data Managers have necessary permissions to write data to Data Points in the Data Object smart contract. This prevents unauthorized access, and preserves the integrity of the asset data. Data Index can execute read or write operations on the data stored in the Data Objects.

image

Data Managers request permission from the Data Index to write asset data. Data Index verifies authorization for each Data Manager to interact with specific Data Points and grants access if approved.

While the read() function offers a unified interface, it's recommended to read directly from the Data Object in gas-sensitive applications.

Note

For contract details, refer to the Data Index reference.

On this page