1
0
mirror of https://github.com/oceanprotocol/docs.git synced 2024-11-26 19:49:26 +01:00

GITBOOK-4: Fixed main categories emojies and various cleanups

This commit is contained in:
Ana Loznianu 2023-04-10 14:47:51 +00:00 committed by gitbook-bot
parent 1bfcf5041c
commit b0ffd84976
No known key found for this signature in database
GPG Key ID: 07D2180C7B12D0FF
25 changed files with 189 additions and 450 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 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: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@ -2,7 +2,7 @@
description: Ocean Protocol - Tools for the Web3 Data Economy
---
# Ocean Documentation
# 🌊 Discover
## What is Ocean?
@ -10,14 +10,14 @@ Ocean provides the next generation of tools to unlock data at a large scale. Oce
Ocean uses Data NFTs (ERC721) and datatokens (ERC20) as the interface to connect data assets with blockchain and DeFi tools. Crypto wallets become data wallets, crypto exchanges become data marketplaces, DAOs for data co-ops, and more via DeFi composability.
![Creating a New Data Economy](./.gitbook/assets/architecture/feature-datascience@2x.webp)
![Creating a New Data Economy](.gitbook/assets/architecture/feature-datascience@2x.webp)
The following guides are a greate place to start if you are new to Ocean:
- [Architecture Overview](core-concepts/architecture.md)
- [Data NFTs and Datatokens](core-concepts/datanft-and-datatoken.md)
- [Publish a data asset](using-ocean-market/marketplace-publish-data-asset.md)
- [Download a data asset](using-ocean-market/marketplace-download-data-asset.md)
* [Architecture Overview](core-concepts/architecture.md)
* [Data NFTs and Datatokens](core-concepts/datanft-and-datatoken.md)
* [Publish a data asset](using-ocean-market/marketplace-publish-data-asset.md)
* [Download a data asset](using-ocean-market/marketplace-download-data-asset.md)
## What is our Mission?
@ -37,25 +37,25 @@ Use Ocean Market to publish and sell data, or browse and buy data. Data is publi
As a data scientist or AI practitioner, you can benefit from access to more data (including private data), crypto-secured provenance in data & AI training, and income opportunities for selling data and curating data.
![Decentralized Exchange Marketplaces](./.gitbook/assets/architecture/feature-marketplaces@2x.webp)
![Decentralized Exchange Marketplaces](.gitbook/assets/architecture/feature-marketplaces@2x.webp)
The following guides will help you get started with buying and selling data:
- [Publish a data asset](using-ocean-market/marketplace-publish-data-asset.md)
- [Download a data asset](using-ocean-market/marketplace-download-data-asset.md)
- [Publishing with hosting services](using-ocean-market/asset-hosting.md)
* [Publish a data asset](using-ocean-market/marketplace-publish-data-asset.md)
* [Download a data asset](using-ocean-market/marketplace-download-data-asset.md)
* [Publishing with hosting services](using-ocean-market/asset-hosting.md)
### Build Your Own Data Market
Use Ocean Protocol software tools to build your own data marketplace, by either forking [Ocean Market](https://v4.market.oceanprotocol.com/) code or building up with Ocean components.
![Ocean Market Homepage](./.gitbook/assets/ocean-market-homepage.png)
![Ocean Market Homepage](.gitbook/assets/ocean-market-homepage.png)
If you're interested in starting your own marketplace checkout the following guides:
- [Forking Ocean Market](building-with-ocean/build-a-marketplace/forking-ocean-market.md)
- [Customising your market](building-with-ocean/build-a-marketplace/customising-your-market.md)
- [Deploying your market](building-with-ocean/build-a-marketplace/deploying-market.md)
* [Forking Ocean Market](building-with-ocean/build-a-marketplace/forking-ocean-market.md)
* [Customising your market](building-with-ocean/build-a-marketplace/customising-your-market.md)
* [Deploying your market](building-with-ocean/build-a-marketplace/deploying-market.md)
### Manage datatokens and data NFTs for use in DeFi
@ -65,7 +65,7 @@ Use Ocean [JavaScript](https://github.com/oceanprotocol/ocean.js) or [Python](ht
Ocean-based apps make data asset on-ramps and off-ramps easy for end users. Ocean smart contracts and libraries make this easy for developers. The data itself does not need to be on-chain, just the access control.
![New Data on-ramp and off-ramp](./.gitbook/assets/architecture/new-ramp-on-crypto-ramp-off.webp)
![New Data on-ramp and off-ramp](.gitbook/assets/architecture/new-ramp-on-crypto-ramp-off.webp)
Data NFTs are ERC721 tokens representing the unique asset and datatokens are ERC20 tokens to access data services. Each data service gets its own data NFT and one or more type of datatokens.
@ -73,9 +73,9 @@ To access the dataset, you send 1.0 datatokens to the data provider (running Oce
Since datatokens are ERC20, and live on Ethereum mainnet, there's a whole ecosystem to leverage.
- _Publish and access data services:_ downloadable files or compute-to-data. Use Ocean to deploy a new [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md) and [ERC20](https://github.com/ethereum/EIPs/blob/7f4f0377730f5fc266824084188cc17cf246932e/EIPS/eip-20.md) datatoken contract for each data service, then mint datatokens.
- _Transfer datatokens_ to another owner (or approve & transferFrom).
- _And more._ Use ERC20 support in [web3.js](https://web3js.readthedocs.io/), [web3.py](https://web3py.readthedocs.io/en/stable/examples.html#working-with-an-erc20-token-contract) and Solidity to connect datatokens with crypto wallets and other DeFi services.
* _Publish and access data services:_ downloadable files or compute-to-data. Use Ocean to deploy a new [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md) and [ERC20](https://github.com/ethereum/EIPs/blob/7f4f0377730f5fc266824084188cc17cf246932e/EIPS/eip-20.md) datatoken contract for each data service, then mint datatokens.
* _Transfer datatokens_ to another owner (or approve & transferFrom).
* _And more._ Use ERC20 support in [web3.js](https://web3js.readthedocs.io/), [web3.py](https://web3py.readthedocs.io/en/stable/examples.html#working-with-an-erc20-token-contract) and Solidity to connect datatokens with crypto wallets and other DeFi services.
### Compute-to-Data
@ -85,7 +85,7 @@ Compute-to-data resolves the tradeoff between the benefits of using private data
The most valuable data is private data — using it can improve research and business outcomes. But concerns over privacy and control make it hard to access. With Compute-to-Data, private data isnt directly shared but rather specific access to it is granted.
![Compute-to-data](./.gitbook/assets/architecture/feature-compute@2x.webp)
![Compute-to-data](.gitbook/assets/architecture/feature-compute@2x.webp)
It can be used for data sharing in science or technology contexts, or in marketplaces for selling private data while preserving privacy, as an opportunity for companies to monetize their data assets.
@ -93,11 +93,11 @@ Private data can help research, leading to life-altering innovations in science
Checkout these guides if you are aiming to get a deeper understanding on how compute-to-data works:
- [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 Environment](building-with-ocean/compute-to-data/compute-to-data-minikube.md)
- [Writing Algorithms](building-with-ocean/compute-to-data/compute-to-data-algorithms.md)
- [Private docker registry](building-with-ocean/compute-to-data/compute-to-data-docker-registry.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 Environment](building-with-ocean/compute-to-data/compute-to-data-minikube.md)
* [Writing Algorithms](building-with-ocean/compute-to-data/compute-to-data-algorithms.md)
* [Private docker registry](building-with-ocean/compute-to-data/compute-to-data-docker-registry.md)
## How does it work?
@ -107,23 +107,23 @@ Ocean Protocol provides tools for developers to _build data markets_, and to _ma
If you are new to web3 and blockchain technologies then we suggest you first read these introductory guides:
- [Wallet Basics](building-with-ocean/wallets.md)
- [Set Up MetaMask Wallet](orientation/metamask-setup.md)
- [Manage Your OCEAN Tokens](building-with-ocean/wallets-and-ocean-tokens.md)
* [Wallet Basics](building-with-ocean/wallets.md)
* [Set Up MetaMask Wallet](orientation/metamask-setup.md)
* [Manage Your OCEAN Tokens](building-with-ocean/wallets-and-ocean-tokens.md)
If ou are looking to get to grips with the inner workings of Ocean, then you'll be interested in the following guides:
- [Architecture Overview](./core-concepts/architecture.md)
- [Data NFTs and Datatokens](./core-concepts/datanft-and-datatoken.md)
- [Networks](./core-concepts/networks.md)
- [Fees](./core-concepts/fees.md)
- [Asset pricing](./core-concepts/asset-pricing.md)
- [DID & DDO](./core-concepts/did-ddo.md)
- [Roles](./core-concepts/roles.md)
- [Set Up a Marketplace](./building-with-ocean/marketplace.md)
- [Compute-to-Data](./building-with-ocean/compute-to-data/README.md)
- [Deploying components](building-with-ocean/deploying-components/README.md)
- [Contributing](core-concepts/contributing.md)
* [Architecture Overview](core-concepts/architecture.md)
* [Data NFTs and Datatokens](core-concepts/datanft-and-datatoken.md)
* [Networks](core-concepts/networks.md)
* [Fees](core-concepts/fees.md)
* [Asset pricing](core-concepts/asset-pricing.md)
* [DID & DDO](core-concepts/did-ddo.md)
* [Roles](core-concepts/roles.md)
* [Set Up a Marketplace](building-with-ocean/marketplace.md)
* [Compute-to-Data](building-with-ocean/compute-to-data/)
* [Deploying components](building-with-ocean/deploying-components/)
* [Contributing](core-concepts/contributing.md)
## Supporters

View File

@ -1,73 +1,63 @@
# Table of contents
- [🌊 Discover](README.md)
- [Wallet Basics](discover/wallets.md)
- [Set Up MetaMask Wallet](discover/metamask-setup.md)
- [Manage Your OCEAN Tokens](discover/wallets-and-ocean-tokens.md)
- [Networks](discover/networks.md)
- [Bridges](discover/bridges.md)
- [FAQ](discover/faq.md)
- [📚 Tutorials](tutorials/README.m)
- [Using Ocean Market](tutorials/using-ocean-market/README.md)
- [Publish a Data Asset](tutorials/using-ocean-market/marketplace-publish-data-asset.md)
- [Download a Data Asset](tutorials/using-ocean-market/marketplace-download-data-asset.md)
- [Publishing with Hosting Services](tutorials/using-ocean-market/asset-hosting.md)
- [Liquidity Pools \[deprecated\]](tutorials/using-ocean-market/remove-liquidity-using-etherscan.md)
- [Build a Marketplace](tutorials/build-a-marketplace/README.md)
- [Forking Ocean Market](tutorials/build-a-marketplace/forking-ocean-market.md)
- [Customising a Market](tutorials/build-a-marketplace/customising-your-market.md)
- [Deploying a Market](tutorials/build-a-marketplace/deploying-market.md)
- [Using Ocean Subgraph](tutorials/using-ocean-subgraph/README.md)
- [List data NFTs](tutorials/using-ocean-subgraph/list-data-nfts.md)
- [List all Tokens](tutorials/using-ocean-subgraph/list-datatokens.md)
- [Get Data NFT Information](tutorials/using-ocean-subgraph/get-data-nft-information.md)
- [Get Datatoken Information](tutorials/using-ocean-subgraph/get-datatoken-information.md)
- [List Fixed Rate Exchanges](building-with-ocean/using-ocean-subgraph/list-fixed-rate-exchanges.md)
- [Using Ocean Libraries](tutorials/using-ocean-libraries/README.md)
- [Configuration](tutorials/using-ocean-libraries/configuration.md)
- [Creating a data NFT](tutorials/using-ocean-libraries/creating_dataNFT.md)
- [Publish with Fixed Pricing](tutorials/using-ocean-libraries/create-datatoken-with-fixed-pricing.md)
- [Mint Datatokens](tutorials/using-ocean-libraries/mint-datatoken.md)
- [Update Metadata](tutorials/using-ocean-libraries/update-metadata.md)
- [💰 Rewards](rewards/README.md)
- [veOCEAN](rewards/veocean.md)
- [Data Farming 101](rewards/df-intro.md)
- [Data Farming Background](rewards/df-background.md)
- [Emissions & APYs](rewards/emissions-apys.md)
- [Rewards Tutorial](rewards/veOcean-Data-Farming-Tutorial.md)
- [👨‍💻 Developers](developers/README.md)
- [Core concepts](developers/core-concepts/README.md)
- [Architecture Overview](developers/core-concepts/architecture.md)
- [Data NFTs and Datatokens](developers/core-concepts/datanft-and-datatoken.md)
- [Roles](developers/core-concepts/roles.md)
- [Fees](developers/core-concepts/fees.md)
- [Asset Pricing](developers/core-concepts/asset-pricing.md)
- [DID & DDO](developers/core-concepts/did-ddo.md)
- [C2D - Architecture](developers/core-concepts/compute-to-data-architecture.md)
- [C2D - Datasets & Algorithms](developers/core-concepts/compute-to-data-datasets-algorithms.md)
- [C2D - Writing Algorithms](developers/core-concepts/compute-to-data-algorithms.md)
- [C2D - User defined parameters](developers/core-concepts/user-defined-parameters.md)
- [Aquarius REST API](developers/aquarius-rest-api.md)
- [Provider REST API](developers/provider-rest-api.md)
- [🔨 Infrastructure](infrastructure/deploying-components/README.md)
- [Setup a Server](infrastructure/setup-server.md)
- [Deploying Marketplace](infrastructure/deploying-marketplace.md)
- [Deploying Aquarius](infrastructure/deploying-aquarius.md)
- [Deploying Provider](infrastructure/deploying-provider.md)
- [Deploying Ocean Subgraph](infrastructure/deploying-ocean-subgraph.md)
- [C2D - Minikube Environment](infrastructure/compute-to-data-minikube.md)
- [C2D - Private Docker Registry](infrastructure/compute-to-data-docker-registry.md)
- [🤝 Contribute](contribute/contributing.md)
- [Partners & Collaborators](contribute/projects-using-ocean.md)
- [Contributor Code of Conduct](contribute/code-of-conduct.md)
- [Legal Requirements](contribute/legal-reqs.md)
* [🌊 Discover](README.md)
* [Wallet Basics](discover/wallets.md)
* [Set Up MetaMask Wallet](discover/metamask-setup.md)
* [Manage Your OCEAN Tokens](discover/wallets-and-ocean-tokens.md)
* [Networks](discover/networks.md)
* [Bridges](discover/bridges.md)
* [FAQ](discover/faq.md)
* [📚 Tutorials](tutorials/README.md)
* [Using Ocean Market](tutorials/using-ocean-market/README.md)
* [Publish a Data Asset](tutorials/using-ocean-market/marketplace-publish-data-asset.md)
* [Download a Data Asset](tutorials/using-ocean-market/marketplace-download-data-asset.md)
* [Publishing with Hosting Services](tutorials/using-ocean-market/asset-hosting.md)
* [Liquidity Pools \[deprecated\]](tutorials/using-ocean-market/remove-liquidity-using-etherscan.md)
* [Build a Marketplace](tutorials/build-a-marketplace/README.md)
* [Forking Ocean Market](tutorials/build-a-marketplace/forking-ocean-market.md)
* [Customising a Market](tutorials/build-a-marketplace/customising-your-market.md)
* [Deploying a Market](tutorials/build-a-marketplace/deploying-market.md)
* [Using Ocean Subgraph](tutorials/using-ocean-subgraph/README.md)
* [List data NFTs](tutorials/using-ocean-subgraph/list-data-nfts.md)
* [List all Tokens](tutorials/using-ocean-subgraph/list-datatokens.md)
* [Get Data NFT Information](tutorials/using-ocean-subgraph/get-data-nft-information.md)
* [Get Datatoken Information](tutorials/using-ocean-subgraph/get-datatoken-information.md)
* [List Fixed Rate Exchanges](tutorials/using-ocean-subgraph/list-fixed-rate-exchanges.md)
* [Using Ocean Libraries](tutorials/using-ocean-libraries/README.md)
* [Configuration](tutorials/using-ocean-libraries/configuration.md)
* [Creating a data NFT](tutorials/using-ocean-libraries/creating\_dataNFT.md)
* [Publish with Fixed Pricing](tutorials/using-ocean-libraries/create-datatoken-with-fixed-pricing.md)
* [Mint Datatokens](tutorials/using-ocean-libraries/mint-datatoken.md)
* [Update Metadata](tutorials/using-ocean-libraries/update-metadata.md)
* [💰 Rewards](rewards/README.md)
* [veOCEAN](rewards/veocean.md)
* [Data Farming 101](rewards/df-intro.md)
* [Data Farming Background](rewards/df-background.md)
* [Emissions & APYs](rewards/emissions-apys.md)
* [Rewards Tutorial](rewards/veOcean-Data-Farming-Tutorial.md)
* [👨💻 Developers](developers/README.md)
* [Core concepts](developers/core-concepts/README.md)
* [Architecture Overview](developers/core-concepts/architecture.md)
* [Data NFTs and Datatokens](developers/core-concepts/datanft-and-datatoken.md)
* [Roles](developers/core-concepts/roles.md)
* [Fees](developers/core-concepts/fees.md)
* [Asset Pricing](developers/core-concepts/asset-pricing.md)
* [DID & DDO](developers/core-concepts/did-ddo.md)
* [C2D - Architecture](developers/core-concepts/compute-to-data-architecture.md)
* [C2D - Datasets & Algorithms](developers/core-concepts/compute-to-data-datasets-algorithms.md)
* [C2D - Writing Algorithms](developers/core-concepts/compute-to-data-algorithms.md)
* [C2D - User defined parameters](developers/core-concepts/user-defined-parameters.md)
* [Aquarius REST API](developers/aquarius-rest-api.md)
* [Provider REST API](developers/provider-rest-api.md)
* [🔨 Infrastructure](infrastructure/README.md)
* [Setup a Server](infrastructure/setup-server.md)
* [Deploying Marketplace](infrastructure/deploying-marketplace.md)
* [Deploying Aquarius](infrastructure/deploying-aquarius.md)
* [Deploying Provider](infrastructure/deploying-provider.md)
* [Deploying Ocean Subgraph](infrastructure/deploying-ocean-subgraph.md)
* [C2D - Minikube Environment](infrastructure/compute-to-data-minikube.md)
* [C2D - Private Docker Registry](infrastructure/compute-to-data-docker-registry.md)
* [🤝 Contribute](contribute/contributing.md)
* [Partners & Collaborators](contribute/projects-using-ocean.md)
* [Contributor Code of Conduct](contribute/code-of-conduct.md)
* [Legal Requirements](contribute/legal-reqs.md)

View File

@ -3,34 +3,36 @@ title: Ways to Contribute
description: Help to improve and develop Ocean core software.
---
## Report a bug
# 🤝 Contribute
### Report a bug
To report a bug that isn't a vulnerability, go to the relevant GitHub repository, click on the _Issues_ tab and select _Bug report_.
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.
## Report Vulnerabilities
### Report Vulnerabilities
You may be able to earn a bounty for reporting vulnerabilities in sensitive parts of our code. Check our page on [Immunify](https://immunefi.com/bounty/oceanprotocol/) for the latest bug bounties available. You can also responsibly disclose flaws by emailing us at <a href="mailto:security@oceanprotocol.com">security@oceanprotocol.com</a>.
You may be able to earn a bounty for reporting vulnerabilities in sensitive parts of our code. Check our page on [Immunify](https://immunefi.com/bounty/oceanprotocol/) for the latest bug bounties available. You can also responsibly disclose flaws by emailing us at [security@oceanprotocol.com](mailto:security@oceanprotocol.com).
## Suggest a new feature
### Suggest a new feature
Use the _Issues_ section of each repository and select _Feature request_ to suggest and discuss any features you would like to see added.
As with bug reports, search existing open and closed issues and PRs to see if something has already been reported.
## Fix or improve core software
### Fix or improve core software
We'd love to have you contribute to any repository within the `oceanprotocol` GitHub organization!
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](./legal-reqs.md) for contributing code.
- Be excellent to each other, as outlined in our [Contributor Code of Conduct](./code-of-conduct.md).
* 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](legal-reqs.md) for contributing code.
* Be excellent to each other, as outlined in our [Contributor Code of Conduct](code-of-conduct.md).
### Workflow
#### Workflow
A typical code contribution in any Ocean Protocol repository would go as follows:
@ -47,37 +49,30 @@ Depending on the release management of each repository, your contribution will b
Except for GitHub, you can find most Ocean Protocol core developers in [Discord](https://discord.gg/TnXjkR5) if you have further development questions.
## Develop an app or integration on top of Ocean Protocol
### Develop an app or integration on top of Ocean Protocol
Create an app with one of Ocean Protocol's interface points:
<repo name="react"></repo>
<repo name="ocean.js"></repo>
<repo name="ocean.py"></repo>
<repo name="contracts"></repo>
Ocean documentation will help. And... you're here:)
## Improve these docs
### Improve these docs
These docs can always be improved. Every content page has an edit link at its end linking you to the content source on GitHub for simple copy editing.
If you found a technical bug or have an improvement suggestion, head over to the repo's _Issues_ section:
<repo name="docs"></repo>
## Apply for a developer job
### Apply for a developer job
Really love building on Ocean and want to dive deeper? Consider joining us full time. Our openings are listed at https://github.com/oceanprotocol/devjobs.
## Get Funding
### Get Funding
Funding can be for contributing to the core software, building apps, doing integrations, fixing bugs, community outreach, and more. Checkout our active funding programs for more information:
- **[Ocean DAO](https://www.oceanprotocol.com/fund)** (grants curated by the community).
- **[Shipyard](https://oceanprotocol.com/shipyard)** (Ocean curated grants).
- **[Data Bounties](https://oceanprotocol.com/bounties)** (rewards for publishing algorithms and datasets).
* [**Ocean DAO**](https://www.oceanprotocol.com/fund) (grants curated by the community).
* [**Shipyard**](https://oceanprotocol.com/shipyard) (Ocean curated grants).
* [**Data Bounties**](https://oceanprotocol.com/bounties) (rewards for publishing algorithms and datasets).
## Other ways to get involved
### Other ways to get involved
Please go to the [Ocean Community Page](https://www.oceanprotocol.com/community) for more ideas on how to get involved.

View File

@ -29,16 +29,16 @@ With data NFTs, you are able to take advantage of the wider NFT ecosystem and al
The image above describes how ERC721 data NFTs and ERC20 datatokens relate.
- Bottom: The publisher deploys an ERC721 data NFT contract representing the base IP for the data asset. They are now the manager of the data NFT.
- Top: The manager then deploys an ERC20 datatoken contract against the data NFT. The ERC20 represents a license with specific terms like "can download for the next 3 days". They could even publish further ERC20 datatoken contracts, to represent different license terms or for compute-to-data.
* Bottom: The publisher deploys an ERC721 data NFT contract representing the base IP for the data asset. They are now the manager of the data NFT.
* Top: The manager then deploys an ERC20 datatoken contract against the data NFT. The ERC20 represents a license with specific terms like "can download for the next 3 days". They could even publish further ERC20 datatoken contracts, to represent different license terms or for compute-to-data.
### Terminology
- **Base IP** means the artifact being copyrighted. Represented by the {ERC721 address, tokenId} from the publish transactions.
- **Base IP holder** means the holder of the Base IP. Represented as the actor that did the initial "publish" action.
- **Sub-licensee** is the holder of the sub-license. Represented as the entity that controls address ERC721.\_owners\[tokenId=x].
- **To Publish**: Claim copyright or exclusive base license.
- **To Sub-license**: Transfer one (of many) sub-licenses to new licensee: ERC20.transfer(to=licensee, value=1.0).
* **Base IP** means the artifact being copyrighted. Represented by the {ERC721 address, tokenId} from the publish transactions.
* **Base IP holder** means the holder of the Base IP. Represented as the actor that did the initial "publish" action.
* **Sub-licensee** is the holder of the sub-license. Represented as the entity that controls address ERC721.\_owners\[tokenId=x].
* **To Publish**: Claim copyright or exclusive base license.
* **To Sub-license**: Transfer one (of many) sub-licenses to new licensee: ERC20.transfer(to=licensee, value=1.0).
### Implementation in Ocean Protocol
@ -62,12 +62,12 @@ Ocean provides convenient methods to list ERC20 datatokens for sale, with fixed-
### High-Level Behavior
![High-Level Flow](../../.gitbook/assets/architecture/use-case.png)
![High-Level Flow](<../../.gitbook/assets/architecture/use-case (1).png>)
Here's an example.
- In step 1, Alice **publishes** her dataset with Ocean: this means deploying an ERC721 data NFT contract (claiming copyright/base IP), then an ERC20 datatoken contract (license against base IP).
- In step 2, she **mints** some ERC20 datatokens and **transfers** 1.0 of them to Bob's wallet; now he has a license to be able to download that dataset.
* In step 1, Alice **publishes** her dataset with Ocean: this means deploying an ERC721 data NFT contract (claiming copyright/base IP), then an ERC20 datatoken contract (license against base IP).
* In step 2, she **mints** some ERC20 datatokens and **transfers** 1.0 of them to Bob's wallet; now he has a license to be able to download that dataset.
### Revenue
@ -87,8 +87,8 @@ The only data NFT template currently available has templateId `1` and the source
The details regarding currently supported datatoken templates are as follows:
- **Regular template**: The regular template allows users to buy/sell/hold datatokens. The datatokens can be minted by the address having a `MINTER` role, making the supply of datatoken variable. This template is assigned templateID `1` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20Template.sol).
- **Enterprise template**: The enterprise template has additional functions apart from methods in the ERC20 interface. This additional feature allows access to the service by paying in the basetoken instead of datatoken. Internally, the smart contract handles conversion of basetoken to datatoken, initiating an order to access the service, and minting/burning the datatoken. The total supply of the datatoken effectively remains 0 in the case of the enterprise template. This template is assigned templateID `2` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20TemplateEnterprise.sol).
* **Regular template**: The regular template allows users to buy/sell/hold datatokens. The datatokens can be minted by the address having a `MINTER` role, making the supply of datatoken variable. This template is assigned templateID `1` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20Template.sol).
* **Enterprise template**: The enterprise template has additional functions apart from methods in the ERC20 interface. This additional feature allows access to the service by paying in the basetoken instead of datatoken. Internally, the smart contract handles conversion of basetoken to datatoken, initiating an order to access the service, and minting/burning the datatoken. The total supply of the datatoken effectively remains 0 in the case of the enterprise template. This template is assigned templateID `2` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20TemplateEnterprise.sol).
_NOTE: Ocean Protocol might support additional variations of data NFT/datatoken by adding new templates._
@ -98,8 +98,8 @@ Fractional ownership is an exciting sub-niche of Web3, at the intersection of NF
Ocean provides two approaches to fractional ownership:
- Sharded holding of ERC20 datatokens, where each ERC20 holder has the usual datatoken rights as described above, e.g. 1.0 datatokens to consume an asset. This comes out-of-the-box with Ocean.
- Sharding ERC721 data NFT, where each co-holder has right to some earnings against base IP, and co-controls the data NFT. For example, theres a DAO with the sole purpose to hold the data NFT; this DAO has its own ERC20 token; DAO members vote with tokens to update data NFT roles or deploy ERC20 datatokens against the ERC721.
* Sharded holding of ERC20 datatokens, where each ERC20 holder has the usual datatoken rights as described above, e.g. 1.0 datatokens to consume an asset. This comes out-of-the-box with Ocean.
* Sharding ERC721 data NFT, where each co-holder has right to some earnings against base IP, and co-controls the data NFT. For example, theres a DAO with the sole purpose to hold the data NFT; this DAO has its own ERC20 token; DAO members vote with tokens to update data NFT roles or deploy ERC20 datatokens against the ERC721.
Note: For (2), one might consider doing sharding with something like Niftex. But then there are questions: what rights do the shard-holders get exactly? It could be zero; for example, Amazon shareholders dont have the right to walk the hallways of the Amazon offices just because they hold shares. Secondly, how do the shard-holders control the data NFT? These questions get resolved by using a tokenized DAO, as described above.
@ -111,7 +111,7 @@ This has several variants. Each members data feed could be its own data NFT w
### Other References
- [Data & NFTs 1: Practical Connections of ERC721 with Intellectual Property](https://blog.oceanprotocol.com/nfts-ip-1-practical-connections-of-erc721-with-intellectual-property-dc216aaf005d)
- [Data & NFTs 2: Leveraging ERC20 Fungibility](https://blog.oceanprotocol.com/nfts-ip-2-leveraging-erc20-fungibility-bcee162290e3)
- [Data & NFTs 3: Combining ERC721 & ERC20](https://blog.oceanprotocol.com/nfts-ip-3-combining-erc721-erc20-b69ea659115e)
- [Fungibility sightings in NFTs](https://blog.oceanprotocol.com/on-difficult-to-explain-fungibility-sightings-in-nfts-26bc18620f70)
* [Data & NFTs 1: Practical Connections of ERC721 with Intellectual Property](https://blog.oceanprotocol.com/nfts-ip-1-practical-connections-of-erc721-with-intellectual-property-dc216aaf005d)
* [Data & NFTs 2: Leveraging ERC20 Fungibility](https://blog.oceanprotocol.com/nfts-ip-2-leveraging-erc20-fungibility-bcee162290e3)
* [Data & NFTs 3: Combining ERC721 & ERC20](https://blog.oceanprotocol.com/nfts-ip-3-combining-erc721-erc20-b69ea659115e)
* [Fungibility sightings in NFTs](https://blog.oceanprotocol.com/on-difficult-to-explain-fungibility-sightings-in-nfts-26bc18620f70)

View File

@ -2,32 +2,34 @@
title: Bridges
---
# Binance Smart Chain (BSC) Bridge
# Bridges
## Intro to BSC's Bridge
## Binance Smart Chain (BSC) Bridge
### 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](../../orientation/metamask-setup.md#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)
# Polygon (ex Matic) Bridge
## Polygon (ex Matic) Bridge
### Links
#### Links
- [Matic Wallet](https://wallet.polygon.technology/)
- [Matic Bridge](https://wallet.polygon.technology/bridge/)
- [How to set up a custom network in MetaMask](../../orientation/metamask-setup.md#set-up-custom-network)
* [Matic Wallet](https://wallet.polygon.technology/)
* [Matic Bridge](https://wallet.polygon.technology/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.polygon.technology/) 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).
@ -39,11 +41,11 @@ In some places, the Polygon Network is still using its old brand Matic. Either y
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”.
![Main wallet page](../.gitbook/assets/wallet/main-wallet-page.png)
![Main wallet page](<../.gitbook/assets/wallet/main-wallet-page (1).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.
@ -53,7 +55,7 @@ Choose the amount to transfer and click the “Transfer” button. Matics bri
![Transferring process](../.gitbook/assets/wallet/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.
@ -61,7 +63,7 @@ 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:

View File

@ -1,2 +1,2 @@
# Deploying Components
# 🔨 Infrastructure

View File

@ -18,25 +18,25 @@ Go to [https://www.digitalocean.com/](https://www.digitalocean.com/) and create
Click on **`Create`** button and choose **`Droplets`** options from dropdown.
![Server Setup](../../.gitbook/assets/server-setup/image.png)
![Server Setup](../.gitbook/assets/server-setup/image.png)
#### Configure droplet
Select Ubuntu OS and choose a plan. The required CPU, Memory depends on the number of requests Aquarius is expected to serve.
![Configure droplet](<../../.gitbook/assets/server-setup/image (8).png>)
![Configure droplet](<../.gitbook/assets/server-setup/image (8).png>)
Also, select the region where you want Aquarius to be hosted and a root password.
![Select region](<../../.gitbook/assets/server-setup/image (10).png>)
![Select region](<../.gitbook/assets/server-setup/image (6).png>)
![Click create Droplet](<../../.gitbook/assets/server-setup/image (7).png>)
![Click create Droplet](<../.gitbook/assets/server-setup/image (7).png>)
Finalize the parameters for the server, click on `Create Droplet.` After the server is ready, select the `Access console` option from the dropdown.
![Click access console](<../../.gitbook/assets/server-setup/image (3).png>)
![Click access console](<../.gitbook/assets/server-setup/image (3).png>)
![Click launch Droplet console](<../../.gitbook/assets/image (9).png>)
![Click launch Droplet console](../.gitbook/assets/image%20\(9\).png)
A window will open with a terminal session. Now, the required infrastructure is ready for hosting Aquarius, Provider or the Subgraph. Let's install docker and docker-compose on the server. Follow the installation guide [here](https://docs.docker.com/engine/install/ubuntu/).
@ -60,5 +60,5 @@ sudo apt-get install docker-compose-plugin
Now that, the server is ready with all the required dependencies are installed for hosting Ocean Components, follow the instructions given in Component specific guide.
- [Deploying Marketplace](deploying-marketplace.md)
- [Deploying Aquarius](deploying-aquarius.md)
* [Deploying Marketplace](deploying-marketplace.md)
* [Deploying Aquarius](deploying-aquarius.md)

View File

@ -2,13 +2,13 @@
description: An overview of Ocean Protocol's governance and incentives mechanisms
---
# veOCEAN & Data Farming
# 💰 Rewards
veOCEAN is a fork of veCRV, and enables you to become a governance participant, eligible to receive rewards and engage with different protocol mechanisms.
The following docs should provide you with sufficient intuition to access, utilize, and build upon the protocol's core incentive and reward system: Data Farming.
![DF Rewards Page](../.gitbook/assets/rewards/df_rewards_page.png)
![DF Rewards Page](../.gitbook/assets/rewards/df\_rewards\_page.png)
## veOCEAN

View File

@ -0,0 +1,2 @@
# 📚 Tutorials

View File

@ -1,9 +1,13 @@
---
title: Publish assets using hosting services
description: Tutorial to publish assets using hosting services like Arweave, AWS, and Azure.
description: >-
Tutorial to publish assets using hosting services like Arweave, AWS, and
Azure.
---
## Overview
# Publishing with Hosting Services
### Overview
To publish on the Ocean Marketplace, publishers must first host their assets. It is up to the asset publisher to decide where to host the asset. For example, a publisher can store the content on decentralized storage like Arweave or choose a centralized solution like their AWS server, private cloud server, or other third-party hosting services. Through publishing, the information required to access the asset is encrypted and stored as a part of DDO on the blockchain. Buyers don't have access directly to this information, but they interact with the [Provider](https://github.com/oceanprotocol/provider#provider), which decrypts it and acts as a proxy to serve the asset. The DDO only stores the location of the file, which is accessed on-demand by the Provider. Implementing a security policy that allows only the Provider to access the file and blocks requests from other unauthorized actors is recommended. One of the possible ways to achieve this is to allow only the Provider's IP address to access the data. But, not all hosting services provide this feature. So, the publishers must consider the security features while choosing a hosting service.
@ -13,13 +17,11 @@ On Ocean Marketplace, a publisher must provide the asset information during the
Publishers can choose any hosting service of their choice. The below section explains how to use commonly used hosting services with Ocean Marketplace.
⚠️ Note
**Please use a proper hosting solution to keep your files.**
Systems like `Google Drive` are not specifically designed for this use case. They include various virus checks and rate limiters that prevent the `Provider` to download the asset once it was purchased.
⚠️ Note **Please use a proper hosting solution to keep your files.** Systems like `Google Drive` are not specifically designed for this use case. They include various virus checks and rate limiters that prevent the `Provider` to download the asset once it was purchased.
## Decentralized hosting
### Decentralized hosting
### Arweave
#### Arweave
[Arweave](https://www.arweave.org/) is a global, permanent, and decentralized data storage layer that allows you to store documents and applications forever. Arweave is different from other decentralized storage solutions in that there is only one up-front cost to upload each file.
@ -45,7 +47,7 @@ Select the newly imported wallet by clicking the "blockies" style icon in the to
The fee in AR tokens will be calculated based on the size of the file and displayed near the bottom middle part of the screen. Select **Submit** to submit the transaction.
After submitting the transaction, select **Transactions** and wait until the transaction appears and eventually finalizes. This can take over 5 minutes so please be patient.&#x20;
After submitting the transaction, select **Transactions** and wait until the transaction appears and eventually finalizes. This can take over 5 minutes so please be patient.
**Step 4 - Copy the transaction ID**
@ -57,9 +59,9 @@ Once the transaction finalizes, select it, and copy the transaction ID.
![Ocean Market - Publish with arweave transaction ID](../.gitbook/assets/hosting/arweave-4.png)
## Centralized hosting
### Centralized hosting
### AWS
#### AWS
AWS provides various options to host data and multiple configuration possibilities. Publishers are required to do their research and decide what would be the right choice. The below steps provide one of the possible ways to host data using an AWS S3 bucket and publish it on Ocean Marketplace.
@ -103,7 +105,7 @@ Now, the asset can be uploaded by selecting the bucket name and choosing `Upload
Get the files and add them to the bucket.
The file is an example used in multiple Ocean repositories, and it can be found [here](https://raw.githubusercontent.com/oceanprotocol/c2d-examples/main/branin_and_gpr/branin.arff).
The file is an example used in multiple Ocean repositories, and it can be found [here](https://raw.githubusercontent.com/oceanprotocol/c2d-examples/main/branin\_and\_gpr/branin.arff).
![Upload asset on S3 bucket - 3](../.gitbook/assets/hosting/aws-7.png)
@ -166,7 +168,7 @@ Copy the `Object URL` that can be found at `Object Overview` from the AWS S3 buc
![Get the S3 Bucket Link & Publish Asset on Market - 1](../.gitbook/assets/hosting/aws-12.png)
### Azure storage
#### Azure storage
Azure provides various options to host data and multiple configuration possibilities. Publishers are required to do their research and decide what would be the right choice. The below steps provide one of the possible ways to host data using Azure storage and publish it on Ocean Marketplace.
@ -184,11 +186,11 @@ Go to the Azure portal: https://portal.azure.com/#home and select `Storage accou
**Create a new storage account**
![Create a storage account - 2](../../.gitbook/assets/hosting/azure-2.png)
![Create a storage account - 2](<../../.gitbook/assets/hosting/azure-2 (1).png>)
**Fill in the details**
![Add details](../../.gitbook/assets/hosting/azure-3.png)
![Add details](<../../.gitbook/assets/hosting/azure-3 (1).png>)
**Storage account created**
@ -200,17 +202,17 @@ Go to the Azure portal: https://portal.azure.com/#home and select `Storage accou
**Step 3 - Upload a file**
![Upload a file](../../.gitbook/assets/hosting/azure-6.png)
![Upload a file](<../../.gitbook/assets/hosting/azure-6 (1).png>)
**Step 4 - Share the file**
**Select the file to be published and click Generate SAS**
![Click generate SAS](../../.gitbook/assets/hosting/azure-7.png)
![Click generate SAS](<../../.gitbook/assets/hosting/azure-7 (1).png>)
**Configure the SAS details and click `Generate SAS token and URL`**
![Generate link to file](../../.gitbook/assets/hosting/azure-8.png)
![Generate link to file](<../../.gitbook/assets/hosting/azure-8 (1).png>)
**Copy the generated link**

View File

@ -1,254 +1,2 @@
# List Fixed Rate Exchanges
The result of following GraphQL query returns the information about the Fixed Rate Exchanges.
{% hint style="info" %}
Copy the query in the [GraphiQL interface](https://v4.subgraph.mainnet.oceanprotocol.com/subgraphs/name/oceanprotocol/ocean-subgraph/graphql) to fetch the results from the mainnet. For other networks use [this table](./#ocean-subgraph-graphiql).
{% endhint %}
#### Query
```graphql
{
fixedRateExchanges(skip:0, first:2, subgraphError:deny){
id
contract
exchangeId
owner{id}
datatoken{
id
name
symbol
}
price
datatokenBalance
active
totalSwapValue
swaps(skip:0, first:1){
tx
by {
id
}
baseTokenAmount
dataTokenAmount
createdTimestamp
}
updates(skip:0, first:1){
oldPrice
newPrice
newActive
createdTimestamp
tx
}
}
}
```
#### Code
{% tabs %}
{% tab title="Python" %}
The python script below can be used to run the the query. If you wish to change the network, then replace the value of variable `base_url` as needed.
**Create script**
{% code title="list_fixed_rate_exchanges.py" %}
```python
import requests
import json
query = """
{
fixedRateExchanges(skip:0, first:2, subgraphError:deny){
id
contract
exchangeId
owner{id}
datatoken{
id
name
symbol
}
price
datatokenBalance
active
totalSwapValue
swaps(skip:0, first:1){
tx
by {
id
}
baseTokenAmount
dataTokenAmount
createdTimestamp
}
updates(skip:0, first:1){
oldPrice
newPrice
newActive
createdTimestamp
tx
}
}
}"""
base_url = "https://v4.subgraph.mainnet.oceanprotocol.com"
route = "/subgraphs/name/oceanprotocol/ocean-subgraph"
url = base_url + route
headers = {"Content-Type": "application/json"}
payload = json.dumps({"query": query})
response = requests.request("POST", url, headers=headers, data=payload)
result = json.loads(response.text)
print(json.dumps(result, indent=4, sort_keys=True))
```
{% endcode %}
**Execute script**
```
python list_fixed_rate_exchanges.py
```
{% endtab %}
{% tab title="Javascript" %}
The javascript below can be used to run the the query. If you wish to change the network, then replace the value of variable `baseUrl` as needed.
#### Create script
{% code title="listFRE.js" %}
```javascript
var axios = require('axios');
const query = `{
fixedRateExchanges(skip:0, first:2, subgraphError:deny){
id
contract
exchangeId
owner{id}
datatoken{
id
name
symbol
}
price
datatokenBalance
active
totalSwapValue
swaps(skip:0, first:1){
tx
by {
id
}
baseTokenAmount
dataTokenAmount
createdTimestamp
}
updates(skip:0, first:1){
oldPrice
newPrice
newActive
createdTimestamp
tx
}
}
}`
const baseUrl = "https://v4.subgraph.mainnet.oceanprotocol.com"
const route = "/subgraphs/name/oceanprotocol/ocean-subgraph"
const url = `${baseUrl}${route}`
var config = {
method: 'post',
url: url,
headers: { "Content-Type": "application/json" },
data: JSON.stringify({ "query": query })
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
```
{% endcode %}
#### Execute script
```bash
node listFRE.js
```
{% endtab %}
{% endtabs %}
#### Response
<details>
<summary>Sample response</summary>
```json
{
"data": {
"fixedRateExchanges": [
{
"active": true,
"contract": "0xfa48673a7c36a2a768f89ac1ee8c355d5c367b02",
"datatoken": {
"id": "0x9b39a17cc72c8be4813d890172eff746470994ac",
"name": "Delightful Pelican Token",
"symbol": "DELPEL-79"
},
"datatokenBalance": "0",
"exchangeId": "0x06284c39b48afe5f01a04d56f1aae45dbb29793b190ee11e93a4a77215383d44",
"id": "0xfa48673a7c36a2a768f89ac1ee8c355d5c367b02-0x06284c39b48afe5f01a04d56f1aae45dbb29793b190ee11e93a4a77215383d44",
"owner": {
"id": "0x03ef3f422d429bcbd4ee5f77da2917a699f237ed"
},
"price": "33",
"swaps": [
{
"baseTokenAmount": "33.033",
"by": {
"id": "0x9b39a17cc72c8be4813d890172eff746470994ac"
},
"createdTimestamp": 1656563684,
"dataTokenAmount": "1",
"tx": "0x0b55482f69169c103563062e109f9d71afa01d18f201c425b24b1c74d3c282a3"
}
],
"totalSwapValue": "0",
"updates": []
},
{
"active": true,
"contract": "0xfa48673a7c36a2a768f89ac1ee8c355d5c367b02",
"datatoken": {
"id": "0x2cf074e36a802241f2f8ddb35f4a4557b8f1179b",
"name": "Arcadian Eel Token",
"symbol": "ARCEEL-17"
},
"datatokenBalance": "0",
"exchangeId": "0x2719862ebc4ed253f09088c878e00ef8ee2a792e1c5c765fac35dc18d7ef4deb",
"id": "0xfa48673a7c36a2a768f89ac1ee8c355d5c367b02-0x2719862ebc4ed253f09088c878e00ef8ee2a792e1c5c765fac35dc18d7ef4deb",
"owner": {
"id": "0x87b5606fba13529e1812319d25c6c2cd5c3f3cbc"
},
"price": "35",
"swaps": [],
"totalSwapValue": "0",
"updates": []
}
]
}
}
```
</details>