6. High-Level Storage Architecture
The architecture of the Iagon protocol is comprised of the following components:
- Iagon client application: Allows storage consumers to interact with the protocol. It will be implemented in the following forms:
- Web application
- Browser extension
- Application Programming Interface (API)
- Cardano wallet: Allows users to manage their cryptocurrencies and submit transactions to the Cardano blockchain. It will be used as a user authentication tool to access data and for payments.
- Adagio: Implements a rewards model for storage providers, connecting the demand of the consumers to the supply from the providers.
- Fermato: Enables communication between storage consumers and smart contracts deployed on the Cardano blockchain, allowing storage consumers to purchase storage and manage their existing subscriptions.
- Rubato: Is the storage marketplace that encodes the supply and demand for storage, allowing storage consumers to reserve and consume storage. It implements both a static pricing model for enterprise storage providers, and a dynamic one for retail resource providers.
- Network Performance Explorer: This component measures the performance of resource providers. This component consists of Bee and Hive.
- Bee: This component fetches the informations of the nodes such as uptime, connection speed, etc. It will be implemented in the form of browser extension.
- Hive: This component receives the informations collected by bees and processes it. Hive handles the file redistribution, shards rebalancing, shards recovery and garbage collection. It will be implemented in the form of electron application and CLI application.
- Node: To join the network and share their excess resources, storage providers must run the Iagon node application. A node is a computer on which the Iagon application is running. It will be implemented in the form of electron application and CLI application.
- Iagon provider dashboard: Allows storage providers to verify their nodes, stake IAG tokens for providing storage, and view all information about resource provider's nodes.
The diagram below shows the high-level architecture of the Iagon protocol: