From f2b7529b60c004962da9ce3cfd8c0e8d3e7c3ff5 Mon Sep 17 00:00:00 2001 From: alexcos20 Date: Wed, 29 Apr 2020 13:27:29 +0300 Subject: [PATCH 1/4] first cut --- content/concepts/compute-to-data.md | 94 ++++++++++++++++++ .../images/4_Starting_New_Compute_Job.png | Bin 0 -> 40554 bytes content/concepts/images/brizo-hl-arch.png | Bin 0 -> 109991 bytes .../react-compute-published-algorithm.md | 49 +++++++++ content/tutorials/react-compute-raw.md | 65 ++++++++++++ content/tutorials/react-compute-status.md | 32 ++++++ content/tutorials/react-get-use-data-set.md | 4 +- content/tutorials/react-publish-algorithm.md | 41 ++++++++ .../react-publish-data-set-compute.md | 34 +++++++ data/repositories.yml | 8 ++ data/sidebars/concepts.yml | 2 + data/sidebars/tutorials.yml | 12 ++- 12 files changed, 338 insertions(+), 3 deletions(-) create mode 100644 content/concepts/compute-to-data.md create mode 100644 content/concepts/images/4_Starting_New_Compute_Job.png create mode 100644 content/concepts/images/brizo-hl-arch.png create mode 100644 content/tutorials/react-compute-published-algorithm.md create mode 100644 content/tutorials/react-compute-raw.md create mode 100644 content/tutorials/react-compute-status.md create mode 100644 content/tutorials/react-publish-algorithm.md create mode 100644 content/tutorials/react-publish-data-set-compute.md diff --git a/content/concepts/compute-to-data.md b/content/concepts/compute-to-data.md new file mode 100644 index 00000000..8983898d --- /dev/null +++ b/content/concepts/compute-to-data.md @@ -0,0 +1,94 @@ +--- +title: Compute-to-Data +description: How Ocean Protocol enables Publishers to provide computing services and related services. +slug: /concepts/compute-to-data/ +section: concepts +--- + + +## Motivation + +The most basic scenario for a Publisher is to provide access to the datasets they own or manage. +In addition to that, a Publisher could offer other data-related services. +Some possibilities are: + +1. A service to execute some computation on top of their data. This has some benefits: + + - The data **never** leaves the Publisher enclave. + - It's not necessary to move the data; the algorithm is sent to the data. + - Having only one copy of the data and not moving it makes it easier to be compliant with data protection regulations. + +2. A service to store newly-derived datasets. As a result of the computation on existing datasets, a new dataset could be created. Publishers could offer a storage service to make use of their existing storage capabilities. This is optional; users could also download the newly-derived datasets. + +## Architecture + +### Enabling Publisher Services (Brizo) + +The direct interaction with the infrastructure where the data resides requires the execution of a component handled by Publishers. + +This component will be in charge of interacting with users and managing the basics of a Publisher's infrastructure to provide these additional services. + +The business logic supporting these additional Publisher capabilities is the responsibility of this new technical component. + +The main and new key component introduced to support these additional Publisher services is named **Brizo**. + +> Brizo is an ancient Greek goddess who was known as the protector of mariners, sailors, and fishermen. She was worshipped primarily by the women of Delos, who set out food offerings in small boats. Brizo was also known as a prophet specializing in the interpretation of dreams. + +In the Ocean ecosystem, Brizo is the technical component executed by the **Publishers**, which provides extended data services. Brizo, as part of the Publisher ecosystem, includes the credentials to interact with the infrastructure (initially in cloud providers, but it could be on-premise). + +Because of these credentials, the execution of Brizo **SHOULD NOT** be delegated to a third-party. + + + +![Brizo High-Level Architecture](images/brizo-hl-arch.png) + +### Compute-to-Data Enviroment (Operator-Service) + +The Operator Service is a micro-service implementing part of the Ocean Protocol +[Compute to the Data OEP-12](https://github.com/oceanprotocol/OEPs/tree/master/12), +in charge of managing the workflow executing requests. + +Typically the Operator Service is integrated from the [Brizo proxy](https://github.com/oceanprotocol/brizo), +but can be called independently if it. + +The Operator Service is in charge of stablishing the communication with the K8s cluster, allowing to: + +* Register workflows as K8s objects +* List the workflows registered in K8s +* Stop a running workflow execution +* Get information about the state of execution of a workflow + +The Operator Service doesn't provide any storage capability, all the state is stored directly in the K8s cluster. + + + + +### Responsibilities + +The main responsibilities are: + +* Expose an HTTP API allowing for the execution of data access and compute endpoints. +* Authorize the user on-chain using the proper Service Agreement. That is, validate that the user requesting the service is allowed to use that service. +* Interact with the infrastructure (cloud/on-premise) using the Publisher's credentials. +* Start/stop/execute computing instances with the algorithms provided by users. +* Retrieve the logs generated during executions. +* Register newly-derived assets arising from the executions (i.e. as new Ocean assets) (if required by the consumer). + + +### Flow + +![Sequence Diagram for computing services](images/4_Starting_New_Compute_Job.png) + +In the above diagram you can see the initial integration supported. It involves the following components/actors: + +* Data Scientists/Consumers - The end users who need to use some computing services offered by the same Publisher as the data Publisher. +* Ocean Keeper - In charge of enforcing the Service Agreement by tracing conditions. +* Operator-Service - Micro-service that is handling the compute requests. +* Operator-Engine - The computing systems where the compute will be executed. + +Before the flow can begin, the following pre-conditions must be met: + +* The Asset DDO has a compute service. +* The Asset DDO must specify the Brizo endpoint exposed by the Publisher. +* The Service Agreement template must already be predefined and whitelisted `on-chain`. + diff --git a/content/concepts/images/4_Starting_New_Compute_Job.png b/content/concepts/images/4_Starting_New_Compute_Job.png new file mode 100644 index 0000000000000000000000000000000000000000..a55fc9d06d26d94651671b91947e7f7f6ee8d29f GIT binary patch literal 40554 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 CqlR+; literal 0 HcmV?d00001 diff --git a/content/tutorials/react-compute-published-algorithm.md b/content/tutorials/react-compute-published-algorithm.md new file mode 100644 index 00000000..abf06863 --- /dev/null +++ b/content/tutorials/react-compute-published-algorithm.md @@ -0,0 +1,49 @@ +--- +title: Compute using a published algorithm on a Data Set +description: Compute using a published algorithm on a Data Set +--- + +## Requirements + +This is a continuation of the [React App Setup](/tutorials/react-setup/) tutorial, so make sure you have done all the steps described in there. + +1. [React App Setup](/tutorials/react-setup/) + +Open `src/index.js` from your `marketplace/` folder. + +## Define Compute Output + +First, let's define some options for our upcoming job: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 163-182 GITHUB-EMBED + +and use them + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 61-70 GITHUB-EMBED + +## Order the dataset + +Next, we have to order the dataset that we are going to compute upon. We are going to use the ddoAssetId, which was set during publishing of the asset. + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 73 GITHUB-EMBED + +## Start the compute job + +And finally, start the job: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 76-82 GITHUB-EMBED + +## Final Result + +Now that we have all the requirements, we need a function to handle it. + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 58-89,92-94 GITHUB-EMBED + + +The last thing we need is a button to start our compute job: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 202-207 GITHUB-EMBED + +** Notice that the button will be disabled if there were no previous published Datasets and Algorithms. + +**Move on to [Get Status of a Compute Job](react-compute-status).** diff --git a/content/tutorials/react-compute-raw.md b/content/tutorials/react-compute-raw.md new file mode 100644 index 00000000..0ef9603f --- /dev/null +++ b/content/tutorials/react-compute-raw.md @@ -0,0 +1,65 @@ +--- +title: Compute using a raw algorithm on a Data Set +description: Compute using a raw algorithm on a Data Set +--- + +## Requirements + +This is a continuation of the [React App Setup](/tutorials/react-setup/) tutorial, so make sure you have done all the steps described in there. + +1. [React App Setup](/tutorials/react-setup/) + +Open `src/index.js` from your `marketplace/` folder. + +## Define Raw Code + +Sometime, you just need to quickly run an test algorithm. Instead of publishing it as an asset, you can use the code directly. + +To do that, we are going to use a textbox for copy/paste and a button to show/hide it. + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 184-195 GITHUB-EMBED + +## Define Algorithm MetaData + +We need to define all the requirments for the algorithm: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/asset-compute.js jsx 35-44 GITHUB-EMBED + +and them import it to our Compute.js: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 4 GITHUB-EMBED + + +## Define Compute Output + +Let's define some options for our upcoming job: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 163-182 GITHUB-EMBED + +and use them + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 61-70 GITHUB-EMBED + +# Order the dataset + +Next, we have to order the dataset that we are going to compute upon. We are going to use the ddoAssetId, which was set during publishing of the asset. + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 73 GITHUB-EMBED + +## Start the compute job + +We need a function to start the job: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 58-89 GITHUB-EMBED + +Get the pasted code: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 96-100 GITHUB-EMBED + +The last thing we need is a button inside the `render()` function: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 208-211 GITHUB-EMBED + +** Notice that the button will be disabled if there were no previous published Datasets. + +**Move on to [Get Status of a Compute Job](react-compute-status).** diff --git a/content/tutorials/react-compute-status.md b/content/tutorials/react-compute-status.md new file mode 100644 index 00000000..f29a19a7 --- /dev/null +++ b/content/tutorials/react-compute-status.md @@ -0,0 +1,32 @@ +--- +title: Get Status of a Compute Job +description: Get Status of a Compute Job +--- + +## Requirements + +For this setup, we need a compute job that has been started from [Compute using a published algorithm on a Data Set](/tutorials/react-compute-published-algorithm/) or [Compute using a raw algorithm on a Data Set](/tutorials/react-compute-raw/) + +## Create an Area to display the status + +First, let's define an area to display status: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 213-226 GITHUB-EMBED + +## Get Job Status + +Since we have the agreementId and jobId, we can get status from a compute job: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 106 GITHUB-EMBED + +## Final Result + +Let's wrap that into a function: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 102-112 GITHUB-EMBED + +and have a button for it: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 223 GITHUB-EMBED + +** Notice that the button will be disabled if jobId is missing. diff --git a/content/tutorials/react-get-use-data-set.md b/content/tutorials/react-get-use-data-set.md index c93b5f8a..55dcdcbe 100644 --- a/content/tutorials/react-get-use-data-set.md +++ b/content/tutorials/react-get-use-data-set.md @@ -1,5 +1,5 @@ --- -title: Get & Use a Data Set +title: Search & Consume a Data Set description: Tutorial to get and use a data set in a basic React app. --- @@ -34,7 +34,7 @@ Consuming means downloading one or multiple files attached to an asset. During t With the following code we start the consume process with the first search result, then go on to download its first attached file. Put it after the `searchAssets()` function: -GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/e639e9ed4432e8b72ca453d50ed7bdaa36f1efb4/src/index.js jsx 72-98 GITHUB-EMBED +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/index.js jsx 73-95 GITHUB-EMBED We still need a button to start consumption. In the render function, just after the _Search assets_ button, add: diff --git a/content/tutorials/react-publish-algorithm.md b/content/tutorials/react-publish-algorithm.md new file mode 100644 index 00000000..caf1775b --- /dev/null +++ b/content/tutorials/react-publish-algorithm.md @@ -0,0 +1,41 @@ +--- +title: Publish a Algorithm +description: Tutorial to add Algorithm dataset publishing capabilities to a basic React app. +--- + +## Requirements + +This is a continuation of the [React App Setup](/tutorials/react-setup/) tutorial, so make sure you have done all the steps described in there. + +1. [React App Setup](/tutorials/react-setup/) + +Open `src/index.js` from your `marketplace/` folder. + +## Define Asset + +First, let's add the [asset](/concepts/terminology/#asset-or-data-asset) that we want to publish. + +To do that, we need to define the Algorithm asset based on the [OEP-08](https://github.com/oceanprotocol/OEPs/tree/master/8) metadata structure. An algorithm asset can have multiple `files` attached to it and each file's `url` value will be encrypted during the publish process. + +Let's create a new file `src/asset-compute.js` and fill it with: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/asset-compute.js jsx 1-33 GITHUB-EMBED + +** Notice the “ALGO” macro in the entrypoint attribute, this is replaced with the downloaded executable algorithm inside the pod + +Then import this asset definition at the top of `src/Compute.js`: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 4 GITHUB-EMBED + +## Handle Asset Publishing + +Now that we have an asset to submit, we need a function to handle it. Just before `render() {` let's add this `publishalgo` function: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 42-56 GITHUB-EMBED + +The last thing we need is a button to start our registration inside the `render()` function: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 153 GITHUB-EMBED + + +**Move on to [Compute using a published algorithm on a Data Set](/tutorials/react-compute-published-algorithm/).** diff --git a/content/tutorials/react-publish-data-set-compute.md b/content/tutorials/react-publish-data-set-compute.md new file mode 100644 index 00000000..35c8b06e --- /dev/null +++ b/content/tutorials/react-publish-data-set-compute.md @@ -0,0 +1,34 @@ +--- +title: Publish a Data Set with Compute features +description: Tutorial to add a dataset with compute capabilities to a basic React app. +--- + +## Requirements + +This is a continuation of the [React App Setup](/tutorials/react-setup/) tutorial, so make sure you have done all the steps described in there. + +1. [React App Setup](/tutorials/react-setup/) + +Open `src/index.js` from your `marketplace/` folder. + +## Define Asset + +We will use the same asset as in [Publish a Data Set](/tutorials/react-publish-data-set), but we are going to allow only compute features, without the ability to download the asset. + +This is achiveable by adding a 'compute' service to the DDO: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 23-27 GITHUB-EMBED + + +## Handle Asset Publishing + +Note that ocean.assets.create will define an 'access' service if the services list is missing. Since we are providing this attribute, our asset will have only a 'compute' service and no 'access' service. + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 18-40 GITHUB-EMBED + +The last thing we need is a button to start our registration inside the `render()` function: + +GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 143 GITHUB-EMBED + + +**Move on to [Publish a Algorithm](/tutorials/react-publish-algorithm/).** diff --git a/data/repositories.yml b/data/repositories.yml index 240866b2..8366c8a8 100644 --- a/data/repositories.yml +++ b/data/repositories.yml @@ -82,3 +82,11 @@ - name: Research Board url: https://github.com/oceanprotocol/ocean/projects/3 - name: dev-ocean + +- group: Compute-to-Data Enviroment + items: + - name: operator-service + - name: operator-engine + - name: pod-configuration + - name: pod-publishing + \ No newline at end of file diff --git a/data/sidebars/concepts.yml b/data/sidebars/concepts.yml index 36cbf75f..e9afa60f 100644 --- a/data/sidebars/concepts.yml +++ b/data/sidebars/concepts.yml @@ -23,6 +23,8 @@ link: /concepts/architecture/ - title: Secret Store link: /concepts/secret-store/ + - title: Compute-to-Data + link: /concepts/compute-to-data/ - group: Contribute items: diff --git a/data/sidebars/tutorials.yml b/data/sidebars/tutorials.yml index bb750fd2..7c09cb56 100644 --- a/data/sidebars/tutorials.yml +++ b/data/sidebars/tutorials.yml @@ -31,8 +31,18 @@ link: /tutorials/react-setup/ - title: Publish a Data Set link: /tutorials/react-publish-data-set/ - - title: Get & Use a Data Set + - title: Search & Consume a Data Set link: /tutorials/react-get-use-data-set/ + - title: Publish a Data Set with Compute features + link: /tutorials/react-publish-data-set-compute/ + - title: Publish a Algorithm + link: /tutorials/react-publish-algorithm/ + - title: Compute using a published algorithm on a Data Set + link: /tutorials/react-compute-published-algorithm/ + - title: Compute using a raw algorithm on a Data Set + link: /tutorials/react-compute-raw/ + - title: Get Status of a Compute Job + link: /tutorials/react-compute-status/ - group: squid-py Tutorials items: From 6408cfdbdaea7f0b06c6e1896f0de3e705525dc6 Mon Sep 17 00:00:00 2001 From: alexcos20 Date: Mon, 4 May 2020 11:20:05 +0300 Subject: [PATCH 2/4] fixes --- content/concepts/compute-to-data.md | 40 +++++++++---------- content/concepts/testnets.md | 5 --- .../react-compute-published-algorithm.md | 2 +- content/tutorials/react-compute-raw.md | 2 +- content/tutorials/react-publish-algorithm.md | 2 +- .../react-publish-data-set-compute.md | 2 +- 6 files changed, 22 insertions(+), 31 deletions(-) diff --git a/content/concepts/compute-to-data.md b/content/concepts/compute-to-data.md index 8983898d..eec7f514 100644 --- a/content/concepts/compute-to-data.md +++ b/content/concepts/compute-to-data.md @@ -9,16 +9,12 @@ section: concepts ## Motivation The most basic scenario for a Publisher is to provide access to the datasets they own or manage. -In addition to that, a Publisher could offer other data-related services. -Some possibilities are: - -1. A service to execute some computation on top of their data. This has some benefits: +In addition to that, a Publisher could offer a service to execute some computation on top of their data. This has some benefits: - The data **never** leaves the Publisher enclave. - It's not necessary to move the data; the algorithm is sent to the data. - Having only one copy of the data and not moving it makes it easier to be compliant with data protection regulations. -2. A service to store newly-derived datasets. As a result of the computation on existing datasets, a new dataset could be created. Publishers could offer a storage service to make use of their existing storage capabilities. This is optional; users could also download the newly-derived datasets. ## Architecture @@ -53,10 +49,10 @@ but can be called independently if it. The Operator Service is in charge of stablishing the communication with the K8s cluster, allowing to: -* Register workflows as K8s objects -* List the workflows registered in K8s -* Stop a running workflow execution -* Get information about the state of execution of a workflow +- Register workflows as K8s objects +- List the workflows registered in K8s +- Stop a running workflow execution +- Get information about the state of execution of a workflow The Operator Service doesn't provide any storage capability, all the state is stored directly in the K8s cluster. @@ -67,12 +63,12 @@ The Operator Service doesn't provide any storage capability, all the state is st The main responsibilities are: -* Expose an HTTP API allowing for the execution of data access and compute endpoints. -* Authorize the user on-chain using the proper Service Agreement. That is, validate that the user requesting the service is allowed to use that service. -* Interact with the infrastructure (cloud/on-premise) using the Publisher's credentials. -* Start/stop/execute computing instances with the algorithms provided by users. -* Retrieve the logs generated during executions. -* Register newly-derived assets arising from the executions (i.e. as new Ocean assets) (if required by the consumer). +- Expose an HTTP API allowing for the execution of data access and compute endpoints. +- Authorize the user on-chain using the proper Service Agreement. That is, validate that the user requesting the service is allowed to use that service. +- Interact with the infrastructure (cloud/on-premise) using the Publisher's credentials. +- Start/stop/execute computing instances with the algorithms provided by users. +- Retrieve the logs generated during executions. +- Register newly-derived assets arising from the executions (i.e. as new Ocean assets) (if required by the consumer). ### Flow @@ -81,14 +77,14 @@ The main responsibilities are: In the above diagram you can see the initial integration supported. It involves the following components/actors: -* Data Scientists/Consumers - The end users who need to use some computing services offered by the same Publisher as the data Publisher. -* Ocean Keeper - In charge of enforcing the Service Agreement by tracing conditions. -* Operator-Service - Micro-service that is handling the compute requests. -* Operator-Engine - The computing systems where the compute will be executed. +- Data Scientists/Consumers - The end users who need to use some computing services offered by the same Publisher as the data Publisher. +- Ocean Keeper - In charge of enforcing the Service Agreement by tracing conditions. +- Operator-Service - Micro-service that is handling the compute requests. +- Operator-Engine - The computing systems where the compute will be executed. Before the flow can begin, the following pre-conditions must be met: -* The Asset DDO has a compute service. -* The Asset DDO must specify the Brizo endpoint exposed by the Publisher. -* The Service Agreement template must already be predefined and whitelisted `on-chain`. +- The Asset DDO has a compute service. +- The Asset DDO must specify the Brizo endpoint exposed by the Publisher. +- The Service Agreement template must already be predefined and whitelisted `on-chain`. diff --git a/content/concepts/testnets.md b/content/concepts/testnets.md index 7d05e893..65ed9147 100644 --- a/content/concepts/testnets.md +++ b/content/concepts/testnets.md @@ -64,11 +64,6 @@ A local testnet similar to Spree but launched by using the `--local-ganache-node > You shouldn't use a Ganache-Based Testnet unless you know why you're doing so. For example, a Ganache-based testnet can be used to test some smart contracts, but it can't be used with a Secret Store. -## The Duero Testnet - -The Duero Testnet is similar to the Nile Testnet, but it's only for internal use by the Ocean Protocol dev team. They test new things in the Duero Testnet before deploying them in the Nile Testnet (which is for use by anyone). That is, the testing order is Spree (local), Duero (private), Nile (public). - -If you need to know something technical about the Duero Testnet, such as the RPC URL, please contact the Ocean Protocol dev team. [^1]: Formerly called Ocean Protocol Testnet v0.1, it was announced as part of the Plankton milestone. [^2]: Also known as the Nile Beta Network. Formerly called the Ocean POA Testnet. diff --git a/content/tutorials/react-compute-published-algorithm.md b/content/tutorials/react-compute-published-algorithm.md index abf06863..db6d3260 100644 --- a/content/tutorials/react-compute-published-algorithm.md +++ b/content/tutorials/react-compute-published-algorithm.md @@ -9,7 +9,7 @@ This is a continuation of the [React App Setup](/tutorials/react-setup/) tutoria 1. [React App Setup](/tutorials/react-setup/) -Open `src/index.js` from your `marketplace/` folder. +Open `src/Compute.js` from your `marketplace/` folder. ## Define Compute Output diff --git a/content/tutorials/react-compute-raw.md b/content/tutorials/react-compute-raw.md index 0ef9603f..990b586e 100644 --- a/content/tutorials/react-compute-raw.md +++ b/content/tutorials/react-compute-raw.md @@ -9,7 +9,7 @@ This is a continuation of the [React App Setup](/tutorials/react-setup/) tutoria 1. [React App Setup](/tutorials/react-setup/) -Open `src/index.js` from your `marketplace/` folder. +Open `src/Compute.js` from your `marketplace/` folder. ## Define Raw Code diff --git a/content/tutorials/react-publish-algorithm.md b/content/tutorials/react-publish-algorithm.md index caf1775b..dbc4f1c7 100644 --- a/content/tutorials/react-publish-algorithm.md +++ b/content/tutorials/react-publish-algorithm.md @@ -9,7 +9,7 @@ This is a continuation of the [React App Setup](/tutorials/react-setup/) tutoria 1. [React App Setup](/tutorials/react-setup/) -Open `src/index.js` from your `marketplace/` folder. +Open `src/Compute.js` from your `marketplace/` folder. ## Define Asset diff --git a/content/tutorials/react-publish-data-set-compute.md b/content/tutorials/react-publish-data-set-compute.md index 35c8b06e..c1662cba 100644 --- a/content/tutorials/react-publish-data-set-compute.md +++ b/content/tutorials/react-publish-data-set-compute.md @@ -9,7 +9,7 @@ This is a continuation of the [React App Setup](/tutorials/react-setup/) tutoria 1. [React App Setup](/tutorials/react-setup/) -Open `src/index.js` from your `marketplace/` folder. +Open `src/Compute.js` from your `marketplace/` folder. ## Define Asset From 564d0b6b8abdf457cab650ba1c040fdd858735c9 Mon Sep 17 00:00:00 2001 From: alexcos20 Date: Mon, 4 May 2020 11:37:52 +0300 Subject: [PATCH 3/4] fix lint --- content/tutorials/react-compute-raw.md | 2 +- data/repositories.yml | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/content/tutorials/react-compute-raw.md b/content/tutorials/react-compute-raw.md index 990b586e..5fbb7e9b 100644 --- a/content/tutorials/react-compute-raw.md +++ b/content/tutorials/react-compute-raw.md @@ -40,7 +40,7 @@ and use them GITHUB-EMBED https://github.com/oceanprotocol/react-tutorial/blob/107d1fa7d0c583cc8042339f1f5090ff9ee0920b/src/Compute.js jsx 61-70 GITHUB-EMBED -# Order the dataset +## Order the dataset Next, we have to order the dataset that we are going to compute upon. We are going to use the ddoAssetId, which was set during publishing of the asset. diff --git a/data/repositories.yml b/data/repositories.yml index 8366c8a8..79e5c379 100644 --- a/data/repositories.yml +++ b/data/repositories.yml @@ -56,6 +56,13 @@ - name: osmosis-ipfs-driver - name: osmosis-on-premise-driver +- group: Compute-to-Data + items: + - name: operator-service + - name: operator-engine + - name: pod-configuration + - name: pod-publishing + - group: Parity Secret Store items: - name: parity-ethereum @@ -81,12 +88,4 @@ url: https://github.com/oceanprotocol/ocean/projects/1 - name: Research Board url: https://github.com/oceanprotocol/ocean/projects/3 - - name: dev-ocean - -- group: Compute-to-Data Enviroment - items: - - name: operator-service - - name: operator-engine - - name: pod-configuration - - name: pod-publishing - \ No newline at end of file + - name: dev-ocean \ No newline at end of file From 727074011016998aa130b0305443743fa96d74e0 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 May 2020 10:45:20 +0200 Subject: [PATCH 4/4] lint fix --- data/repositories.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/repositories.yml b/data/repositories.yml index 79e5c379..a957ad76 100644 --- a/data/repositories.yml +++ b/data/repositories.yml @@ -88,4 +88,4 @@ url: https://github.com/oceanprotocol/ocean/projects/1 - name: Research Board url: https://github.com/oceanprotocol/ocean/projects/3 - - name: dev-ocean \ No newline at end of file + - name: dev-ocean