Software Components

The Ocean Protocol network is brought to life by many interacting symbiotic software components.

Before reading this page, you should understand some Ocean-specific terminology.

Keeper

A computer running a blockchain client (such as Parity Ethereum) where the associated blockchain network is running the Ocean Protocol keeper-contracts (smart contracts).

See also: Run a Keeper

Secret Store

A Parity Secret Store: software for distributed key pair generation, distributed key storage, and threshold retrieval. It’s used to store asset access-control keys.

There are several clients for integrating the Parity Secret Store into Ocean:

Aquarius

Marketplaces run Aquarius to store and manage metadata about the assets available in their marketplace. It provides an HTTP API for interacting with an off-chain database (sometimes called “OceanDB”).

OceanDB Drivers

Aquarius supports several options for the off-chain database (OceanDB), including MongoDB, Elasticsearch and BigchainDB. One can add support for another off-chain database by creating a new driver similar to the existing OceanDB drivers.

Brizo

Publishers run Brizo to manage interactions with marketplaces and consumers. It interacts with the publisher’s cloud and/or on-premise infrastructure. The most basic scenario for a publisher is to provide access to the assets the publisher owns or manages, but Brizo can do much more.

Osmosis Drivers

Brizo supports several options for file storage, including Azure Storage, Amazon S3 and on-premise storage. One can add support for another file storage option by creating a new driver similar to one of the existing Osmosis drivers.

Squid Libraries

Client libraries used by applications (such as Pleuston or Jupyter notebooks) to interact with Ocean components, including Keepers, Aquarius nodes, Brizo nodes, etc.

How Squid is Used
How Squid is Used

Pleuston

An example marketplace/publisher front-end for developers to explore, download, and publish assets in an Ocean Protocol network. Implemented using React and squid-js.

Commons Marketplace

An online example marketplace/publisher for consumers to explore, download, and publish open data sets in the Nile Testnet. Implemented using React and squid-js.

For more information, see the blog post about Commons Marketplace.

commonsv0.2.2

⛲️ Commons Marketplace client & server to explore, download, and publish open data sets in the Ocean Network.