1
0
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:
Matthias Kretschmann 2018-11-12 10:23:20 +01:00 committed by GitHub
commit eb08d631a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 124 additions and 98 deletions

View File

@ -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')

View 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)

View File

@ -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
```

View File

@ -25,6 +25,6 @@ and in the whitepapers:
- [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)

View File

@ -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
...

View 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>

View File

@ -1,3 +1,4 @@
--- ---
title: Set Up a Keeper title: Set Up a Keeper
description: Coming soon
--- ---

View File

@ -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

View File

@ -1,3 +1,4 @@
--- ---
title: Publish Data or Services title: Publish Data or Services
description: Coming soon
--- ---

View File

@ -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

View File

@ -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/

View File

@ -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>