From 86d5cf76a51eb52a10951d8862ab020ff9fc4f97 Mon Sep 17 00:00:00 2001 From: Troy McConaghy Date: Sun, 11 Nov 2018 15:49:38 +0100 Subject: [PATCH] All Troy's content revisions made on 11-11-2018 --- content/concepts/architecture.md | 12 ++---- content/concepts/components.md | 50 ++++++++++++++++++++++ content/concepts/ecosystem.md | 53 ------------------------ content/concepts/introduction.md | 10 ++--- content/concepts/terminology.md | 21 ++++------ content/setup/full-node.md | 19 +++++++++ content/setup/keeper.md | 1 + content/setup/marketplace.md | 31 ++++++++++---- content/setup/publisher.md | 1 + data/sidebars/concepts.yml | 13 +++--- data/sidebars/setup.yml | 9 +++- src/components/Repositories/QuickRun.jsx | 2 +- 12 files changed, 124 insertions(+), 98 deletions(-) create mode 100644 content/concepts/components.md delete mode 100644 content/concepts/ecosystem.md create mode 100644 content/setup/full-node.md diff --git a/content/concepts/architecture.md b/content/concepts/architecture.md index 4e66fed9..969862cf 100644 --- a/content/concepts/architecture.md +++ b/content/concepts/architecture.md @@ -3,14 +3,10 @@ title: Architecture 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) -- [🐋 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: +See the (somewhat-dated) diagram on the page https://github.com/oceanprotocol/dev-ocean/blob/master/doc/architecture.md ![Ocean Protocol Components](images/components.png 'Ocean Protocol Components') + + diff --git a/content/concepts/components.md b/content/concepts/components.md new file mode 100644 index 00000000..9b0a183a --- /dev/null +++ b/content/concepts/components.md @@ -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. + + + +## Brizo + +Publishers run Brizo to manage access control to assets on behalf of asset owners or data service providers. + + + +## 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). + + + +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). + + + +## 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) diff --git a/content/concepts/ecosystem.md b/content/concepts/ecosystem.md deleted file mode 100644 index 9c652d42..00000000 --- a/content/concepts/ecosystem.md +++ /dev/null @@ -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/) - - - -## Aquarius - -Aquarius provides an off-chain database store for metadata about data assets. Every marketplace must run an instance of Aquarius. - - - -## 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). - - - -## 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. - - - -## 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. - - - -### 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 -``` diff --git a/content/concepts/introduction.md b/content/concepts/introduction.md index fbbd7804..a44f04a2 100644 --- a/content/concepts/introduction.md +++ b/content/concepts/introduction.md @@ -21,10 +21,10 @@ There are more details on the [Ocean Protocol home page](https://oceanprotocol.com/#papers), and in the whitepapers: -- [Technical Whitepaper](https://oceanprotocol.com/tech-whitepaper.pdf) -- [Business Whitepaper](https://oceanprotocol.com/business-whitepaper.pdf) -- [Reference Marketplace Framework](https://oceanprotocol.com/marketplace-framework.pdf) +- [Technical Whitepaper](https://oceanprotocol.com/tech-whitepaper.pdf) +- [Business Whitepaper](https://oceanprotocol.com/business-whitepaper.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) diff --git a/content/concepts/terminology.md b/content/concepts/terminology.md index 130e78a4..a605eecc 100644 --- a/content/concepts/terminology.md +++ b/content/concepts/terminology.md @@ -7,10 +7,14 @@ description: Terminology specific to Ocean Protocol. 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. +## Publisher + +A service which mediates access to assets on behalf of data owners or service providers. + ## Consumer 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. -## Keeper +## More Terminology -A computer running a blockchain client (i.e. a blockchain node) -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 - -... +See the page about Ocean's [Software Components](/concepts/components/). diff --git a/content/setup/full-node.md b/content/setup/full-node.md new file mode 100644 index 00000000..8de799c5 --- /dev/null +++ b/content/setup/full-node.md @@ -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). + + diff --git a/content/setup/keeper.md b/content/setup/keeper.md index 9189672c..d64a9739 100644 --- a/content/setup/keeper.md +++ b/content/setup/keeper.md @@ -1,3 +1,4 @@ --- title: Set Up a Keeper +description: Coming soon --- diff --git a/content/setup/marketplace.md b/content/setup/marketplace.md index a64a840b..5bbcb080 100644 --- a/content/setup/marketplace.md +++ b/content/setup/marketplace.md @@ -1,16 +1,33 @@ --- 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) -1. [🐋 aquarius](https://github.com/oceanprotocol/aquarius) -1. A database for Aquarius +- Build your marketplace application +- Run your marketplace application and some Ocean components: + - 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. -Let's take a closer look inside each of those components. +We expand on all of that below. + +## 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. + +
+ +Old content to scavenge: ## Pleuston diff --git a/content/setup/publisher.md b/content/setup/publisher.md index a89126b2..c093b87b 100644 --- a/content/setup/publisher.md +++ b/content/setup/publisher.md @@ -1,3 +1,4 @@ --- title: Publish Data or Services +description: Coming soon --- diff --git a/data/sidebars/concepts.yml b/data/sidebars/concepts.yml index 26ad6867..1bf51307 100644 --- a/data/sidebars/concepts.yml +++ b/data/sidebars/concepts.yml @@ -1,22 +1,19 @@ -- group: Getting Started +- group: Basics items: - title: What is Ocean Protocol? link: /concepts/introduction/ - - title: Ecosystem overview - link: /concepts/ecosystem/ - title: Terminology link: /concepts/terminology/ - -- group: Architecture - items: - - title: Overview + - title: Software Components + link: /concepts/components/ + - title: Architecture link: /concepts/architecture/ - group: Security items: - title: Overview link: /concepts/security/ - - title: Reporting vulnerabilities + - title: Reporting Vulnerabilities link: /concepts/vulnerabilities/ - group: Roadmap diff --git a/data/sidebars/setup.yml b/data/sidebars/setup.yml index 2659ecbb..aeab5ea1 100644 --- a/data/sidebars/setup.yml +++ b/data/sidebars/setup.yml @@ -1,14 +1,19 @@ +- group: Full Nodes + items: + - title: Set Up a Full Node + link: /setup/full-node/ + - group: Marketplaces items: - title: Set Up a Marketplace link: /setup/marketplace/ -- group: Keeper +- group: Keepers items: - title: Set Up a Keeper link: /setup/keeper/ -- group: Publisher +- group: Publishers items: - title: Publish Data or Services link: /setup/publisher/ diff --git a/src/components/Repositories/QuickRun.jsx b/src/components/Repositories/QuickRun.jsx index ec18ad5e..5d651bc7 100644 --- a/src/components/Repositories/QuickRun.jsx +++ b/src/components/Repositories/QuickRun.jsx @@ -10,7 +10,7 @@ const QuickRun = ({ name }) => (

TL;DR

Wanna quickly get an Ocean network with all{' '} - core components running + core components running on your machine?