1
0
mirror of https://github.com/oceanprotocol/docs.git synced 2024-06-29 00:58:02 +02:00

Merge pull request #1049 from oceanprotocol/issue-1048-fix-broken-link

Gitbook migration: Fix broken links
This commit is contained in:
Akshay 2022-07-06 12:18:35 +02:00 committed by GitHub
commit 381aa6fcb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 249 additions and 253 deletions

BIN
.gitbook/assets/Swap-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
.gitbook/assets/Swap-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
.gitbook/assets/Swap-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
.gitbook/assets/Swap-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
.gitbook/assets/Swap-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

BIN
.gitbook/assets/azure-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
.gitbook/assets/azure-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
.gitbook/assets/azure-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
.gitbook/assets/azure-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
.gitbook/assets/azure-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

BIN
.gitbook/assets/azure-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
.gitbook/assets/azure-7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
.gitbook/assets/azure-8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
.gitbook/assets/azure-9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
.gitbook/assets/blowfish Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
.gitbook/assets/publish.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

BIN
.gitbook/assets/token tool Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -23,13 +23,13 @@
* [Building with ocean](building-with-ocean/README.md)
* [Publish assets using hosting services](building-with-ocean/asset-hosting.md)
* [Binance Smart Chain (BSC)](building-with-ocean/bsc-bridge.md)
* [Writing Algorithms for Compute to Data](building-with-ocean/compute-to-data-algorithms.md)
* [Set Up a Marketplace](building-with-ocean/marketplace.md)
* [Polygon (ex Matic)](building-with-ocean/polygon-bridge.md)
* [Compute-to-Data](building-with-ocean/compute-to-data/README.md)
* [Architecture](building-with-ocean/compute-to-data/compute-to-data-architecture.md)
* [Datasets & Algorithms](building-with-ocean/compute-to-data/compute-to-data-datasets-algorithms.md)
* [Minikube Compute-to-Data Environment](building-with-ocean/compute-to-data/compute-to-data-minikube.md)
* [Writing Algorithms for Compute to Data](building-with-ocean/compute-to-data/compute-to-data-algorithms.md)
* [Setting up private docker registry](building-with-ocean/compute-to-data/compute-to-data-docker-registry.md)
* [Deploying components](building-with-ocean/deploying-components/README.md)
* [Deploying Marketplace](building-with-ocean/deploying-components/deploying-marketplace.md)

View File

@ -11,7 +11,7 @@ To publish assets on the Ocean Marketplace, publishers must provide a link(an UR
On Ocean Marketplace, a publisher must provide the link to the asset during publish step. Once the asset is published, this link cannot be changed. So, it is essential that the publisher correctly sets this field (shown in the below image).
![Publish - File URL field](./images/marketplace/publish/marketplace-publish-file-field.png)
![Publish - File URL field](../.gitbook/assets/marketplace-publish-file-field.png)
### Hosting services
@ -27,7 +27,7 @@ Open https://drive.google.com and upload the file you want to publish on the Oce
The file URL will be of the form `https://drive.google.com/file/d/<FILE-ID>/view?usp=sharing`, where the `<FILE-ID>` is the unique alphanumeric string. Verify if the URL is correct by entering it in a browser and check if the file is downloaded.
![Google Drive link](./images/marketplace/publish/publish-google-drive.png)
![Google Drive link](../.gitbook/assets/publish-google-drive.png)
**Step 2 - Create a downloadable link**
@ -41,7 +41,7 @@ Note the `<FILE-ID>` from step 1 and create a URL as below.
After creating a downloadable file URL, fill the `File*` field with the downloadable URL created in step 2.
![Publish - Google Drive file](./images/marketplace/publish/publish-google-drive-2.png)
![Publish - Google Drive file](../.gitbook/assets/publish-google-drive-2.png)
_Note: Google Drive allows only shared files to be downloaded, as shown in the above steps. The above method does not work with the shared folder. As a workaround, publishers can upload a zip of a folder and upload it as a file._
@ -61,47 +61,47 @@ Create an account on [Azure](https://azure.microsoft.com/en-us/). Users might al
Go to the Azure portal: https://portal.azure.com/#home and select `Storage accounts` as shown below.
![Create a storage account - 1](./images/marketplace/publish/azure-1.png)
![Create a storage account - 1](../.gitbook/assets/azure-1.png)
**Create a new storage account**
![Create a storage account - 2](./images/marketplace/publish/azure-2.png)
![Create a storage account - 2](../.gitbook/assets/azure-2.png)
**Fill in the details**
![Add details](./images/marketplace/publish/azure-3.png)
![Add details](../.gitbook/assets/azure-3.png)
**Storage account created**
![Storage account created](./images/marketplace/publish/azure-4.png)
![Storage account created](../.gitbook/assets/azure-4.png)
**Step 2 - Create a blob container**
![Create a blob container](./images/marketplace/publish/azure-5.png)
![Create a blob container](../.gitbook/assets/azure-5.png)
**Step 3 - Upload a file**
![Upload a file](./images/marketplace/publish/azure-6.png)
![Upload a file](../.gitbook/assets/azure-6.png)
**Step 4 - Share the file**
**Select the file to be published and click Generate SAS**
![Click generate SAS](./images/marketplace/publish/azure-7.png)
![Click generate SAS](../.gitbook/assets/azure-7.png)
**Configure the SAS details and click `Generate SAS token and URL`**
![Generate link to file](./images/marketplace/publish/azure-8.png)
![Generate link to file](../.gitbook/assets/azure-8.png)
**Copy the generated link**
![Copy the link](./images/marketplace/publish/azure-9.png)
![Copy the link](../.gitbook/assets/azure-9.png)
**Step 5 - Publish the asset using the generated link**
Now, copy and paste the link in the Publish page in the Ocean Marketplace.
![Publish the file as an asset](./images/marketplace/publish/azure-10.png)
![Publish the file as an asset](../.gitbook/assets/azure-10.png)
#### OneDrive
@ -111,17 +111,17 @@ Create an account on [Microsoft](https://www.microsoft.com/en-us/microsoft-365/o
Go to [OneDrive](https://onedrive.live.com/) and upload the file to be published.
![Upload a file](./images/marketplace/publish/one-drive-1.png)
![Upload a file](../.gitbook/assets/one-drive-1.png)
**Step 2 - Get link**
After the file is uploaded, right click on the file and click `Embed`, and copy the link.
![Get an embeddable link](./images/marketplace/publish/one-drive-2.png)
![Get an embeddable link](../.gitbook/assets/one-drive-2.png)
Copy the highlighted content as shown in the below image:
![Copy the iframe](./images/marketplace/publish/one-drive-3.png)
![Copy the iframe](../.gitbook/assets/one-drive-3.png)
The copied content has the following format:
@ -147,4 +147,4 @@ Enter the URL in the browser and verify if the file is downloaded correctly.
Copy and paste the link in the Publish page in the Ocean Marketplace.
![Publish the file as an asset](./images/marketplace/publish/one-drive-4.png)
![Publish the file as an asset](../.gitbook/assets/one-drive-4.png)

View File

@ -1,19 +1,20 @@
---
title: Binance Smart Chain (BSC)
description:
---
## Intro to BSC's Bridge
# Binance Smart Chain (BSC)
### Intro to BSC's Bridge
BSC provides several bridge options, including:
- withdraw crypto from Binance.com, and
- use Binance bridge.
* withdraw crypto from Binance.com, and
* use Binance bridge.
The article [How to Get Started with BSC](https://academy.binance.com/en/articles/how-to-get-started-with-binance-smart-chain-bsc) by Binance Academy provides further details.
## Links
### Links
- [BSC Wallet Support](https://docs.binance.org/wallets/bsc-wallets.html). Includes MetaMask and Trust Wallet.
- [BSC Bridge](https://www.bnbchain.org/en/bridge)
- [How to set up a custom network in MetaMask](/tutorials/metamask-setup/#set-up-custom-network)
* [BSC Wallet Support](https://docs.binance.org/wallets/bsc-wallets.html). Includes MetaMask and Trust Wallet.
* [BSC Bridge](https://www.bnbchain.org/en/bridge)
* [How to set up a custom network in MetaMask](../orientation/metamask-setup.md#set-up-custom-network)

View File

@ -1,31 +1,32 @@
---
title: Compute-to-Data
description: Providing access to data in a privacy-preserving fashion
slug: /concepts/compute-to-data/
section: concepts
description: Providing access to data in a privacy-preserving fashion
---
## Quick Start
# Compute-to-Data
- [Compute-to-Data example](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/c2d-flow.md)
### Quick Start
* [Compute-to-Data example](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/c2d-flow.md)
## Motivation
### Motivation
The most basic scenario for a Publisher is to provide access to the datasets they own or manage. However, a Publisher may 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.
* 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.
[This page](https://oceanprotocol.com/technology/compute-to-data) elaborates on the benefits.
## Further Reading
### Further Reading
- [Compute-to-Data architecture](/tutorials/compute-to-data-architecture/)
- [Tutorial: Writing Algorithms](/tutorials/compute-to-data-algorithms/)
- [Tutorial: Set Up a Compute-to-Data Environment](/tutorials/compute-to-data-minikube/)
- [Use Compute-to-Data in Ocean Market](https://blog.oceanprotocol.com/compute-to-data-is-now-available-in-ocean-market-58868be52ef7)
- [Build ML models via Ocean Market or Python](https://medium.com/ravenprotocol/machine-learning-series-using-logistic-regression-for-classification-in-oceans-compute-to-data-18df49b6b165)
- [Compute-to-Data Python Quickstart](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/c2d-flow.md)
- [(Old) Compute-to-Data specs](https://github.com/oceanprotocol-archive/OEPs/tree/master/12) (OEP12)
* [Compute-to-Data architecture](compute-to-data-architecture.md)
* [Tutorial: Writing Algorithms](compute-to-data-algorithms.md)
* [Tutorial: Set Up a Compute-to-Data Environment](compute-to-data-minikube.md)
* [Use Compute-to-Data in Ocean Market](https://blog.oceanprotocol.com/compute-to-data-is-now-available-in-ocean-market-58868be52ef7)
* [Build ML models via Ocean Market or Python](https://medium.com/ravenprotocol/machine-learning-series-using-logistic-regression-for-classification-in-oceans-compute-to-data-18df49b6b165)
* [Compute-to-Data Python Quickstart](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/c2d-flow.md)
* [(Old) Compute-to-Data specs](https://github.com/oceanprotocol-archive/OEPs/tree/master/12) (OEP12)

View File

@ -3,11 +3,13 @@ title: Compute-to-Data
description: Architecture overview
---
## Architecture Overview
# Architecture
Here's the sequence diagram for starting a new compute job.
### Architecture Overview
![Sequence Diagram for computing services](images/Starting New Compute Job.png)
Here's the sequence diagram for starting a new compute job.
!\[Sequence Diagram for computing services]\(images/Starting New Compute Job.png)
The Consumer calls the Provider with `start(did, algorithm, additionalDIDs)`. It returns job id `XXXX`. The Provider oversees the rest of the work. At any point, the Consumer can query the Provider for the job status via `getJobDetails(XXXX)`.
@ -15,69 +17,59 @@ Here's how Provider works. First, it ensures that the Consumer has sent the appr
Here's the actors/components:
- Consumers - The end users who need to use some computing services offered by the same Publisher as the data Publisher.
- Operator-Service - Micro-service that is handling the compute requests.
- Operator-Engine - The computing systems where the compute will be executed.
- Kubernetes - a K8 cluster
* Consumers - The end users who need to use some computing services offered by the same Publisher as the data Publisher.
* Operator-Service - Micro-service that is handling the compute requests.
* Operator-Engine - The computing systems where the compute will be executed.
* Kubernetes - a K8 cluster
Before the flow can begin, these pre-conditions must be met:
- The Asset DDO has a `compute` service.
- The Asset DDO compute service must permit algorithms to run on it.
- The Asset DDO must specify an Ocean Provider endpoint exposed by the Publisher.
* The Asset DDO has a `compute` service.
* The Asset DDO compute service must permit algorithms to run on it.
* The Asset DDO must specify an Ocean Provider endpoint exposed by the Publisher.
## Access Control using Ocean Provider
### Access Control using Ocean Provider
As [with the `access` service](/concepts/architecture/#datatokens--access-control-tools), the `compute` service requires the **Ocean Provider** as a component handled by Publishers. Ocean Provider is in charge of interacting with users and managing the basics of a Publisher's infrastructure to integrate this infrastructure into Ocean Protocol. The direct interaction with the infrastructure where the data resides happens through this component only.
As with [the `access` service](../../core-concepts/architecture.md#data-nfts-datatokens-and-access-control-tools), the `compute` service requires the **Ocean Provider** as a component handled by Publishers. Ocean Provider is in charge of interacting with users and managing the basics of a Publisher's infrastructure to integrate this infrastructure into Ocean Protocol. The direct interaction with the infrastructure where the data resides happens through this component only.
Ocean Provider includes the credentials to interact with the infrastructure (initially in cloud providers, but it could be on-premise).
<repo name="provider"></repo>
### Compute-to-Data Environment
## Compute-to-Data Environment
### Operator Service
#### Operator Service
The **Operator Service** is a micro-service in charge of managing the workflow executing requests.
The main responsibilities are:
- Expose an HTTP API allowing for the execution of data access and compute endpoints.
- 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.
* Expose an HTTP API allowing for the execution of data access and compute endpoints.
* 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.
Typically the Operator Service is integrated from Ocean Provider, but can be called independently of it.
The Operator Service is in charge of establishing the communication with the K8s cluster, allowing it to:
- Register new compute jobs
- List the current compute jobs
- Get a detailed result for a given job
- Stop a running job
* Register new compute jobs
* List the current compute jobs
* Get a detailed result for a given job
* Stop a running job
The Operator Service doesn't provide any storage capability, all the state is stored directly in the K8s cluster.
<repo name="operator-service"></repo>
### Operator Engine
#### Operator Engine
The **Operator Engine** is in charge of orchestrating the compute infrastructure using Kubernetes as backend where each compute job runs in an isolated [Kubernetes Pod](https://kubernetes.io/docs/concepts/workloads/pods/). Typically the Operator Engine retrieves the workflows created by the Operator Service in Kubernetes, and manage the infrastructure necessary to complete the execution of the compute workflows.
The Operator Engine is in charge of retrieving all the workflows registered in a K8s cluster, allowing to:
- Orchestrate the flow of the execution
- Start the configuration pod in charge of download the workflow dependencies (datasets and algorithms)
- Start the pod including the algorithm to execute
- Start the publishing pod that publish the new assets created in the Ocean Protocol network.
- The Operator Engine doesn't provide any storage capability, all the state is stored directly in the K8s cluster.
* Orchestrate the flow of the execution
* Start the configuration pod in charge of download the workflow dependencies (datasets and algorithms)
* Start the pod including the algorithm to execute
* Start the publishing pod that publish the new assets created in the Ocean Protocol network.
* The Operator Engine doesn't provide any storage capability, all the state is stored directly in the K8s cluster.
<repo name="operator-engine"></repo>
#### Pod: Configuration
### Pod: Configuration
<repo name="pod-configuration"></repo>
### Pod: Publishing
<repo name="pod-publishing"></repo>
#### Pod: Publishing

View File

@ -3,25 +3,21 @@ title: Compute-to-Data
description: Datasets and Algorithms
---
## Datasets & Algorithms
# Datasets & Algorithms
### Datasets & Algorithms
With Compute-to-Data, datasets are not allowed to leave the premises of the data holder, only algorithms can be permitted to run on them under certain conditions within an isolated and secure environment. Algorithms are an asset type just like datasets. They too can have a pool or a fixed price to determine their price whenever they are used.
Algorithms can be public or private by setting `"attributes.main.type"` value in DDO as follows:
- `"access"` - public. The algorithm can be downloaded, given appropriate datatoken.
- `"compute"` - private. The algorithm is only available to use as part of a compute job without any way to download it. The Algorithm must be published on the same Ocean Provider as the dataset it's targeted to run on.
* `"access"` - public. The algorithm can be downloaded, given appropriate datatoken.
* `"compute"` - private. The algorithm is only available to use as part of a compute job without any way to download it. The Algorithm must be published on the same Ocean Provider as the dataset it's targeted to run on.
For each dataset, publishers can choose to allow various permission levels for algorithms to run:
- allow selected algorithms, referenced by their DID
- allow all algorithms published within a network or marketplace
- allow raw algorithms, for advanced use cases circumventing algorithm as an asset type, but most prone to data escape
* allow selected algorithms, referenced by their DID
* allow all algorithms published within a network or marketplace
* allow raw algorithms, for advanced use cases circumventing algorithm as an asset type, but most prone to data escape
All implementations should set permissions to private by default: upon publishing a compute dataset, no algorithms should be allowed to run on it. This is to prevent data escape by a rogue algorithm being written in a way to extract all data from a dataset.
## DDO Links
- [Algorithm DDO](/concepts/ddo-metadata/#fields-when-attributesmaintype--algorithm)
- [Compute DDO](/concepts/ddo-metadata/#fields-when-attributesmaintype--compute)

View File

@ -301,7 +301,6 @@ docker image pull example.com/my-algo:latest
# allows anonymous pull if 2nd setup scenario is implemented
docker image pull readonly.example.com/my-algo:latest
```
#### Next step
@ -310,6 +309,6 @@ You can publish an algorithm asset with the metadata containing registry URL, im
### Further references
* [Setup Compute-to-Data environment](../../tutorials/compute-to-data-minikube/)
* [Writing algorithms](../../tutorials/compute-to-data-algorithms/)
* [C2D example](../../references/read-the-docs/ocean-py/READMEs/c2d-flow.md)
* [Setup Compute-to-Data environment](compute-to-data-minikube.md)
* [Writing algorithms](compute-to-data-algorithms.md)
* [C2D example](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/c2d-flow.md)

View File

@ -1,59 +1,59 @@
---
title: Polygon (ex Matic)
description:
---
# Polygon (ex Matic)
## Links
### Links
- [Matic Wallet](https://wallet.matic.network)
- [Matic Bridge](https://wallet.matic.network/bridge)
- [How to set up a custom network in MetaMask](/tutorials/metamask-setup/#set-up-custom-network)
* [Matic Wallet](https://wallet.matic.network)
* [Matic Bridge](https://wallet.matic.network/bridge)
* [How to set up a custom network in MetaMask](../orientation/metamask-setup.md#set-up-custom-network)
## Intro to Polygon's Bridge
### Intro to Polygon's Bridge
The Polygon Network (ex Matic) provide us with a bridge (connecting Ethereum & Polygon blockchains), and a dedicated [wallet](https://wallet.matic.network) that simplify the steps of transferring digital assets between the two networks. The wallet connects to your account via Metamask (or any of the other supported wallets).
The Polygon Network (ex Matic) provide us with a bridge (connecting Ethereum & Polygon blockchains), and a dedicated [wallet](https://wallet.matic.network) that simplify the steps of transferring digital assets between the two networks. The wallet connects to your account via Metamask (or any of the other supported wallets).
When you open the wallet link, the wallet will ask to log in. Select your preferred way of connecting and confirm the action. In our guide we'll use Metamask.
![Login options](images/login-options.png)
![Login options](../.gitbook/assets/login-options.png)
In some places, the Polygon Network is still using its old brand Matic. Either you run into Matic or Polygon - it's the exact same thing. For the purpose of this guide, we'll use Matic in the next few paragraphs since the interfaces you're going to use still use the old brand.
For details check the [blog post](https://blog.oceanprotocol.com/ocean-on-polygon-network-8abad19cbf47).
## Deposit Tokens
### Deposit Tokens
On the main page of the wallet, you can see all tokens you own on the Matic Mainnet. To deposit tokens (transfer them from the Ethereum Mainnet) you can either use the “deposit” button for a selected token or use “Move funds to Matic Mainnet”.
On the main page of the wallet, you can see all tokens you own on the Matic Mainnet. To deposit tokens (transfer them from the Ethereum Mainnet) you can either use the “deposit” button for a selected token or use “Move funds to Matic Mainnet”.
![Main wallet page](images/main-wallet-page.png)
![Main wallet page](../.gitbook/assets/main-wallet-page.png)
Both options will redirect you to the bridge interface. In case you chose the second one, use the dropdown and select the token you want to transfer from the Ethereum Mainnet.
![Bridge interface](images/matic-bridge.png)
![Bridge interface](../.gitbook/assets/matic-bridge.png)
Choose the amount to transfer and click the “Transfer” button. Matics bridge interface will guide you through the whole process and the different steps that will occur. Youll need to sign two transactions on the Ethereum Mainnet. The first being the approval for your token to be traded on the Matics bridge and the second one being the deposit.
![Transferring process](images/transferring-process.png)
![Transferring process](../.gitbook/assets/transferring-process.png)
## Withdraw Tokens
### Withdraw Tokens
The withdrawing tokens process uses the same bridge interface. The only difference being that the withdraw happens from the Matic to the Ethereum Mainnet.
The withdrawing tokens process uses the same bridge interface. The only difference being that the withdraw happens from the Matic to the Ethereum Mainnet.
Again the bridge interface will guide you through the different steps.
Again the bridge interface will guide you through the different steps.
For more in dept explanation of the deposit and withdraw actions check [the official Polygon (ex Matic) docs](https://docs.matic.network/docs/develop/ethereum-matic/pos/getting-started).
## Sending Tokens
### Sending Tokens
While in the first two cases, the transactions are signed on the Ethereum Mainnet, transferring tokens between two Matic addresses happens on the Matic Mainnet. Thus its required for you to connect to the Matic network to sign the transactions. You can use the following parameters to set the network in Metamask:
| What | Value |
|--------------------|------------------------------------------|
| ------------------ | ---------------------------------------- |
| Network Name | `Matic Mainnet` |
| RPC | `https://rpc.polygon.oceanprotocol.com/` |
| Chain Id | `137` |
| Currency Symbol | `MATIC` |
| Block Explorer URL | `https://explorer.matic.network/` |
Follow our guide to learn how to use those values to [set up a custom network in MetaMask](/tutorials/metamask-setup/#set-up-custom-network).
Follow our guide to learn how to use those values to [set up a custom network in MetaMask](../orientation/metamask-setup.md#set-up-custom-network).

View File

@ -24,7 +24,7 @@ Once your wallet is set up, it will have one or more **accounts**.
Each account has several **balances**, e.g. an Ether balance, an Ocean Token balance, and maybe other balances. All balances start at zero.
An account's Ether balance might be 7.1 ETH in the Ethereum Mainnet, 2.39 ETH in Ropsten testnet. You can move ETH from one network to another only with a specially setup exchange or bridge. Also, you can't transfer tokens from networks holding value such as Ethereum mainnet to networks not holding value, ie testnets like Ropsten. The same is true of OCEAN token balances.
An account's Ether balance might be 7.1 ETH in the Ethereum Mainnet, 2.39 ETH in Ropsten testnet. You can move ETH from one network to another only with a specially setup exchange or bridge. Also, you can't transfer tokens from networks holding value such as Ethereum mainnet to networks not holding value, i.e., testnets like Ropsten. The same is true of OCEAN token balances.
Each account has one **private key** and one **address**. The address can be calculated from the private key. You must keep the private key secret because it's what's needed to spend/transfer ETH and OCEAN (or to sign transactions of any kind). You can share the address with others. In fact, if you want someone to send some ETH or OCEAN to an account, you give them the account's address.

View File

@ -9,7 +9,7 @@ description: Data NFTs and datatokens architecture
Here is the Ocean architecture.
![Ocean Protocol tools architecture](<images/architecture (1) (1).png>)
![Ocean Protocol tools architecture](../.gitbook/assets/architecture.png)
Heres an overview of the figure.
@ -18,11 +18,11 @@ Heres an overview of the figure.
* **Aquarius**: Provides metadata cache for faster search by caching on-chain data into elasticsearch
* **Provider**: Facilitates downloading assets, DDO encryption, and communicating with `operator-service` for Compute-to-Data jobs.
* **The Graph**: It is a 3rd party tool that developers can utilize the libraries to build their custom applications and marketplaces.
* The lowest level has the **smart contracts**. The smart contracts are deployed on the Ethereum mainnet and other compatible networks. Libraries encapsulate the calls to these smart contracts and provide features like publishing new assets, facilitating consumption, managing pricing, and much more. To see the supported networks click [here](../concepts/networks/).
* The lowest level has the **smart contracts**. The smart contracts are deployed on the Ethereum mainnet and other compatible networks. Libraries encapsulate the calls to these smart contracts and provide features like publishing new assets, facilitating consumption, managing pricing, and much more. To see the supported networks click [here](networks.md).
### Data NFTs, Datatokens and Access Control Tools
Data NFTs are based on [ERC721](https://eips.ethereum.org/EIPS/eip-721) standard. The publisher can use Marketplace or client libraries to deploy a new data NFT contract. To save gas fees, it uses [ERC1167](https://eips.ethereum.org/EIPS/eip-1167) proxy approach on the **ERC721 template**. Publisher can then assign manager role to other Ethereum addresses who can deploy new datatoken contracts and even mint them. Each datatoken contract is associated with one data NFT contract. Click [here](../concepts/datanft-and-datatoken/) to further read about data NFTs and datatokens.
Data NFTs are based on [ERC721](https://eips.ethereum.org/EIPS/eip-721) standard. The publisher can use Marketplace or client libraries to deploy a new data NFT contract. To save gas fees, it uses [ERC1167](https://eips.ethereum.org/EIPS/eip-1167) proxy approach on the **ERC721 template**. Publisher can then assign manager role to other Ethereum addresses who can deploy new datatoken contracts and even mint them. Each datatoken contract is associated with one data NFT contract. Click [here](datanft-and-datatoken.md) to further read about data NFTs and datatokens.
ERC721 data NFTs represent holding copyright/base IP of a data asset, and ERC20 datatokens represent licenses to access the asset by downloading the content or running Compute-to-Data jobs.
@ -55,9 +55,9 @@ Complementary to Ocean Market, Ocean has reference code to ease building **third
### Metadata Tools
Marketplaces use the Metadata of the asset for discovery. Metadata consists of information like the type of asset, name of the asset, creation date, license, etc. Each data asset can have a [decentralized identifier](https://w3c-ccg.github.io/did-spec/) (DID) that resolves to a DID document (DDO) for associated metadata. The DDO is essentially [JSON](https://www.json.org/) filling in metadata fields. For more details on working with OCEAN DIDs check out the [DID concept documentation](https://docs.oceanprotocol.com/concepts/did-ddo/). The [DDO Metadata documentation](https://docs.oceanprotocol.com/concepts/ddo-metadata/) goes into more depth regarding metadata structure.
Marketplaces use the Metadata of the asset for discovery. Metadata consists of information like the type of asset, name of the asset, creation date, license, etc. Each data asset can have a [decentralized identifier](https://w3c-ccg.github.io/did-spec/) (DID) that resolves to a DID document (DDO) for associated metadata. The DDO is essentially [JSON](https://www.json.org/) filling in metadata fields. For more details on working with OCEAN DIDs check out the [DID concept documentation](did-ddo.md). The [DDO Metadata documentation](did-ddo.md#metadata) goes into more depth regarding metadata structure.
[OEP8](../concepts/did-ddo/) specifies Ocean metadata schema, including fields that must be filled. Its based on the public [DataSet schema from schema.org](https://schema.org/Dataset).
[OEP8](did-ddo.md) specifies Ocean metadata schema, including fields that must be filled. Its based on the public [DataSet schema from schema.org](https://schema.org/Dataset).
Ocean uses the Ethereum mainnet and other compatible networks as an **on-chain metadata store**, i.e. to store both DID and DDO. This means that once the transaction fee is paid, there are no further expenses or devops work needed to ensure metadata availability into the future, aiding in the discoverability of data assets. It also simplifies integration with the rest of the Ocean system, which is Ethereum-based. Storage cost on Ethereum mainnet is not negligible, but not prohibitive and the other benefits are currently worth the trade-off compared to alternatives.

View File

@ -7,7 +7,7 @@ description: Choose the revenue model during asset publishing
Ocean Protocol offers 3 types of pricing options for asset monetization. The publisher can choose a pricing model which best suits their needs while publishing an asset. The pricing model selected cannot be changed once the asset is published.
The price of an asset is determined by the number of Ocean tokens a buyer must pay to access the asset. When users pay the right amount of Ocean tokens, they get a _datatoken_ in their wallets, a tokenized representation of the access right stored on the blockchain. To read more about datatoken and data NFT click [here](../concepts/datanft-and-datatoken/).
The price of an asset is determined by the number of Ocean tokens a buyer must pay to access the asset. When users pay the right amount of Ocean tokens, they get a _datatoken_ in their wallets, a tokenized representation of the access right stored on the blockchain. To read more about datatoken and data NFT click [here](datanft-and-datatoken.md).
### Fixed pricing
@ -19,7 +19,7 @@ Publishers can choose this fixed pricing model when they do not want Automated M
The image below shows how to set the fixed pricing of an asset in the Ocean's Marketplace. Here, the price of the asset is set to 10 Ocean tokens.
![fixed-asset-pricing](<images/fixed-asset-pricing (1) (1).png>)
![fixed-asset-pricing](../.gitbook/assets/fixed-asset-pricing.png)
### Dynamic pricing
@ -39,7 +39,7 @@ Publishers can set the pricing model of an asset to Dynamic pricing if they want
The image below shows how to set the Dynamic pricing of an asset in the Ocean's Marketplace. Here, the asset price is initially set to 50 Ocean tokens.
![dynamic-asset-pricing](<images/dynamic-asset-pricing (1) (1).png>)
![dynamic-asset-pricing](<../.gitbook/assets/dynamic asset pricing>)
Ocean Protocol also allows publishers to set the pricing using ocean.js and ocean.py library.
@ -75,4 +75,4 @@ Free pricing is suitable for individuals and organizations working in the public
The image below shows how to set free access to an asset in the Ocean's Marketplace.
![free-asset-pricing](<images/free-asset-pricing (1) (1).png>)
![free-asset-pricing](../.gitbook/assets/free-asset-pricing.png)

View File

@ -9,7 +9,7 @@ To report a bug that isn't a vulnerability, go to the relevant GitHub repository
Before reporting a bug, search existing open and closed issues and PRs to see if something has already been reported. If not, then go ahead and create a new bug report, following the structure suggested in the issue template.
To report a vulnerability, you may do so in a [less public manner](/concepts/vulnerabilities/).
To report a vulnerability, you may do so in a [less public manner](./vulnerabilities.md).
## Suggest a new feature
@ -25,8 +25,8 @@ Before you start coding right away, please follow those basic guidelines:
- If no issue for your case is present, open one first before starting to work on something, so it can be discussed.
- Make yourself familiar with eventual repository-specific contribution requirements and code style requirements.
- Because of the weird world of intellectual property, we need you to follow the [legal requirements](/concepts/legal-reqs/) for contributing code.
- Be excellent to each other, as outlined in our [Contributor Code of Conduct](/concepts/code-of-conduct/).
- Because of the weird world of intellectual property, we need you to follow the [legal requirements](./legal-reqs.md) for contributing code.
- Be excellent to each other, as outlined in our [Contributor Code of Conduct](./code-of-conduct.md).
### Workflow

View File

@ -11,7 +11,7 @@ A non-fungible token stored on the blockchain represents a unique asset. NFTs ca
Fungible tokens represent fungible assets. If you have 5 ETH and Alice has 5 ETH, you and Alice could swap your ETH and your final holdings remain the same. They're apples-to-apples. Licenses (contracts) to access a copyrighted asset are naturally fungible - they can be swapped with each other.
![Data NFT and datatoken](<images/datanft-and-datatoken (1) (1).png>)
![Data NFT and datatoken](<../.gitbook/assets/datanft and datatoken>)
### High-Level Architecture
@ -37,7 +37,7 @@ ERC721 tokens are non-fungible, thus cannot be used for automatic price discover
### High-Level Behavior
![Flow](<images/use-case (1) (1).png>)
![Flow](<../.gitbook/assets/use case>)
Here's an example.

View File

@ -33,7 +33,7 @@ The DDO is stored on-chain as part of the NFT contract and stored in encrypted f
Here is the flow:
![DDO flow](<images/ddo-flow (1) (1).png>)
![DDO flow](<../.gitbook/assets/ddo flow>)
<details>
@ -305,21 +305,29 @@ An asset with a service of `type` `compute` has the following additional attribu
| `boolean` | **✓** | If `true`, any passed raw text will be allowed to run. Useful for an algorithm drag & drop use case, but increases risk of data escape through malicious user input. Should be `false` by default in all implementations. |
| Type | Required | Description |
| `boolean` | **✓** | If `true`, any passed raw text will be allowed to run. Useful for an algorithm drag & drop use case, but increases risk of data escape through malicious user input. Should be `false` by default in all implementations. |
| Type | Required | Description |
| `boolean` | **✓** | If `true`, any passed raw text will be allowed to run. Useful for an algorithm drag & drop use case, but increases risk of data escape through malicious user input. Should be `false` by default in all implementations. |
| <p><strong><code>allowNetworkAccess</code></strong></p><table><thead><tr><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><code>boolean</code></td><td><strong></strong></td><td>If <code>true</code>, the algorithm job will have network access.</td></tr></tbody></table> | | |
| Type | Required | Description |
| `boolean` | **✓** | If `true`, the algorithm job will have network access. |
| Type | Required | Description |
| `boolean` | **✓** | If `true`, the algorithm job will have network access. |
| Type | Required | Description |
| `boolean` | **✓** | If `true`, the algorithm job will have network access. |
| <p><strong><code>publisherTrustedAlgorithmPublishers</code></strong></p><table><thead><tr><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td>Array of <code>string</code></td><td><strong></strong></td><td>If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed.</td></tr></tbody></table> | | |
| Type | Required | Description |
| Array of `string` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed. |
| Type | Required | Description |
| Array of `string` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed. |
| Type | Required | Description |
| Array of `string` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed. |
| <p><strong><code>publisherTrustedAlgorithms</code></strong></p><table><thead><tr><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td>Array of <code>publisherTrustedAlgorithms</code></td><td><strong></strong></td><td>If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below).</td></tr></tbody></table> | | |
| Type | Required | Description |
| Array of `publisherTrustedAlgorithms` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below). |
| Type | Required | Description |
| Array of `publisherTrustedAlgorithms` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below). |
| Type | Required | Description |
| Array of `publisherTrustedAlgorithms` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below). |
The `publisherTrustedAlgorithms` is an array of objects with the following structure:

View File

@ -1,24 +1,28 @@
---
title: Supported Networks
description: All the public networks the Ocean Protocol contracts are deployed to, and additional core components deployed to them.
description: >-
All the public networks the Ocean Protocol contracts are deployed to, and
additional core components deployed to them.
---
# Supported Networks
Ocean Protocol contracts are deployed on multiple public networks. You can always find the most up-to-date deployment addresses for all individual contracts in the [address.json](https://github.com/oceanprotocol/contracts/blob/v4main/addresses/address.json).
In each network, youll need ETH to pay for gas, and OCEAN for certain Ocean actions. Because the Ethereum mainnet is a network for production settings, ETH and OCEAN tokens have real value on there. The ETH and OCEAN tokens in each test network dont have real value and are used for testing-purposes only. They can be obtained with _faucets_ to dole out ETH and OCEAN.
The universal Aquarius Endpoint is `https://v4.aquarius.oceanprotocol.com`.
The universal Aquarius Endpoint is [`https://v4.aquarius.oceanprotocol.com`](https://v4.aquarius.oceanprotocol.com).
## Ethereum Mainnet
### Ethereum Mainnet
Ethereum mainnet is a production network. In MetaMask and other ERC20 wallets, click on the network name dropdown, then select _Ethereum mainnet_.
**Tokens**
- Mainnet ETH:
- Native token to pay transaction fees
- Mainnet OCEAN:
- Address: [0x967da4048cD07aB37855c090aAF366e4ce1b9F48](https://etherscan.io/token/0x967da4048cD07aB37855c090aAF366e4ce1b9F48)
* Mainnet ETH:
* Native token to pay transaction fees
* Mainnet OCEAN:
* Address: [0x967da4048cD07aB37855c090aAF366e4ce1b9F48](https://etherscan.io/token/0x967da4048cD07aB37855c090aAF366e4ce1b9F48)
**Additional Components**
@ -29,17 +33,16 @@ Ethereum mainnet is a production network. In MetaMask and other ERC20 wallets, c
| Provider | `https://v4.provider.mainnet.oceanprotocol.com` |
| Subgraph | `https://v4.subgraph.mainnet.oceanprotocol.com` |
## Polygon Mainnet
### Polygon Mainnet
Ocean is deployed to Polygon Mainnet, another production network. Polygons native token is MATIC.
If you dont find Polygon as a predefined network in your wallet, you can connect to it manually via Polygon's guide [here](https://docs.polygon.technology/docs/develop/metamask/config-polygon-on-metamask/#add-the-polygon-network-manually).
Ocean is deployed to Polygon Mainnet, another production network. Polygons native token is MATIC. If you dont find Polygon as a predefined network in your wallet, you can connect to it manually via Polygon's guide [here](https://docs.polygon.technology/docs/develop/metamask/config-polygon-on-metamask/#add-the-polygon-network-manually).
**Tokens**
- Matic:
- Native token to pay transaction fees
- Matic OCEAN:
- Address: [0x282d8efCe846A88B159800bd4130ad77443Fa1A1](https://polygonscan.com/token/0x282d8efce846a88b159800bd4130ad77443fa1a1)
* Matic:
* Native token to pay transaction fees
* Matic OCEAN:
* Address: [0x282d8efCe846A88B159800bd4130ad77443Fa1A1](https://polygonscan.com/token/0x282d8efce846a88b159800bd4130ad77443fa1a1)
**Additional Components**
@ -52,9 +55,9 @@ If you dont find Polygon as a predefined network in your wallet, you can conn
**Bridge**
Check our Polygon Bridge [guide](/tutorials/polygon-bridge/) to learn how you can deposit, withdraw and send tokens.
Check our Polygon Bridge [guide](../building-with-ocean/polygon-bridge.md) to learn how you can deposit, withdraw and send tokens.
## Binance Smart Chain
### Binance Smart Chain
Ocean is deployed to Binance Smart Chain (BSC), another production network. BSCs native token is BNB - the Binance token.
@ -62,10 +65,10 @@ If you dont find BSC as a predefined network in your wallet, you can connect
**Tokens**
- BSC BNB:
- Native token to pay transaction fees.
- BSC OCEAN:
- Address: [0xdce07662ca8ebc241316a15b611c89711414dd1a](https://bscscan.com/token/0xdce07662ca8ebc241316a15b611c89711414dd1a)
* BSC BNB:
* Native token to pay transaction fees.
* BSC OCEAN:
* Address: [0xdce07662ca8ebc241316a15b611c89711414dd1a](https://bscscan.com/token/0xdce07662ca8ebc241316a15b611c89711414dd1a)
**Additional Components**
@ -78,9 +81,9 @@ If you dont find BSC as a predefined network in your wallet, you can connect
**Bridge**
Check our BSC Bridge [guide](/tutorials/bsc-bridge/) to learn how you can deposit, withdraw and send tokens.
Check our BSC Bridge [guide](../building-with-ocean/bsc-bridge.md) to learn how you can deposit, withdraw and send tokens.
## Energy Web Chain
### Energy Web Chain
Ocean is deployed to [Energy Web Chain](https://energy-web-foundation.gitbook.io/energy-web/technology/the-stack/trust-layer-energy-web-chain), another production network. Energy Webs native token is EWT.
@ -88,10 +91,10 @@ If you dont find Energy Web Chain as a predefined network in your wallet, you
**Tokens**
- Energy Web Chain EWT:
- Native token to pay transaction fees.
- Energy Web Chain OCEAN:
- Address: [0x593122aae80a6fc3183b2ac0c4ab3336debee528](https://explorer.energyweb.org/token/0x593122aae80a6fc3183b2ac0c4ab3336debee528)
* Energy Web Chain EWT:
* Native token to pay transaction fees.
* Energy Web Chain OCEAN:
* Address: [0x593122aae80a6fc3183b2ac0c4ab3336debee528](https://explorer.energyweb.org/token/0x593122aae80a6fc3183b2ac0c4ab3336debee528)
**Additional Components**
@ -106,7 +109,7 @@ If you dont find Energy Web Chain as a predefined network in your wallet, you
Use the link [here](https://bridge.carbonswap.exchange) to bridge the assets between EWC and Ethereum mainnet.
## Moonriver
### Moonriver
Ocean is deployed to [Moonriver](https://docs.moonbeam.network/builders/get-started/networks/moonriver/), another production network. Moonrivers native token is MOVR.
@ -114,10 +117,10 @@ If you dont find Moonriver as a predefined network in your wallet, you can co
**Tokens**
- Moonriver MOVR:
- Native token to pay transaction fees.
- Moonriver OCEAN:
- Address: [0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE](https://blockscout.moonriver.moonbeam.network/token/0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE/token-transfers)
* Moonriver MOVR:
* Native token to pay transaction fees.
* Moonriver OCEAN:
* Address: [0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE](https://blockscout.moonriver.moonbeam.network/token/0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE/token-transfers)
**Additional Components**
@ -132,7 +135,7 @@ If you dont find Moonriver as a predefined network in your wallet, you can co
Use [Anyswap](https://anyswap.exchange/#/bridge) to bridge between ETH Mainnet and Moonriver.
## Ropsten
### Ropsten
Ropsten is a test network.
@ -140,12 +143,12 @@ In MetaMask and other ERC20 wallets, click on the network name dropdown, then se
**Tokens**
- Ropsten ETH:
- Native token to pay transaction fees
- [Faucet](https://faucet.dimensions.network/). You may find others by [searching](https://www.google.com/search?q=ropsten+ether+faucet&oq=ropsten+ether+faucet).
- Ropsten OCEAN:
- Address: [0x5e8DCB2AfA23844bcc311B00Ad1A0C30025aADE9](https://ropsten.etherscan.io/token/0x5e8DCB2AfA23844bcc311B00Ad1A0C30025aADE9)
- [Faucet](https://faucet.ropsten.oceanprotocol.com/)
* Ropsten ETH:
* Native token to pay transaction fees
* [Faucet](https://faucet.dimensions.network/). You may find others by [searching](https://www.google.com/search?q=ropsten+ether+faucet\&oq=ropsten+ether+faucet).
* Ropsten OCEAN:
* Address: [0x5e8DCB2AfA23844bcc311B00Ad1A0C30025aADE9](https://ropsten.etherscan.io/token/0x5e8DCB2AfA23844bcc311B00Ad1A0C30025aADE9)
* [Faucet](https://faucet.ropsten.oceanprotocol.com/)
**Additional Components**
@ -156,7 +159,7 @@ In MetaMask and other ERC20 wallets, click on the network name dropdown, then se
| Provider | `https://v4.provider.ropsten.oceanprotocol.com` |
| Subgraph | `https://v4.subgraph.ropsten.oceanprotocol.com` |
## Rinkeby
### Rinkeby
Rinkeby is a test network.
@ -164,12 +167,12 @@ In MetaMask and other ERC20 wallets, click on the network name dropdown, then se
**Tokens**
- Rinkeby ETH:
- Native token to pay transaction fees
- [Faucet](https://faucet.rinkeby.io/). You may find others by [searching](https://www.google.com/search?q=rinkeby+ether+faucet&oq=rinkeby+ether+faucet).
- Rinkeby OCEAN:
- Address: [0x8967BCF84170c91B0d24D4302C2376283b0B3a07](https://rinkeby.etherscan.io/token/0x8967BCF84170c91B0d24D4302C2376283b0B3a07)
- [Faucet](https://faucet.rinkeby.oceanprotocol.com/)
* Rinkeby ETH:
* Native token to pay transaction fees
* [Faucet](https://faucet.rinkeby.io/). You may find others by [searching](https://www.google.com/search?q=rinkeby+ether+faucet\&oq=rinkeby+ether+faucet).
* Rinkeby OCEAN:
* Address: [0x8967BCF84170c91B0d24D4302C2376283b0B3a07](https://rinkeby.etherscan.io/token/0x8967BCF84170c91B0d24D4302C2376283b0B3a07)
* [Faucet](https://faucet.rinkeby.oceanprotocol.com/)
**Additional Components**
@ -180,7 +183,7 @@ In MetaMask and other ERC20 wallets, click on the network name dropdown, then se
| Provider | `https://v4.provider.rinkeby.oceanprotocol.com` |
| Subgraph | `https://v4.subgraph.rinkeby.oceanprotocol.com` |
## Mumbai
### Mumbai
Mumbai is a test network tuned for Matic / Polygon.
@ -188,12 +191,12 @@ If you don't find Mumbai as a predefined network in your wallet, you can connect
**Tokens**
- Mumbai MATIC:
- Native token to pay transaction fees
- [Faucet](https://faucet.matic.network/). You may find others by [searching](https://www.google.com/search?q=mumbai+faucet).
- Mumbai OCEAN:
- Address: [0xd8992Ed72C445c35Cb4A2be468568Ed1079357c8](https://mumbai.polygonscan.com/token/0xd8992Ed72C445c35Cb4A2be468568Ed1079357c8)
- [Faucet](https://faucet.mumbai.oceanprotocol.com/)
* Mumbai MATIC:
* Native token to pay transaction fees
* [Faucet](https://faucet.matic.network/). You may find others by [searching](https://www.google.com/search?q=mumbai+faucet).
* Mumbai OCEAN:
* Address: [0xd8992Ed72C445c35Cb4A2be468568Ed1079357c8](https://mumbai.polygonscan.com/token/0xd8992Ed72C445c35Cb4A2be468568Ed1079357c8)
* [Faucet](https://faucet.mumbai.oceanprotocol.com/)
**Additional Components**
@ -204,7 +207,7 @@ If you don't find Mumbai as a predefined network in your wallet, you can connect
| Provider | `https://v4.provider.mumbai.oceanprotocol.com` |
| Subgraph | `https://v4.subgraph.mumbai.oceanprotocol.com` |
## Moonbase
### Moonbase
Moonbase is a test network tuned for Moonbeam / Moonriver.
@ -212,12 +215,12 @@ If you don't find Moonbase as a predefined network in your wallet, you can conne
**Tokens**
- Moonbase DEV:
- Native token to pay transaction fees
- Facuet: See above guide You may find others by [searching](https://www.google.com/search?q=moonbase+dev+faucet).
- Moonbase OCEAN:
- Address: [0xF6410bf5d773C7a41ebFf972f38e7463FA242477](https://moonbase.moonscan.io/token/0xF6410bf5d773C7a41ebFf972f38e7463FA242477)
- [Faucet](https://faucet.moonbase.oceanprotocol.com/)
* Moonbase DEV:
* Native token to pay transaction fees
* Facuet: See above guide You may find others by [searching](https://www.google.com/search?q=moonbase+dev+faucet).
* Moonbase OCEAN:
* Address: [0xF6410bf5d773C7a41ebFf972f38e7463FA242477](https://moonbase.moonscan.io/token/0xF6410bf5d773C7a41ebFf972f38e7463FA242477)
* [Faucet](https://faucet.moonbase.oceanprotocol.com/)
**Additional Components**
@ -228,24 +231,22 @@ If you don't find Moonbase as a predefined network in your wallet, you can conne
| Provider | `https://v4.provider.moonbase.oceanprotocol.com/` |
| Subgraph | `https://v4.subgraph.moonbase.oceanprotocol.com` |
## Local / Ganache
### Local / Ganache
The most straightforward way for local-only development is to use [Barge](https://www.github.com/oceanprotocol/barge), which runs [Ganache](https://www.trufflesuite.com/ganache), Aquarius, and Provider. It is used extensively by the Ocean core devs (with Ganache or Rinkeby) and for automated integration testing.
<repo name="barge"></repo>
To connect to it from MetaMask, select the network called _Localhost 8545_.
Alternatively, you can run Ganache independently. Install it according to [the Ganache docs](https://www.trufflesuite.com/ganache). Then deploy Ocean contracts onto Ganache following [docs in Ocean contracts repo](https://www.github.com/oceanprotocol/contracts). Ganache is at the RPC URL [http://localhost:8545](http://localhost:8545).
**Tokens**
- Ganache ETH:
- Native token to pay transaction fees
- By default, Ganache creates several Ethereum accounts at launch, gives each some ETH, and makes their private keys available in the logs. You can also instruct Ganache to give ETH to specific Ethereum addresses.
- Ganache OCEAN:
- You can deploy an ERC20 token with label OCEAN. At a minimum, the token needs to be ERC20Detailed and ERC20Capped. Youll see examples in the quickstarts for the Ocean JavaScript and Python drivers.
* Ganache ETH:
* Native token to pay transaction fees
* By default, Ganache creates several Ethereum accounts at launch, gives each some ETH, and makes their private keys available in the logs. You can also instruct Ganache to give ETH to specific Ethereum addresses.
* Ganache OCEAN:
* You can deploy an ERC20 token with label OCEAN. At a minimum, the token needs to be ERC20Detailed and ERC20Capped. Youll see examples in the quickstarts for the Ocean JavaScript and Python drivers.
## Other
### Other
Some apps may need `network_id` and `chain_id`. Here's a [list of values for major Ethereum networks](https://medium.com/@piyopiyo/list-of-ethereums-major-network-and-chain-ids-2bc58e928508).

View File

@ -8,29 +8,29 @@ description: Tutorial about how to set up MetaMask for Chrome.
### MetaMask Set Up Steps
1. Go to the [Chrome Web Store for extensions](https://chrome.google.com/webstore/category/extensions) and search for MetaMask.
1. Go to the [Chrome Web Store for extensions](https://chrome.google.com/webstore/category/extensions) and search for MetaMask.
![metamask-chrome-store](./images/metamask-chrome-extension.png)
![metamask-chrome-store](../.gitbook/assets/metamask-chrome-extension.png)
* Install MetaMask. The wallet provides a friendly user interface that will help you through each step. MetaMask gives you two options: importing an existing wallet or creating a new one. Choose to `Create a Wallet`:
* Install MetaMask. The wallet provides a friendly user interface that will help you through each step. MetaMask gives you two options: importing an existing wallet or creating a new one. Choose to `Create a Wallet`:
![Create a wallet](./images/create-new-metamask-wallet.png)
![Create a wallet](../.gitbook/assets/create-new-metamask-wallet.png)
* In the next step create a new password for your wallet. Read through and accept the terms and conditions. After that, MetaMask will generate Secret Backup Phrase for you. Write it down and store it in a safe place.
* In the next step create a new password for your wallet. Read through and accept the terms and conditions. After that, MetaMask will generate Secret Backup Phrase for you. Write it down and store it in a safe place.
![Secret Backup Phrase](./images/secret-backup-phrase.png)
![Secret Backup Phrase](../.gitbook/assets/secret-backup-phrase.png)
* Continue forward. On the next page, MetaMask will ask you to confirm the backup phrase. Select the words in the correct sequence:
* Continue forward. On the next page, MetaMask will ask you to confirm the backup phrase. Select the words in the correct sequence:
![Confirm secret backup phrase](./images/confirm-backup-phrase.png)
![Confirm secret backup phrase](../.gitbook/assets/confirm-backup-phrase.png)
* Voila! Your account is now created. You can access MetaMask via the browser extension in the top right corner of your browser.
* Voila! Your account is now created. You can access MetaMask via the browser extension in the top right corner of your browser.
![MetaMask browser extension](./images/metamask-browser-extension.png)
![MetaMask browser extension](../.gitbook/assets/metamask-browser-extension.png)
* You can now manage Ether and Ocean Tokens with your wallet. You can copy your account address to the clipboard from the options. When you want someone to send Ether or Ocean Tokens to you, you will have to give them that address. It's not a secret.
* You can now manage Ether and Ocean Tokens with your wallet. You can copy your account address to the clipboard from the options. When you want someone to send Ether or Ocean Tokens to you, you will have to give them that address. It's not a secret.
![Manage tokens](./images/manage-tokens.png)
![Manage tokens](../.gitbook/assets/manage-tokens.png)
You can also watch our [tutorial video snippets](https://www.youtube.com/playlist?list=PL\_dn0wVs9kWolBCbtHaFxsi408cumOeth) if you want more help setting up MetaMask.
@ -40,7 +40,7 @@ Sometimes it is required to use custom or external networks in MetaMask. We can
Open the Settings menu and find the `Networks` option. When you open it, you'll be able to see all available networks your MetaMask wallet currently use. Click the `Add Network` button.
![Add custom/external network](./images/metamask-add-network.png)
![Add custom/external network](../.gitbook/assets/metamask-add-network.png)
There are a few empty inputs we need to fill:

View File

@ -4,7 +4,7 @@ https://v4.market.oceanprotocol.com/
### Landing page
![marketplace landing-page](./images/marketplace/marketplace-landing-page.png)
![marketplace landing-page](../.gitbook/assets/marketplace-landing-page.png)
### About Ocean Market

View File

@ -8,9 +8,9 @@ description: Tutorial to add liquidity to Ocean pools using Ocean Market
1. Go to Ocean [Marketplace](https://v4.market.oceanprotocol.com/).
2. Search for the data asset. The Ocean Marketplace provides features to search the Data/Algorithms by text, and users can also sort the result by published date.
3. Connect wallet.
3. Connect wallet.
![connect wallet](./images/marketplace/add-liquidity-connect-wallet.png)
![connect wallet](../.gitbook/assets/add-liquidity-connect-wallet.png)
### Tutorial
@ -22,24 +22,24 @@ Search for the desired asset published on the [Ocean Marketplace](https://v4.mar
After finding the dataset, select **`POOL`** tab and click on **`ADD LIQUIDITY`**.
![add liquidity part-1](./images/marketplace/add-liquidity-1.png)
![add liquidity part-1](../.gitbook/assets/add-liquidity-1.png)
#### Step 2 - Liquidity amount
Enter the amount of OCEAN tokens you want to add. The expected amount of pool shares and percentages for the provided amount will be displayed.
![add liquidity part-2](./images/marketplace/add-liquidity-2.png)
![add liquidity part-2](../.gitbook/assets/add-liquidity-2.png)
#### Step 3 - Transaction: Access to OCEAN tokens
![add liquidity part-3](./images/marketplace/add-liquidity-3.png)
![add liquidity part-3](../.gitbook/assets/add-liquidity-3.png)
#### Step 4 - Click supply
![add liquidity part-4](./images/marketplace/add-liquidity-4.png)
![add liquidity part-4](../.gitbook/assets/add-liquidity-4.png)
#### Step 5 - Transaction: Add liquidty
![add liquidity part-5](./images/marketplace/add-liquidity-5.png)
![add liquidity part-5](../.gitbook/assets/add-liquidity-5.png)
![add liquidity part-6](./images/marketplace/add-liquidity-6.png)
![add liquidity part-6](../.gitbook/assets/add-liquidity-6.png)

View File

@ -8,11 +8,13 @@ description: Tutorial to download assets using Ocean Market
1. Go to Ocean [Marketplace](https://v4.market.oceanprotocol.com/).
2. Search for the data asset. The Ocean Marketplace provides features to search the Data/Algorithms by text, and users can also sort the result by published date.
3. Connect wallet.
3. Connect wallet.
![connect wallet](./images/marketplace/consume-connect-wallet.png)
![connect wallet](../.gitbook/assets/consume-connect-wallet.png)
In this tutorial, we will be using the Rinkeby test network.
```
In this tutorial, we will be using the Rinkeby test network.
```
### Tutorial
@ -20,22 +22,22 @@ description: Tutorial to download assets using Ocean Market
The buy button is enabled only if the connected wallet address has enough OCEAN tokens to exchange them with 1 datatoken.
![consume part-1](./images/marketplace/consume-1.png)
![consume part-1](../.gitbook/assets/consume-1.png)
#### Step 2 - Allow access to OCEAN token(s)
![consume part-3](./images/marketplace/consume-2.png)
![consume part-3](../.gitbook/assets/consume-2.png)
#### Step 3 - Buy a datatoken by exchanging it with OCEAN token(s)
![consume part-4](./images/marketplace/consume-3.png)
![consume part-4](../.gitbook/assets/consume-3.png)
#### Step 4 - Click download
![consume part-5](./images/marketplace/consume-4.png)
![consume part-5](../.gitbook/assets/consume-4.png)
#### Step 5 - Sign message
After signing the message, the file download will start.
![consume part-6](./images/marketplace/consume-5.png)
![consume part-6](../.gitbook/assets/consume-5.png)

View File

@ -15,13 +15,13 @@ Ocean Market provides a convenient interface for individuals and organizations t
1. Go to [Ocean Market](https://v4.market.oceanprotocol.com)
2. Connect wallet.
![connect wallet](images/marketplace/connect-wallet.png)
![connect wallet](../.gitbook/assets/connect-wallet.png)
In this tutorial, we will be using the Rinkeby test network.
3\. Go to the publish page.
![publish page](images/marketplace/publish.png)
![publish page](../.gitbook/assets/publish.png)
#### Step 1 - Metadata
@ -45,7 +45,7 @@ _Mandatory fields are marked with \*_
Tags help the asset to be discoverable. If not provided, the list of tags is empty by default.
![publish part-1](images/marketplace/publish-1.png)
![publish part-1](../.gitbook/assets/publish-1.png)
#### Step 2 - Access details
@ -71,7 +71,7 @@ _Mandatory fields are marked with \*_
This field specifies how long the buyer can access the dataset after the dataset is purchased. This field is editable after the asset publication.
![publish part-2](images/marketplace/publish-2.png)
![publish part-2](../.gitbook/assets/publish-2.png)
#### Step 3 - Pricing
@ -89,35 +89,31 @@ With the _free pricing_ schema, the publisher provides an asset that is free to
With the _dynamic pricing_ schema, the publisher sets the asset price and creates a datatoken liquidity pool with an initial amount of OCEAN tokens.
For more information on the pricing models, please refer this [document](../concepts/asset-pricing/).
For more information on the pricing models, please refer this [document](../core-concepts/asset-pricing.md).
The publisher can also change the **Swap Fee** of the liquidity pool.
For a deep dive into the fee structure, please refer to this [document](../concepts/fees/).
For a deep dive into the fee structure, please refer to this [document](../core-concepts/fees.md).
![publish part-3](images/marketplace/publish-3.png)
![publish part-3](../.gitbook/assets/publish-3.png)
#### Step 4 - Preview
![publish part-4](images/marketplace/publish-4.png)
![publish part-4](../.gitbook/assets/publish-4.png)
#### Step 5 - Blockchain transactions
![publish part-5](images/marketplace/publish-5.png)
![publish part-5](../.gitbook/assets/publish-5.png)
\\
![publish part-6](../.gitbook/assets/publish-6.png)
![publish part-6](images/marketplace/publish-6.png)
\\
![publish part-7](images/marketplace/publish-7.png)
![publish part-7](../.gitbook/assets/publish-7.png)
#### Confirmation
Now, the asset is successfully published and available in the Ocean Market.
![publish success](images/marketplace/publish-8.png)
![publish success](../.gitbook/assets/publish-8.png)
On the [profile page](https://v4.market.oceanprotocol.com/profile), the publisher has access to all his published assets.

View File

@ -8,9 +8,9 @@ description: Tutorial to swap datatokens for OCEAN tokens using Ocean Market
1. Go to Ocean [Marketplace](https://v4.market.oceanprotocol.com/).
2. Search for the data asset. The Ocean Marketplace provides features to search the Data/Algorithms by text, and users can also sort the result by published date.
3. Connect wallet.
3. Connect wallet.
![connect wallet](./images/marketplace/consume-connect-wallet.png)
![connect wallet](../.gitbook/assets/consume-connect-wallet.png)
### Tutorial
@ -22,18 +22,18 @@ After finding the dataset, select the **`TRADE`** tab.
Enter the amount of OCEAN tokens to swap. The datatokens amount to receive is displayed with the swap fees information. The reverse operation(swap datatokens to OCEAN tokens) is also available on the trade tab.
![swap part-1](./images/marketplace/Swap-1.png)
![swap part-1](../.gitbook/assets/Swap-1.png)
#### Step 3 - Transaction: Access to OCEAN token(s)
![swap part-2](./images/marketplace/Swap-2.png)
![swap part-2](../.gitbook/assets/Swap-2.png)
#### Step 4 - Click swap
![swap part-3](./images/marketplace/Swap-3.png)
![swap part-3](../.gitbook/assets/Swap-3.png)
#### Step 5 - Transaction: Swap tokens
![swap part-4](./images/marketplace/Swap-4.png)
![swap part-4](../.gitbook/assets/Swap-4.png)
![swap part-5](./images/marketplace/Swap-5.png)
![swap part-5](../.gitbook/assets/Swap-5.png)