DIA Technical Structure
DIA is set up as a hybrid system with off-chain components for storing and processing large amounts of data and on-chain components providing data delivery for financial smart contracts. DIA leverages its modular technical structure to achieve the widest coverage of blockchains in the market.
The DIA backend is divided into three main building blocks: Data collection, data storage and data publication. All of the services run on our Kubernetes cluster hosted on IBM cloud. Either restart policies and/or pod replications ensure a seamless function of these services.
- Data Collection: The data collection mechanisms fetch data from various sources such as crypto exchanges and NFT marketplaces.
- Data Storage: After cleansing and further processing, the data is stored in a highly flexible database layer which is able to handle various types of data, ranging from static relational data (PostgreSQL) up to high-frequency time-series data (InfluxDB). For fast access, high-performance data retrieval we use a Redis caching layer.
- Data Publication: The processed data is distributed off-chain using various REST, Websocket and graphQL API endpoints. Furthermore, selected data feeds are published on-chain through our oracle system.
DIA's code is open for everyone to explore. Visit GitHub to verify on your own: