mirror of
https://github.com/oceanprotocol/docs.git
synced 2024-11-26 19:49:26 +01:00
Merge branch 'master' into feature/revise-readme-md
This commit is contained in:
commit
eb08d631a8
@ -3,14 +3,10 @@ title: Architecture
|
|||||||
description: The architecture of Ocean Protocol with all its components and how they work together.
|
description: The architecture of Ocean Protocol with all its components and how they work together.
|
||||||
---
|
---
|
||||||
|
|
||||||
In the [Ecosystem overview](/concepts/ecosystem/) you learned about the components making up the Ocean Protocol network:
|
See the page about the [Ocean network components](/concepts/components/).
|
||||||
|
|
||||||
- [💧 keeper-contracts](https://github.com/oceanprotocol/keeper-contracts)
|
See the (somewhat-dated) diagram on the page https://github.com/oceanprotocol/dev-ocean/blob/master/doc/architecture.md
|
||||||
- [🐋 aquarius](https://github.com/oceanprotocol/aquarius)
|
|
||||||
- [brizo](https://github.com/oceanprotocol/brizo)
|
|
||||||
- [🦄 pleuston](https://github.com/oceanprotocol/pleuston)
|
|
||||||
- [🦑 squid-js](https://github.com/oceanprotocol/squid-js)
|
|
||||||
|
|
||||||
They work together in various ways:
|
|
||||||
|
|
||||||
![Ocean Protocol Components](images/components.png 'Ocean Protocol Components')
|
![Ocean Protocol Components](images/components.png 'Ocean Protocol Components')
|
||||||
|
|
||||||
|
|
||||||
|
50
content/concepts/components.md
Normal file
50
content/concepts/components.md
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
---
|
||||||
|
title: Software Components
|
||||||
|
description: 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](/concepts/terminology/).
|
||||||
|
|
||||||
|
## Aquarius
|
||||||
|
|
||||||
|
Every marketplace must run an instance of Aquarius.
|
||||||
|
Aquarius provides an API to an off-chain database ("OceanDB") to store and manage metadata about data assets: the assets listed in that marketplace.
|
||||||
|
The off-chain database might be MongoDB, Elasticsearch or BigchainDB.
|
||||||
|
|
||||||
|
<repo name="aquarius"></repo>
|
||||||
|
|
||||||
|
## Brizo
|
||||||
|
|
||||||
|
Publishers run Brizo to manage access control to assets on behalf of asset owners or data service providers.
|
||||||
|
|
||||||
|
<repo name="brizo"></repo>
|
||||||
|
|
||||||
|
## Keeper
|
||||||
|
|
||||||
|
A computer running a blockchain client
|
||||||
|
(such as [Parity Ethereum](https://www.parity.io/ethereum/))
|
||||||
|
where the associated blockchain network is running the Ocean Protocol
|
||||||
|
[💧 keeper-contracts](https://github.com/oceanprotocol/keeper-contracts)
|
||||||
|
(smart contracts).
|
||||||
|
|
||||||
|
<repo name="keeper-contracts"></repo>
|
||||||
|
|
||||||
|
See also: [Set Up a Keeper](/setup/keeper/)
|
||||||
|
|
||||||
|
## Pleuston
|
||||||
|
|
||||||
|
An example marketplace front-end for consumers to explore, download, and publish data assets within the Ocean Protocol network. Implemented using [React](https://reactjs.org/) and [🦑 squid-js](https://github.com/oceanprotocol/squid-js).
|
||||||
|
|
||||||
|
<repo name="pleuston"></repo>
|
||||||
|
|
||||||
|
## Secret Store
|
||||||
|
|
||||||
|
A [Parity Secret Store](https://wiki.parity.io/Secret-Store): software for distributed key pair generation, distributed key storage, and threshold retrieval. It's used to store asset access-control keys.
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|
- [🦑 squid-js](https://github.com/oceanprotocol/squid-js)
|
||||||
|
- [🦑 squid-py](https://github.com/oceanprotocol/squid-py)
|
||||||
|
- [🦑 squid-java](https://github.com/oceanprotocol/squid-java)
|
@ -1,53 +0,0 @@
|
|||||||
---
|
|
||||||
title: Ecosystem
|
|
||||||
description: The Ocean Protocol network consists of various components. Learn about all of them here.
|
|
||||||
---
|
|
||||||
|
|
||||||
## Keeper-contracts
|
|
||||||
|
|
||||||
See also [Set Up a Keeper](/setup/keeper/)
|
|
||||||
|
|
||||||
<repo name="keeper-contracts"></repo>
|
|
||||||
|
|
||||||
## Aquarius
|
|
||||||
|
|
||||||
Aquarius provides an off-chain database store for metadata about data assets. Every marketplace must run an instance of Aquarius.
|
|
||||||
|
|
||||||
<repo name="aquarius"></repo>
|
|
||||||
|
|
||||||
## Brizo
|
|
||||||
|
|
||||||
Brizo is the technical component executed by Publishers allowing them to provide extended data services. Brizo, as part of the Publisher ecosystem, includes the credentials to interact with the infrastructure (initially cloud, but could be on-premise).
|
|
||||||
|
|
||||||
<repo name="brizo"></repo>
|
|
||||||
|
|
||||||
## Pleuston
|
|
||||||
|
|
||||||
An example marketplace front-end for consumers to explore, download, and publish data assets within the Ocean Protocol network. Implemented using React and squid-js.
|
|
||||||
|
|
||||||
<repo name="pleuston"></repo>
|
|
||||||
|
|
||||||
## Squid
|
|
||||||
|
|
||||||
Client libraries used by applications to interact with Ocean nodes, including Keepers, Aquarius nodes, Brizo nodes, etc.
|
|
||||||
|
|
||||||
- [🦑 squid-js](https://github.com/oceanprotocol/squid-js)
|
|
||||||
- [🦑 squid-py](https://github.com/oceanprotocol/squid-py)
|
|
||||||
- [🦑 squid-java](https://github.com/oceanprotocol/squid-java)
|
|
||||||
|
|
||||||
## Docker images
|
|
||||||
|
|
||||||
All of our core components generate Docker images automatically and we provide some handy Docker Compose scripts to help with testing, showcasing, and developing Ocean Protocol.
|
|
||||||
|
|
||||||
<repo name="docker-images"></repo>
|
|
||||||
|
|
||||||
### Full Ocean network stack
|
|
||||||
|
|
||||||
As a quick start, you can get a fully working Ocean network with all of the core components mentioned above working together:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/oceanprotocol/docker-images.git
|
|
||||||
cd docker-images/
|
|
||||||
|
|
||||||
./start_ocean.sh --latest
|
|
||||||
```
|
|
@ -21,10 +21,10 @@ There are more details on the
|
|||||||
[Ocean Protocol home page](https://oceanprotocol.com/#papers),
|
[Ocean Protocol home page](https://oceanprotocol.com/#papers),
|
||||||
and in the whitepapers:
|
and in the whitepapers:
|
||||||
|
|
||||||
- [Technical Whitepaper](https://oceanprotocol.com/tech-whitepaper.pdf)
|
- [Technical Whitepaper](https://oceanprotocol.com/tech-whitepaper.pdf)
|
||||||
- [Business Whitepaper](https://oceanprotocol.com/business-whitepaper.pdf)
|
- [Business Whitepaper](https://oceanprotocol.com/business-whitepaper.pdf)
|
||||||
- [Reference Marketplace Framework](https://oceanprotocol.com/marketplace-framework.pdf)
|
- [Reference Marketplace Framework](https://oceanprotocol.com/marketplace-framework.pdf)
|
||||||
|
|
||||||
## More information
|
## More Information
|
||||||
|
|
||||||
- [Mission & Values for Ocean Protocol](https://blog.oceanprotocol.com/mission-values-for-ocean-protocol-aba998e95b8)
|
- [Mission & Values for Ocean Protocol](https://blog.oceanprotocol.com/mission-values-for-ocean-protocol-aba998e95b8)
|
||||||
|
@ -7,10 +7,14 @@ description: Terminology specific to Ocean Protocol.
|
|||||||
|
|
||||||
A data set or data service.
|
A data set or data service.
|
||||||
|
|
||||||
## Publisher
|
## Data Owner or Service Provider
|
||||||
|
|
||||||
Someone who has assets that they want to sell (or give away freely). An example is an almond distributor with 30 years of data about almond sales.
|
Someone who has assets that they want to sell (or give away freely). An example is an almond distributor with 30 years of data about almond sales.
|
||||||
|
|
||||||
|
## Publisher
|
||||||
|
|
||||||
|
A service which mediates access to assets on behalf of data owners or service providers.
|
||||||
|
|
||||||
## Consumer
|
## Consumer
|
||||||
|
|
||||||
Someone who wants assets. An example is a data scientist working at an economic think tank.
|
Someone who wants assets. An example is a data scientist working at an economic think tank.
|
||||||
@ -19,17 +23,6 @@ Someone who wants assets. An example is a data scientist working at an economic
|
|||||||
|
|
||||||
A service where publishers can list what assets they have, and consumers can see what's available then buy it (or get it for free). The Ocean network supports many marketplaces.
|
A service where publishers can list what assets they have, and consumers can see what's available then buy it (or get it for free). The Ocean network supports many marketplaces.
|
||||||
|
|
||||||
## Keeper
|
## More Terminology
|
||||||
|
|
||||||
A computer running a blockchain client (i.e. a blockchain node)
|
See the page about Ocean's [Software Components](/concepts/components/).
|
||||||
where the associated blockchain network is running the Ocean Protocol
|
|
||||||
[💧 keeper-contracts](https://github.com/oceanprotocol/keeper-contracts)
|
|
||||||
(smart contracts).
|
|
||||||
|
|
||||||
## Secret Store
|
|
||||||
|
|
||||||
[Parity Secret Store](https://wiki.parity.io/Secret-Store): software for distributed key pair generation, distributed key storage, and threshold retrieval.
|
|
||||||
|
|
||||||
## Ocean network
|
|
||||||
|
|
||||||
...
|
|
||||||
|
19
content/setup/full-node.md
Normal file
19
content/setup/full-node.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: Set Up a Full Node
|
||||||
|
description: Run every Ocean component in one machine, all at once.
|
||||||
|
---
|
||||||
|
|
||||||
|
A "full node" is a machine that runs all the [Ocean components](/concepts/components/), set up so they all work together.
|
||||||
|
|
||||||
|
As a quick start, you can run a stand-alone full node by doing the following (which requires Git, Docker and Docker Compose):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/oceanprotocol/docker-images.git
|
||||||
|
cd docker-images/
|
||||||
|
|
||||||
|
./start_ocean.sh --latest
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details, see the [docker-images repository](https://github.com/oceanprotocol/docker-images).
|
||||||
|
|
||||||
|
<repo name="docker-images"></repo>
|
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
title: Set Up a Keeper
|
title: Set Up a Keeper
|
||||||
|
description: Coming soon
|
||||||
---
|
---
|
||||||
|
@ -1,16 +1,33 @@
|
|||||||
---
|
---
|
||||||
title: Set Up a Marketplace
|
title: Set Up a Marketplace
|
||||||
description: Fill me
|
description: Build and run a data marketplace in the Ocean network.
|
||||||
---
|
---
|
||||||
|
|
||||||
If you want to set up a marketplace for the Ocean network, then you could start by running the following tech stack:
|
If you want to set up and run a marketplace in the Ocean network, then at a technical level, you must:
|
||||||
|
|
||||||
1. [🦄 pleuston](https://github.com/oceanprotocol/pleuston)
|
- Build your marketplace application
|
||||||
1. [🐋 aquarius](https://github.com/oceanprotocol/aquarius)
|
- Run your marketplace application and some Ocean components:
|
||||||
1. A database for Aquarius
|
- Aquarius
|
||||||
|
- A database for Aquarius
|
||||||
|
- An Ethereum client (e.g. Ganache, Parity Ethereum)
|
||||||
|
- Maybe Brizo, unless you are working with others (publishers) running Brizo
|
||||||
|
- Maybe more?
|
||||||
|
|
||||||
Then you could modify that stack to better suit your needs.
|
We expand on all of that below.
|
||||||
Let's take a closer look inside each of those components.
|
|
||||||
|
## Building A Marketplace Application
|
||||||
|
|
||||||
|
An Ocean marketplace application is a web app that lets people list data assets for sale (maybe free) and lets consumers buy those assets. To connect your marketplace with the Ocean network, you'll want to use one of the Squid libraries.
|
||||||
|
|
||||||
|
TODO: Expand the following:
|
||||||
|
|
||||||
|
Dev option 1: Fork Pleuston (serverless). Use the Docker Compose workflow that Pleuston devs use.
|
||||||
|
|
||||||
|
Dev option 2: Build a marketplace with a server-side and a web frontend. Use one of the Squid libraries.
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
Old content to scavenge:
|
||||||
|
|
||||||
## Pleuston
|
## Pleuston
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
title: Publish Data or Services
|
title: Publish Data or Services
|
||||||
|
description: Coming soon
|
||||||
---
|
---
|
||||||
|
@ -1,22 +1,19 @@
|
|||||||
- group: Getting Started
|
- group: Basics
|
||||||
items:
|
items:
|
||||||
- title: What is Ocean Protocol?
|
- title: What is Ocean Protocol?
|
||||||
link: /concepts/introduction/
|
link: /concepts/introduction/
|
||||||
- title: Ecosystem overview
|
|
||||||
link: /concepts/ecosystem/
|
|
||||||
- title: Terminology
|
- title: Terminology
|
||||||
link: /concepts/terminology/
|
link: /concepts/terminology/
|
||||||
|
- title: Software Components
|
||||||
- group: Architecture
|
link: /concepts/components/
|
||||||
items:
|
- title: Architecture
|
||||||
- title: Overview
|
|
||||||
link: /concepts/architecture/
|
link: /concepts/architecture/
|
||||||
|
|
||||||
- group: Security
|
- group: Security
|
||||||
items:
|
items:
|
||||||
- title: Overview
|
- title: Overview
|
||||||
link: /concepts/security/
|
link: /concepts/security/
|
||||||
- title: Reporting vulnerabilities
|
- title: Reporting Vulnerabilities
|
||||||
link: /concepts/vulnerabilities/
|
link: /concepts/vulnerabilities/
|
||||||
|
|
||||||
- group: Roadmap
|
- group: Roadmap
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
|
- group: Full Nodes
|
||||||
|
items:
|
||||||
|
- title: Set Up a Full Node
|
||||||
|
link: /setup/full-node/
|
||||||
|
|
||||||
- group: Marketplaces
|
- group: Marketplaces
|
||||||
items:
|
items:
|
||||||
- title: Set Up a Marketplace
|
- title: Set Up a Marketplace
|
||||||
link: /setup/marketplace/
|
link: /setup/marketplace/
|
||||||
|
|
||||||
- group: Keeper
|
- group: Keepers
|
||||||
items:
|
items:
|
||||||
- title: Set Up a Keeper
|
- title: Set Up a Keeper
|
||||||
link: /setup/keeper/
|
link: /setup/keeper/
|
||||||
|
|
||||||
- group: Publisher
|
- group: Publishers
|
||||||
items:
|
items:
|
||||||
- title: Publish Data or Services
|
- title: Publish Data or Services
|
||||||
link: /setup/publisher/
|
link: /setup/publisher/
|
||||||
|
@ -10,7 +10,7 @@ const QuickRun = ({ name }) => (
|
|||||||
<h1 className={styles.tldr}>TL;DR</h1>
|
<h1 className={styles.tldr}>TL;DR</h1>
|
||||||
<strong>
|
<strong>
|
||||||
Wanna quickly get an Ocean network with all{' '}
|
Wanna quickly get an Ocean network with all{' '}
|
||||||
<Link to="/concepts/ecosystem/">core components</Link> running
|
<Link to="/concepts/components/">core components</Link> running
|
||||||
on your machine?
|
on your machine?
|
||||||
</strong>
|
</strong>
|
||||||
</header>
|
</header>
|
||||||
|
Loading…
Reference in New Issue
Block a user