Revert "GITBOOK-635: Table widths fixes"
This reverts commit 206089ca49
.
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 224 KiB |
@ -32,7 +32,7 @@
|
|||||||
* [Harvest More Yield Data Farming](user-guides/how-to-data-farm.md)
|
* [Harvest More Yield Data Farming](user-guides/how-to-data-farm.md)
|
||||||
* [Claim Rewards Data Farming](user-guides/claim-ocean-rewards.md)
|
* [Claim Rewards Data Farming](user-guides/claim-ocean-rewards.md)
|
||||||
* [Liquidity Pools \[deprecated\]](user-guides/remove-liquidity-pools.md)
|
* [Liquidity Pools \[deprecated\]](user-guides/remove-liquidity-pools.md)
|
||||||
* [👨💻 Developers](developers/README.md)
|
* [💻 Developers](developers/README.md)
|
||||||
* [Architecture Overview](developers/architecture.md)
|
* [Architecture Overview](developers/architecture.md)
|
||||||
* [Contracts](developers/contracts/README.md)
|
* [Contracts](developers/contracts/README.md)
|
||||||
* [Data NFTs](developers/contracts/data-nfts.md)
|
* [Data NFTs](developers/contracts/data-nfts.md)
|
||||||
|
@ -22,9 +22,9 @@ Ocean Protocol is built for data scientists to **monetize data effectively and**
|
|||||||
|
|
||||||
### How to design a ML system using Ocean Protocol?
|
### How to design a ML system using Ocean Protocol?
|
||||||
|
|
||||||
The first step is to tokenize data into data NFTs and datatokens on the blockchain. We offer a no-code way to tokenize data via the [Ocean Market](https://market.oceanprotocol.com). But we also offer code options for data scientists to use the [Ocean.py](../developers/ocean.py/) and [Ocean.js](../developers/ocean.js/) libraries. Data scientists can then build sophisticated ML systems on top of the tokenized data by using composable Ocean Protocol tools. ML models can use a variety of Ocean smart contracts, including Ocean's [Compute-to-Data](../developers/compute-to-data/), to build model outputs all the way to the last-mile delivery for businesses.
|
The first step is to tokenize data into data NFTs and datatokens on the blockchain. We offer a no-code way to tokenize data via the [Ocean Market](https://market.oceanprotocol.com). But we also offer code options for data scientists to use the [Ocean.py](../developers/ocean.py/README.md) and [Ocean.js](../developers/ocean.js/README.md) libraries. Data scientists can then build sophisticated ML systems on top of the tokenized data by using composable Ocean Protocol tools. ML models can use a variety of Ocean smart contracts, including Ocean's [Compute-to-Data](../developers/compute-to-data/README.md), to build model outputs all the way to the last-mile delivery for businesses.
|
||||||
|
|
||||||
### **Key Links for Data Scientists:**
|
### **Key Links for Data Scientists:**
|
||||||
|
|
||||||
* Learn the difference between Ocean Protocol [data NFTs and datatokens](../developers/contracts/datanft-and-datatoken.md), the two types of tokenized data assets you need to start building your ML systems.
|
* Learn the difference between Ocean Protocol [data NFTs and datatokens](../developers/contracts/datanft-and-datatoken.md), the two types of tokenized data assets you need to start building your ML systems.
|
||||||
* Discover Ocean's [Compute-to-Data](../developers/compute-to-data/) engine that can help you to solve the difficult problem of selling algorithmic compute jobs on your datasets without actually revealing the contents of the algorithm & dataset to the consumer.
|
* Discover Ocean's [Compute-to-Data](../developers/compute-to-data/README.md) engine that can help you to solve the difficult problem of selling algorithmic compute jobs on your datasets without actually revealing the contents of the algorithm & dataset to the consumer.
|
||||||
|
@ -11,14 +11,14 @@ coverY: 0
|
|||||||
|
|
||||||
With Ocean, crypto wallets transform into magical data wallets, where your data can roam freely and securely. Crypto exchanges? Well, they've taken on a new role as data marketplaces, where you can showcase and trade your valuable data treasures. And hold on tight because DAOs are here to create epic data co-ops, where collaboration and innovation reign supreme! 🤝
|
With Ocean, crypto wallets transform into magical data wallets, where your data can roam freely and securely. Crypto exchanges? Well, they've taken on a new role as data marketplaces, where you can showcase and trade your valuable data treasures. And hold on tight because DAOs are here to create epic data co-ops, where collaboration and innovation reign supreme! 🤝
|
||||||
|
|
||||||
But hold on tight, because we have even more in store for you! With Ocean Protocol, you gain access to a treasure trove of tools that will unlock your data scientist superpowers and allow you to unleash your creativity. Whether you're a Python aficionado or a JavaScript maestro, we have you covered with [ocean.py](ocean.py/) and [ocean.js](ocean.js) libraries. So, get ready to dive into the depths of data innovation and create the next groundbreaking dAapp (that's a decentralized App, by the way) using [ocean.js's](ocean.js) powerful capabilities or unleash your skills with [ocean.py](ocean.py/). It's time to shake up the data world like never before! 🌐🚀
|
But hold on tight, because we have even more in store for you! With Ocean Protocol, you gain access to a treasure trove of tools that will unlock your data scientist superpowers and allow you to unleash your creativity. Whether you're a Python aficionado or a JavaScript maestro, we have you covered with [ocean.py](ocean.py/README.md) and [ocean.js](ocean.js) libraries. So, get ready to dive into the depths of data innovation and create the next groundbreaking dAapp (that's a decentralized App, by the way) using [ocean.js's](ocean.js) powerful capabilities or unleash your skills with [ocean.py](ocean.py/README.md). It's time to shake up the data world like never before! 🌐🚀
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/developers.png" alt=""><figcaption><p>Ocean Protocol Explorer</p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/developers.png" alt=""><figcaption><p>Ocean Protocol Explorer</p></figcaption></figure>
|
||||||
|
|
||||||
At the core of the Ocean Protocol, you'll find a constellation of [smart contracts](contracts/) that bring extraordinary capabilities to every data asset. Here's where the magic happens! Every asset gets its own cool and unique [**ERC721 data NFT**](contracts/data-nfts.md#what-is-a-data-nft), along with one (or more) [**ERC20 datatokens**](contracts/datanft-and-datatoken.md). It's like giving your data its very own superhero cape! 🦸♂️
|
At the core of the Ocean Protocol, you'll find a constellation of [smart contracts](contracts/README.md) that bring extraordinary capabilities to every data asset. Here's where the magic happens! Every asset gets its own cool and unique [**ERC721 data NFT**](contracts/data-nfts.md#what-is-a-data-nft), along with one (or more) [**ERC20 datatokens**](contracts/datanft-and-datatoken.md). It's like giving your data its very own superhero cape! 🦸♂️
|
||||||
|
|
||||||
These [smart contracts](contracts/) form the backbone of Ocean Protocol, empowering data assets with unparalleled value and enabling seamless integration with the wider blockchain ecosystem. Through the [contracts](contracts/), data becomes not only valuable but also tradable, allowing you to unleash the true potential of your data treasures.
|
These [smart contracts](contracts/README.md) form the backbone of Ocean Protocol, empowering data assets with unparalleled value and enabling seamless integration with the wider blockchain ecosystem. Through the [contracts](contracts/README.md), data becomes not only valuable but also tradable, allowing you to unleash the true potential of your data treasures.
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/smart-contracts.png" alt=""><figcaption><p>Smart Contracts</p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/smart-contracts.png" alt=""><figcaption><p>Smart Contracts</p></figcaption></figure>
|
||||||
|
|
||||||
Now, if you're new to the world of web3 and blockchain technologies, fear not! We've got you covered. Before diving into the depths of Ocean Protocol, we recommend starting with some introductory guides. These [guides](../user-guides/) will gently introduce you to the magical world of [web3](../discover/wallets/) and help you understand the [basics](../discover/wallets-and-ocean-tokens.md) before you embark on your epic data-driven adventure.
|
Now, if you're new to the world of web3 and blockchain technologies, fear not! We've got you covered. Before diving into the depths of Ocean Protocol, we recommend starting with some introductory guides. These [guides](../user-guides/README.md) will gently introduce you to the magical world of [web3](../discover/wallets/README.md) and help you understand the [basics](../discover/wallets-and-ocean-tokens.md) before you embark on your epic data-driven adventure.
|
||||||
|
@ -10,9 +10,9 @@ Embark on an exploration of the innovative realm of Ocean Protocol, where data f
|
|||||||
|
|
||||||
### Layer 1: The Foundational Blockchain Layer
|
### Layer 1: The Foundational Blockchain Layer
|
||||||
|
|
||||||
At the core of Ocean Protocol lies the robust [Blockchain Layer](contracts/). Powered by blockchain technology, this layer ensures secure and transparent transactions. It forms the bedrock of decentralized trust, where data providers and consumers come together to trade valuable assets.
|
At the core of Ocean Protocol lies the robust [Blockchain Layer](contracts/README.md). Powered by blockchain technology, this layer ensures secure and transparent transactions. It forms the bedrock of decentralized trust, where data providers and consumers come together to trade valuable assets. 
|
||||||
|
|
||||||
The [smart contracts](contracts/) are deployed on the Ethereum mainnet and other compatible [networks](../discover/networks/). The libraries encapsulate the calls to these smart contracts and provide features like publishing new assets, facilitating consumption, managing pricing, and much more. To explore the contracts in more depth, go ahead to the [contracts](contracts/) section.
|
The [smart contracts](contracts/README.md) are deployed on the Ethereum mainnet and other compatible [networks](../discover/networks/README.md). The libraries encapsulate the calls to these smart contracts and provide features like publishing new assets, facilitating consumption, managing pricing, and much more. To explore the contracts in more depth, go ahead to the [contracts](contracts/README.md) section.
|
||||||
|
|
||||||
### Layer 2: The Empowering Middle Layer
|
### Layer 2: The Empowering Middle Layer
|
||||||
|
|
||||||
@ -20,31 +20,33 @@ Above the smart contracts, you'll find essential [libraries](architecture.md#lib
|
|||||||
|
|
||||||
#### Libraries
|
#### Libraries
|
||||||
|
|
||||||
These libraries include [Ocean.js](ocean.js/), a JavaScript library, and [Ocean.py](ocean.py/), a Python library. They serve as powerful tools for developers, enabling integration and interaction with the protocol.
|
These libraries include [Ocean.js](ocean.js/README.md), a JavaScript library, and [Ocean.py](ocean.py/README.md), a Python library. They serve as powerful tools for developers, enabling integration and interaction with the protocol.
|
||||||
|
|
||||||
1. [Ocean.js](ocean.js/): Ocean.js is a JavaScript library that serves as a powerful tool for developers looking to integrate their applications with the Ocean Protocol ecosystem. Designed to facilitate interaction with the protocol, Ocean.js provides a comprehensive set of functionalities, including data tokenization, asset management, and smart contract interaction. Ocean.js simplifies the process of implementing data access controls, building dApps, and exploring data sets within a decentralized environment.
|
1. [Ocean.js](ocean.js/README.md): Ocean.js is a JavaScript library that serves as a powerful tool for developers looking to integrate their applications with the Ocean Protocol ecosystem. Designed to facilitate interaction with the protocol, Ocean.js provides a comprehensive set of functionalities, including data tokenization, asset management, and smart contract interaction. Ocean.js simplifies the process of implementing data access controls, building dApps, and exploring data sets within a decentralized environment. 
|
||||||
2. [Ocean.py](ocean.py/): Ocean.py is a Python library that empowers developers to integrate their applications with the Ocean Protocol ecosystem. With its rich set of functionalities, Ocean.py provides a comprehensive toolkit for interacting with the protocol. Developers and [data scientists](../data-science/) can leverage Ocean.py to perform a wide range of tasks, including data tokenization, asset management, and smart contract interactions. This library serves as a bridge between Python and the decentralized world of Ocean Protocol, enabling you to harness the power of decentralized data.
|
2. [Ocean.py](ocean.py/README.md): Ocean.py is a Python library that empowers developers to integrate their applications with the Ocean Protocol ecosystem. With its rich set of functionalities, Ocean.py provides a comprehensive toolkit for interacting with the protocol. Developers and [data scientists](../data-science/README.md) can leverage Ocean.py to perform a wide range of tasks, including data tokenization, asset management, and smart contract interactions. This library serves as a bridge between Python and the decentralized world of Ocean Protocol, enabling you to harness the power of decentralized data.
|
||||||
|
|
||||||
#### Middleware components
|
#### Middleware components
|
||||||
|
|
||||||
Additionally, in supporting the discovery process, middleware components come into play:
|
Additionally, in supporting the discovery process, middleware components come into play:
|
||||||
|
|
||||||
1. [Aquarius](aquarius/): Aquarius acts as a metadata cache, enhancing search efficiency by caching on-chain data into Elasticsearch. By accelerating metadata retrieval, Aquarius enables faster and more efficient data discovery.
|
1. [Aquarius](aquarius/README.md): Aquarius acts as a metadata cache, enhancing search efficiency by caching on-chain data into Elasticsearch. By accelerating metadata retrieval, Aquarius enables faster and more efficient data discovery.
|
||||||
2. [Provider](provider/): The Provider component plays a crucial role in facilitating various operations within the ecosystem. It assists in asset downloading, handles [DDO](ddo-specification.md) (Decentralized Data Object) encryption, and establishes communication with the operator-service for Compute-to-Data jobs. This ensures secure and streamlined interactions between different participants.
|
2. [Provider](provider/README.md): The Provider component plays a crucial role in facilitating various operations within the ecosystem. It assists in asset downloading, handles [DDO](ddo-specification.md) (Decentralized Data Object) encryption, and establishes communication with the operator-service for Compute-to-Data jobs. This ensures secure and streamlined interactions between different participants.
|
||||||
3. [Subgraph](subgraph/): The Subgraph is an off-chain service that utilizes GraphQL to offer efficient access to information related to datatokens, users, and balances. By leveraging the subgraph, data retrieval becomes faster compared to an on-chain query. This enhances the overall performance and responsiveness of applications that rely on accessing this information.
|
3. [Subgraph](subgraph/README.md): The Subgraph is an off-chain service that utilizes GraphQL to offer efficient access to information related to datatokens, users, and balances. By leveraging the subgraph, data retrieval becomes faster compared to an on-chain query. This enhances the overall performance and responsiveness of applications that rely on accessing this information.
|
||||||
|
|
||||||
#### Compute-to-Data
|
#### Compute-to-Data
|
||||||
|
|
||||||
[Compute-to-Data](compute-to-data/) (C2D) represents a groundbreaking paradigm within the Ocean Protocol ecosystem, revolutionizing the way data is processed and analyzed. With C2D, the traditional approach of moving data to the computation is inverted, ensuring privacy and security. Instead, algorithms are securely transported to the data sources, enabling computation to be performed locally, without the need to expose sensitive data. This innovative framework facilitates collaborative data analysis while preserving data privacy, making it ideal for scenarios where data owners want to retain control over their valuable assets. C2D provides a powerful tool for enabling secure and privacy-preserving data analysis and encourages collaboration among data providers, ensuring the utilization of valuable data resources while maintaining strict privacy protocols.
|
[Compute-to-Data](compute-to-data/README.md) (C2D) represents a groundbreaking paradigm within the Ocean Protocol ecosystem, revolutionizing the way data is processed and analyzed. With C2D, the traditional approach of moving data to the computation is inverted, ensuring privacy and security. Instead, algorithms are securely transported to the data sources, enabling computation to be performed locally, without the need to expose sensitive data. This innovative framework facilitates collaborative data analysis while preserving data privacy, making it ideal for scenarios where data owners want to retain control over their valuable assets. C2D provides a powerful tool for enabling secure and privacy-preserving data analysis and encourages collaboration among data providers, ensuring the utilization of valuable data resources while maintaining strict privacy protocols.
|
||||||
|
|
||||||
### Layer 3: The Accessible Application Layer
|
### Layer 3: The Accessible Application Layer
|
||||||
|
|
||||||
Here, the ocean comes alive with a vibrant ecosystem of dApps, marketplaces, and more. This layer hosts a variety of user-friendly interfaces, applications, and tools, inviting data scientists and curious explorers alike to access, explore, and contribute to the ocean's treasures.
|
Here, the ocean comes alive with a vibrant ecosystem of dApps, marketplaces, and more. This layer hosts a variety of user-friendly interfaces, applications, and tools, inviting data scientists and curious explorers alike to access, explore, and contribute to the ocean's treasures. 
|
||||||
|
|
||||||
Prominently featured within this layer is [Ocean Market](../user-guides/using-ocean-market.md), a hub where data enthusiasts and industry stakeholders converge to discover, trade, and unlock the inherent value of data assets. Beyond Ocean Market, the Application Layer hosts a diverse ecosystem of specialized applications and marketplaces, each catering to unique use cases and industries. Empowered by the capabilities of Ocean Protocol, these applications facilitate advanced data exploration, analytics, and collaborative ventures, revolutionizing the way data is accessed, shared, and monetized.
|
Prominently featured within this layer is [Ocean Market](../user-guides/using-ocean-market.md), a hub where data enthusiasts and industry stakeholders converge to discover, trade, and unlock the inherent value of data assets. Beyond Ocean Market, the Application Layer hosts a diverse ecosystem of specialized applications and marketplaces, each catering to unique use cases and industries. Empowered by the capabilities of Ocean Protocol, these applications facilitate advanced data exploration, analytics, and collaborative ventures, revolutionizing the way data is accessed, shared, and monetized. 
|
||||||
|
|
||||||
### Layer 4: The Friendly Wallets
|
### Layer 4: The Friendly Wallets
|
||||||
|
|
||||||
At the top of the Ocean Protocol ecosystem, we find the esteemed [Web 3 Wallets](../discover/wallets/), the gateway for users to immerse themselves in the world of decentralized data transactions. These wallets serve as trusted companions, enabling users to seamlessly transact within the ecosystem, purchase and sell data NFTs, and acquire valuable datatokens. For a more detailed exploration of Web 3 Wallets and their capabilities, you can refer to the [wallet intro page](../discover/wallets/).
|
At the top of the Ocean Protocol ecosystem, we find the esteemed [Web 3 Wallets](../discover/wallets/README.md), the gateway for users to immerse themselves in the world of decentralized data transactions. These wallets serve as trusted companions, enabling users to seamlessly transact within the ecosystem, purchase and sell data NFTs, and acquire valuable datatokens. For a more detailed exploration of Web 3 Wallets and their capabilities, you can refer to the [wallet intro page](../discover/wallets/README.md).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
With the layers of the architecture clearly delineated, the stage is set for a comprehensive exploration of their underlying logic and intricate design. By examining each individually, we can gain a deeper understanding of their unique characteristics and functionalities.
|
With the layers of the architecture clearly delineated, the stage is set for a comprehensive exploration of their underlying logic and intricate design. By examining each individually, we can gain a deeper understanding of their unique characteristics and functionalities.
|
||||||
|
@ -14,7 +14,7 @@ The interaction between the Consumer and the Provider follows a specific workflo
|
|||||||
Throughout the computation process, the Consumer has the ability to check the status of the job by making a query to the Provider using the `getJobDetails(XXXX)` function, providing the job identifier (`XXXX`) as a reference.
|
Throughout the computation process, the Consumer has the ability to check the status of the job by making a query to the Provider using the `getJobDetails(XXXX)` function, providing the job identifier (`XXXX`) as a reference.
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
You have the option to initiate a compute job using one or more data assets. You can explore this functionality by utilizing the [ocean.py](../ocean.py/) and [ocean.js](../ocean.js/) libraries.
|
You have the option to initiate a compute job using one or more data assets. You can explore this functionality by utilizing the [ocean.py](../ocean.py/README.md) and [ocean.js](../ocean.js/README.md) libraries.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Now, let's delve into the inner workings of the Provider. Initially, it verifies whether the Consumer has sent the appropriate datatokens to gain access to the desired data. Once validated, the Provider interacts with the Operator-Service, a microservice responsible for coordinating the job execution. The Provider submits a request to the Operator-Service, which subsequently forwards the request to the Operator-Engine, the actual compute system in operation.
|
Now, let's delve into the inner workings of the Provider. Initially, it verifies whether the Consumer has sent the appropriate datatokens to gain access to the desired data. Once validated, the Provider interacts with the Operator-Service, a microservice responsible for coordinating the job execution. The Provider submits a request to the Operator-Service, which subsequently forwards the request to the Operator-Engine, the actual compute system in operation.
|
||||||
@ -36,9 +36,9 @@ Before the flow can begin, these pre-conditions must be met:
|
|||||||
|
|
||||||
### Access Control using Ocean Provider
|
### Access Control using Ocean Provider
|
||||||
|
|
||||||
Similar to the `access service`, the `compute service` within Ocean Protocol relies on the [Ocean Provider](../provider/), which is a crucial component managed by Publishers. The role of the Ocean Provider is to facilitate interactions with users and handle the fundamental aspects of a Publisher's infrastructure, enabling seamless integration into the Ocean Protocol ecosystem. It serves as the primary interface for direct interaction with the infrastructure where the data is located.
|
Similar to the `access service`, the `compute service` within Ocean Protocol relies on the [Ocean Provider](../provider/README.md), which is a crucial component managed by Publishers. The role of the Ocean Provider is to facilitate interactions with users and handle the fundamental aspects of a Publisher's infrastructure, enabling seamless integration into the Ocean Protocol ecosystem. It serves as the primary interface for direct interaction with the infrastructure where the data is located.
|
||||||
|
|
||||||
The [Ocean Provider](../provider/) encompasses the necessary credentials to establish secure and authorized interactions with the underlying infrastructure. Initially, this infrastructure may be hosted in cloud providers, although it also has the flexibility to extend to on-premise environments if required. By encompassing the necessary credentials, the Ocean Provider ensures the smooth and controlled access to the infrastructure, allowing Publishers to effectively leverage the compute service within Ocean Protocol.
|
The [Ocean Provider](../provider/README.md) encompasses the necessary credentials to establish secure and authorized interactions with the underlying infrastructure. Initially, this infrastructure may be hosted in cloud providers, although it also has the flexibility to extend to on-premise environments if required. By encompassing the necessary credentials, the Ocean Provider ensures the smooth and controlled access to the infrastructure, allowing Publishers to effectively leverage the compute service within Ocean Protocol.
|
||||||
|
|
||||||
### Operator Service
|
### Operator Service
|
||||||
|
|
||||||
|
@ -182,8 +182,8 @@ function createNftWithErc20WithDispenser(
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
To make the most of these pricing models, you can rely on user-friendly libraries such as [Ocean.js ](../ocean.js/)and [Ocean.py](../ocean.py/), specifically developed for interacting with Ocean Protocol.
|
To make the most of these pricing models, you can rely on user-friendly libraries such as [Ocean.js ](../ocean.js/README.md)and [Ocean.py](../ocean.py/README.md), specifically developed for interacting with Ocean Protocol.
|
||||||
|
|
||||||
With Ocean.js, you can use the [createFRE() ](../ocean.js/publish.md)function to effortlessly deploy a data NFT (non-fungible token) and datatoken with a fixed-rate exchange pricing model. Similarly, in Ocean.py, the [create\_url\_asset()](../ocean.py/publish-flow.md#create-an-asset--pricing-schema-simultaneously) function allows you to create an asset with fixed pricing. These libraries simplify the process of interacting with Ocean Protocol, managing pricing, and handling asset creation.
|
With Ocean.js, you can use the [createFRE() ](../ocean.js/publish.md)function to effortlessly deploy a data NFT (non-fungible token) and datatoken with a fixed-rate exchange pricing model. Similarly, in Ocean.py, the [create_url_asset()](../ocean.py/publish-flow.md#create-an-asset--pricing-schema-simultaneously) function allows you to create an asset with fixed pricing. These libraries simplify the process of interacting with Ocean Protocol, managing pricing, and handling asset creation.
|
||||||
|
|
||||||
By taking advantage of Ocean Protocol's pricing options and leveraging the capabilities of [Ocean.js](../ocean.js/) and [Ocean.py](../ocean.py/) (or by using the [Market](../../user-guides/using-ocean-market.md)), you can effectively monetize your data assets while ensuring transparent and seamless access for data consumers.
|
By taking advantage of Ocean Protocol's pricing options and leveraging the capabilities of [Ocean.js](../ocean.js/README.md) and [Ocean.py](../ocean.py/README.md) (or by using the [Market](../../user-guides/using-ocean-market.md)), you can effectively monetize your data assets while ensuring transparent and seamless access for data consumers.
|
||||||
|
@ -17,14 +17,18 @@ There are two templates available: [ERC20Template](datatoken-templates.md#regula
|
|||||||
|
|
||||||
In the case of [ERC20TemplateEnterprise](datatoken-templates.md#enterprise-template), when you deploy a fixed rate exchange, the funds generated as revenue are automatically sent to the owner's address. The owner receives the revenue without any manual intervention.
|
In the case of [ERC20TemplateEnterprise](datatoken-templates.md#enterprise-template), when you deploy a fixed rate exchange, the funds generated as revenue are automatically sent to the owner's address. The owner receives the revenue without any manual intervention.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
On the other hand, with [ERC20Template](datatoken-templates.md#regular-template), for a fixed rate exchange, the revenue is available at the fixed rate exchange level. The owner or the payment collector has the authority to manually retrieve the revenue.
|
On the other hand, with [ERC20Template](datatoken-templates.md#regular-template), for a fixed rate exchange, the revenue is available at the fixed rate exchange level. The owner or the payment collector has the authority to manually retrieve the revenue.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
There are several methods available for establishing a new **payment collector**. You have the option to utilize the ERC20Template/ERC20TemplateEnterprise contract directly. Another approach is to leverage the [ocean.py](../ocean.py/) and [ocean.js](../ocean.js/) libraries. Alternatively, you can employ the network explorer associated with your asset. Lastly, you can directly set it up within the Ocean Market.
|
|
||||||
|
|
||||||
|
There are several methods available for establishing a new **payment collector**. You have the option to utilize the ERC20Template/ERC20TemplateEnterprise contract directly. Another approach is to leverage the [ocean.py](../ocean.py/README.md) and [ocean.js](../ocean.js/README.md) libraries. Alternatively, you can employ the network explorer associated with your asset. Lastly, you can directly set it up within the Ocean Market.
|
||||||
|
|
||||||
Here are some examples of how to set up a new payment collector using the mentioned methods:
|
Here are some examples of how to set up a new payment collector using the mentioned methods:
|
||||||
|
|
||||||
1. Using [Ocean.js](https://github.com/oceanprotocol/ocean.js/blob/ae2ff1ccde53ace9841844c316a855de271f9a3f/src/contracts/Datatoken.ts#L393).
|
1. Using [Ocean.js](https://github.com/oceanprotocol/ocean.js/blob/ae2ff1ccde53ace9841844c316a855de271f9a3f/src/contracts/Datatoken.ts#L393). 
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
datatokenAddress = 'Your datatoken address'
|
datatokenAddress = 'Your datatoken address'
|
||||||
@ -33,7 +37,7 @@ paymentCollectorAddress = 'New payment collector address'
|
|||||||
await datatoken.setPaymentCollector(datatokenAddress, callerAddress, paymentCollectorAddress)
|
await datatoken.setPaymentCollector(datatokenAddress, callerAddress, paymentCollectorAddress)
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Using [Ocean.py](https://github.com/oceanprotocol/ocean.py/blob/bad11fb3a4cb00be8bab8febf3173682e1c091fd/ocean\_lib/models/test/test\_datatoken.py#L39).
|
2. Using [Ocean.py](https://github.com/oceanprotocol/ocean.py/blob/bad11fb3a4cb00be8bab8febf3173682e1c091fd/ocean_lib/models/test/test_datatoken.py#L39).
|
||||||
|
|
||||||
```python
|
```python
|
||||||
datatokenAddress = 'Your datatoken address'
|
datatokenAddress = 'Your datatoken address'
|
||||||
@ -47,3 +51,4 @@ datatoken.setPaymentCollector(paymentCollectorAddress, {"from": publisher_wallet
|
|||||||
Go to the asset detail page and then click on “Edit Asset” and then scroll down to the field called “Payment Collector Address”. Add the new Ethereum address in this field and then click “Submit“. Finally, you will then need to sign two transactions to finalize the update.
|
Go to the asset detail page and then click on “Edit Asset” and then scroll down to the field called “Payment Collector Address”. Add the new Ethereum address in this field and then click “Submit“. Finally, you will then need to sign two transactions to finalize the update.
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/market/change-payment-collector.png" alt=""><figcaption><p>Update payment collector</p></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/market/change-payment-collector.png" alt=""><figcaption><p>Update payment collector</p></figcaption></figure>
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ The NFT owner is the owner of the base-IP and is therefore at the highest level.
|
|||||||
With the exception of the NFT owner role, all other roles can be assigned to multiple users.
|
With the exception of the NFT owner role, all other roles can be assigned to multiple users.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
There are several methods available to assign roles and permissions. One option is to utilize the [ocean.py](../ocean.py/) and [ocean.js](../ocean.js/) libraries that we provide. These libraries offer a streamlined approach for assigning roles and permissions programmatically.
|
There are several methods available to assign roles and permissions. One option is to utilize the [ocean.py](../ocean.py/README.md) and [ocean.js](../ocean.js/README.md) libraries that we provide. These libraries offer a streamlined approach for assigning roles and permissions programmatically.
|
||||||
|
|
||||||
Alternatively, for a more straightforward solution that doesn't require coding, you can utilize the network explorer of your asset's network. By accessing the network explorer, you can directly interact with the contracts associated with your asset. Below, we provide a few examples to help guide you through the process.
|
Alternatively, for a more straightforward solution that doesn't require coding, you can utilize the network explorer of your asset's network. By accessing the network explorer, you can directly interact with the contracts associated with your asset. Below, we provide a few examples to help guide you through the process.
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ function removeManager(address _managerAddress) external onlyNFTOwner {
|
|||||||
|
|
||||||
The **manager** can assign or revoke three main roles (**deployer, metadata updater, and store updater**). The manager is also able to call any other contract (ERC725X implementation).
|
The **manager** can assign or revoke three main roles (**deployer, metadata updater, and store updater**). The manager is also able to call any other contract (ERC725X implementation).
|
||||||
|
|
||||||
\{% @arcade/embed flowId="qC8QpkLsFIQk3NxPzB8p" url="https://app.arcade.software/share/qC8QpkLsFIQk3NxPzB8p" %\}
|
{% @arcade/embed flowId="qC8QpkLsFIQk3NxPzB8p" url="https://app.arcade.software/share/qC8QpkLsFIQk3NxPzB8p" %}
|
||||||
|
|
||||||
### Metadata Updater
|
### Metadata Updater
|
||||||
|
|
||||||
@ -292,7 +292,7 @@ function removeMinter(address _minter) external onlyERC20Deployer {
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
\{% @arcade/embed flowId="OHlwsPbf29S1PLh03FM7" url="https://app.arcade.software/share/OHlwsPbf29S1PLh03FM7" %\}
|
{% @arcade/embed flowId="OHlwsPbf29S1PLh03FM7" url="https://app.arcade.software/share/OHlwsPbf29S1PLh03FM7" %}
|
||||||
|
|
||||||
### Fee Manager
|
### Fee Manager
|
||||||
|
|
||||||
|
@ -13,9 +13,9 @@ cd my-ocean-project
|
|||||||
|
|
||||||
### Create a `.env` file
|
### Create a `.env` file
|
||||||
|
|
||||||
In the working directory create a `.env` file. The content of this file will store the values for the following variables:
|
In the working directory create a `.env` file. The content of this file will store the values for following variables:
|
||||||
|
|
||||||
<table><thead><tr><th width="242.33333333333331">Variable name</th><th width="400">Description</th><th>Required</th></tr></thead><tbody><tr><td><strong>OCEAN_NETWORK</strong></td><td>Name of the network where the Ocean Protocol's smart contracts are deployed.</td><td>Yes</td></tr><tr><td><strong>OCEAN_NETWORK_URL</strong></td><td>The URL of the Ethereum node (along with API key for non-local networks)**</td><td>Yes</td></tr><tr><td><strong>PRIVATE_KEY</strong></td><td>The private key of the account which you want to use. A private key is made up of 64 hex characters. Make sure you have sufficient balance to pay for the transaction fees.</td><td>Yes</td></tr><tr><td><strong>AQUARIUS_URL</strong></td><td>The URL of the Aquarius. This value is needed when reading an asset from off-chain store.</td><td>No</td></tr><tr><td><strong>PROVIDER_URL</strong></td><td>The URL of the Provider. This value is needed when publishing a new asset or update an existing asset.</td><td>No</td></tr></tbody></table>
|
<table><thead><tr><th width="241.33333333333331">Variable name</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><strong>OCEAN_NETWORK</strong></td><td>Name of the network where the Ocean Protocol's smart contracts are deployed.</td><td>Yes</td></tr><tr><td><strong>OCEAN_NETWORK_URL</strong></td><td>The URL of the Ethereum node (along with API key for non-local networks)**</td><td>Yes</td></tr><tr><td><strong>PRIVATE_KEY</strong></td><td>The private key of the account which you want to use. A private key is made up of 64 hex characters. Make sure you have sufficient balance to pay for the transaction fees.</td><td>Yes</td></tr><tr><td><strong>AQUARIUS_URL</strong></td><td>The URL of the Aquarius. This value is needed when reading an asset from off-chain store.</td><td>No</td></tr><tr><td><strong>PROVIDER_URL</strong></td><td>The URL of the Provider. This value is needed when publishing a new asset or update an existing asset.</td><td>No</td></tr></tbody></table>
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Treat this file as a secret and do not commit this file to git or share the content publicly. If you are using git, then include this file name in `.gitignore` file.
|
Treat this file as a secret and do not commit this file to git or share the content publicly. If you are using git, then include this file name in `.gitignore` file.
|
||||||
|
@ -31,7 +31,7 @@ A tuple which contains the data NFT, datatoken and the data asset.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL178C1-L185C82)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL178C1-L185C82)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ A tuple which contains the algorithm NFT, algorithm datatoken and the algorithm
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL146C4-L176C82)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL146C4-L176C82)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ A tuple which contains the data NFT, datatoken and the data asset.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL187C5-L198C82)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL187C5-L198C82)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -194,7 +194,7 @@ A tuple which contains the data NFT, datatoken and the data asset.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL200C5-L212C82)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL200C5-L212C82)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -244,7 +244,7 @@ A tuple which contains the data NFT, datatoken and the data asset.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL214C5-L229C1)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL214C5-L229C1)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -270,6 +270,8 @@ A tuple which contains the data NFT, datatoken and the data asset.
|
|||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
### Creates Asset (for advanced skills)
|
### Creates Asset (for advanced skills)
|
||||||
@ -282,7 +284,7 @@ Creating/deploying a DataNFT contract and in the Metadata store (Aquarius).
|
|||||||
|
|
||||||
**Parameters**
|
**Parameters**
|
||||||
|
|
||||||
* `metadata`: `dictionary` conforming to the Metadata accepted by Ocean Protocol.
|
* `metadata`: `dictionary` conforming to the Metadata accepted by Ocean Protocol. 
|
||||||
* `publisher_wallet`- `Brownie account` of the publisher registering this asset.
|
* `publisher_wallet`- `Brownie account` of the publisher registering this asset.
|
||||||
* `credentials` - credentials `dictionary` necessary for the asset, which establish who can consume the asset and who cannot.
|
* `credentials` - credentials `dictionary` necessary for the asset, which establish who can consume the asset and who cannot.
|
||||||
* `data_nft_address`- hex string, the address of the data NFT. The new asset will be associated with this data NFT address.
|
* `data_nft_address`- hex string, the address of the data NFT. The new asset will be associated with this data NFT address.
|
||||||
@ -302,7 +304,7 @@ A tuple which contains the data NFT, datatoken and the data asset.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL259C5-L390C43)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL259C5-L390C43)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -429,7 +431,7 @@ def create(
|
|||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
**Publishing Alternatives**
|
#### Publishing Alternatives
|
||||||
|
|
||||||
Here are some examples similar to the `create()` above, but exposes more fine-grained control.
|
Here are some examples similar to the `create()` above, but exposes more fine-grained control.
|
||||||
|
|
||||||
@ -463,7 +465,7 @@ _, _, ddo = ocean.assets.create(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
**DDO Encryption or Compression**
|
#### DDO Encryption or Compression
|
||||||
|
|
||||||
The DDO is stored on-chain. It's encrypted and compressed by default. Therefore it supports GDPR "right-to-be-forgotten" compliance rules by default.
|
The DDO is stored on-chain. It's encrypted and compressed by default. Therefore it supports GDPR "right-to-be-forgotten" compliance rules by default.
|
||||||
|
|
||||||
@ -473,7 +475,7 @@ You can control this during `create()`:
|
|||||||
* To disable compression, use `ocean.assets.create(..., compress_flag=False)`.
|
* To disable compression, use `ocean.assets.create(..., compress_flag=False)`.
|
||||||
* To disable both, use `ocean.assetspy.create(..., encrypt_flag=False, compress_flag=False)`.
|
* To disable both, use `ocean.assetspy.create(..., encrypt_flag=False, compress_flag=False)`.
|
||||||
|
|
||||||
**Create **_**just**_** a data NFT**
|
#### Create _just_ a data NFT
|
||||||
|
|
||||||
Calling `create()` like above generates a data NFT, a datatoken for that NFT, and a ddo. This is the most common case. However, sometimes you may want _just_ the data NFT, e.g. if using a data NFT as a simple key-value store. Here's how:
|
Calling `create()` like above generates a data NFT, a datatoken for that NFT, and a ddo. This is the most common case. However, sometimes you may want _just_ the data NFT, e.g. if using a data NFT as a simple key-value store. Here's how:
|
||||||
|
|
||||||
@ -483,7 +485,7 @@ data_nft = ocean.data_nft_factory.create({"from": alice}, 'NFT1', 'NFT1')
|
|||||||
|
|
||||||
If you call `create()` after this, you can pass in an argument `data_nft_address:string` and it will use that NFT rather than creating a new one.
|
If you call `create()` after this, you can pass in an argument `data_nft_address:string` and it will use that NFT rather than creating a new one.
|
||||||
|
|
||||||
**Create a datatoken from a data NFT**
|
#### Create a datatoken from a data NFT
|
||||||
|
|
||||||
Calling `create()` like above generates a data NFT, a datatoken for that NFT, and a ddo object. However, we may want a second datatoken. Or, we may have started with _just_ the data NFT, and want to add a datatoken to it. Here's how:
|
Calling `create()` like above generates a data NFT, a datatoken for that NFT, and a ddo object. However, we may want a second datatoken. Or, we may have started with _just_ the data NFT, and want to add a datatoken to it. Here's how:
|
||||||
|
|
||||||
@ -493,11 +495,11 @@ datatoken = data_nft.create_datatoken({"from": alice}, "Datatoken 1", "DT1")
|
|||||||
|
|
||||||
If you call `create()` after this, you can pass in an argument `deployed_datatokens:List[Datatoken1]` and it will use those datatokens during creation.
|
If you call `create()` after this, you can pass in an argument `deployed_datatokens:List[Datatoken1]` and it will use those datatokens during creation.
|
||||||
|
|
||||||
**Create an asset & pricing schema simultaneously**
|
#### Create an asset & pricing schema simultaneously
|
||||||
|
|
||||||
Ocean Assets allows you to bundle several common scenarios as a single transaction, thus lowering gas fees.
|
Ocean Assets allows you to bundle several common scenarios as a single transaction, thus lowering gas fees.
|
||||||
|
|
||||||
Any of the `ocean.assets.create_<type>_asset()` functions can also take an optional parameter that describes a bundled pricing schema (Dispenser or Fixed Rate Exchange).
|
Any of the `ocean.assets.create_<type>_asset()` functions can also take an optional parameter that describes a bundled pricing schema (Dispenser or Fixed Rate Exchange). 
|
||||||
|
|
||||||
Here is an example involving an exchange:
|
Here is an example involving an exchange:
|
||||||
|
|
||||||
@ -539,7 +541,7 @@ The updated DDO, or `None` if updated DDO not found in Aquarius.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL392C5-L454C19)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL392C5-L454C19)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -625,7 +627,7 @@ Returns DDO instance.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL456C5-L458C43)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL456C5-L458C43)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -657,7 +659,7 @@ A list of DDOs which have matches with the text provided as parameter.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL460C4-L475C10)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL460C4-L475C10)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -702,7 +704,7 @@ A list of DDOs which have matches with the query provided as parameter.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL477C4-L490C10)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL477C4-L490C10)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -756,7 +758,7 @@ The full path to the downloaded file as `string`.
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL492C5-L516C20)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL492C5-L516C20)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -820,7 +822,7 @@ Return value is a hex string for transaction hash which denotes the proof of sta
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL518C5-L571C28)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL518C5-L571C28)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
@ -914,7 +916,7 @@ Return value is a tuple composed of list of datasets and algorithm data (if exis
|
|||||||
|
|
||||||
**Defined in**
|
**Defined in**
|
||||||
|
|
||||||
[ocean/ocean\_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean\_lib/ocean/ocean\_assets.py#LL573C5-L627C30)
|
[ocean/ocean_assets.py](https://github.com/oceanprotocol/ocean.py/blob/4aa12afd8a933d64bc2ed68d1e5359d0b9ae62f9/ocean_lib/ocean/ocean_assets.py#LL573C5-L627C30)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ These are a few examples of what can be built on top of Ocean.
|
|||||||
|
|
||||||
You can choose from two options:
|
You can choose from two options:
|
||||||
|
|
||||||
1. **Fork the** [**Ocean Marketplace**](https://github.com/oceanprotocol/market) **and customize it**: You have the ability to fork the existing [Ocean Marketplace](https://github.com/oceanprotocol/market) codebase and customize it according to your needs. This allows you to leverage the foundational infrastructure and functionality already built by Ocean Protocol while tailoring the user interface, features, and branding to align with your marketplace vision. Follow this [tutorial](../developers/build-a-marketplace/) to learn how to do it.
|
1. **Fork the** [**Ocean Marketplace**](https://github.com/oceanprotocol/market) **and customize it**: You have the ability to fork the existing [Ocean Marketplace](https://github.com/oceanprotocol/market) codebase and customize it according to your needs. This allows you to leverage the foundational infrastructure and functionality already built by Ocean Protocol while tailoring the user interface, features, and branding to align with your marketplace vision. Follow this [tutorial](../developers/build-a-marketplace/README.md) to learn how to do it.
|
||||||
2. **Build your marketplace with Ocean components**: Alternatively, you can build your data marketplace from scratch using Ocean Protocol's modular components. Ocean provides a comprehensive set of building blocks, such as the [**Aquarius**](https://github.com/oceanprotocol/aquarius), [**Provider**](https://github.com/oceanprotocol/provider), Ocean [contracts](https://github.com/oceanprotocol/contracts), and Ocean libraries ([**ocean.js**](https://github.com/oceanprotocol/ocean.js) & [**ocean.py**](https://github.com/oceanprotocol/ocean.py)), which you can integrate into your own marketplace development. This empowers you to create a unique and customized data marketplace experience while leveraging the underlying capabilities and standards provided by Ocean Protocol.
|
2. **Build your marketplace with Ocean components**: Alternatively, you can build your data marketplace from scratch using Ocean Protocol's modular components. Ocean provides a comprehensive set of building blocks, such as the [**Aquarius**](https://github.com/oceanprotocol/aquarius), [**Provider**](https://github.com/oceanprotocol/provider), Ocean [contracts](https://github.com/oceanprotocol/contracts), and Ocean libraries ([**ocean.js**](https://github.com/oceanprotocol/ocean.js) & [**ocean.py**](https://github.com/oceanprotocol/ocean.py)), which you can integrate into your own marketplace development. This empowers you to create a unique and customized data marketplace experience while leveraging the underlying capabilities and standards provided by Ocean Protocol.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
@ -57,7 +57,7 @@ You can choose from two options:
|
|||||||
|
|
||||||
<summary><mark style="color:blue;"><strong>Tokengate Your dApp or Content</strong></mark><br><br>Are you interested in token gating your dApp or content using an Ocean data NFT? We offer you all the code and support that you need to make this happen.</summary>
|
<summary><mark style="color:blue;"><strong>Tokengate Your dApp or Content</strong></mark><br><br>Are you interested in token gating your dApp or content using an Ocean data NFT? We offer you all the code and support that you need to make this happen.</summary>
|
||||||
|
|
||||||
Feel free to fork the [Ocean Token Gate template](https://github.com/oceanprotocol/token-gating-template) code and customize it to start building your dApp from scratch. If you already have an existing dApp of yours, then you can also modify it simply to use an Ocean data NFT. The [Ocean Token Gate repo](https://github.com/oceanprotocol/token-gating-template) will be helpful to inform your coding to do this, of course. But we also explain the [smart contract mechanics](../developers/contracts/) of Data NFTs and Datatokens[ in our docs](../developers/contracts/) for you to understand the code better. Remember, we're always here to help guide you with any coding questions on [Discord](https://discord.gg/TnXjkR5).
|
Feel free to fork the [Ocean Token Gate template](https://github.com/oceanprotocol/token-gating-template) code and customize it to start building your dApp from scratch. If you already have an existing dApp of yours, then you can also modify it simply to use an Ocean data NFT. The [Ocean Token Gate repo](https://github.com/oceanprotocol/token-gating-template) will be helpful to inform your coding to do this, of course. But we also explain the [smart contract mechanics](../developers/contracts/README.md) of Data NFTs and Datatokens[ in our docs](../developers/contracts/README.md) for you to understand the code better. Remember, we're always here to help guide you with any coding questions on [Discord](https://discord.gg/TnXjkR5).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ The following guides will help you get started with buying and selling data:
|
|||||||
|
|
||||||
* [Publish an NFT](../user-guides/publish-data-nfts.md)
|
* [Publish an NFT](../user-guides/publish-data-nfts.md)
|
||||||
* [Download an NFT](../user-guides/buy-data-nfts.md)
|
* [Download an NFT](../user-guides/buy-data-nfts.md)
|
||||||
* [Host Assets](../user-guides/asset-hosting/)
|
* [Host Assets](../user-guides/asset-hosting/README.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ The following guides will help you get started with buying and selling data:
|
|||||||
|
|
||||||
<summary><mark style="color:blue;">Manage datatokens and data NFTs for use in DeFi</mark><br><br>Ocean makes it easy to publish data services (deploy ERC721 data NFTs and ERC20 datatokens), and to consume data services (spend datatokens). Crypto wallets, exchanges, and DAOs become data wallets, exchanges, and DAOs.</summary>
|
<summary><mark style="color:blue;">Manage datatokens and data NFTs for use in DeFi</mark><br><br>Ocean makes it easy to publish data services (deploy ERC721 data NFTs and ERC20 datatokens), and to consume data services (spend datatokens). Crypto wallets, exchanges, and DAOs become data wallets, exchanges, and DAOs.</summary>
|
||||||
|
|
||||||
Use Ocean [JavaScript](../developers/ocean.js/) or [Python](../developers/ocean.py/) drivers to manage data NFTs and datatokens:
|
Use Ocean [JavaScript](../developers/ocean.js/README.md) or [Python](../developers/ocean.py/README.md) drivers to manage data NFTs and datatokens:
|
||||||
|
|
||||||
Ocean-based apps make data assets 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.
|
Ocean-based apps make data assets 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.
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ Since datatokens are ERC20, and live on Ethereum mainnet, there's a whole ecosys
|
|||||||
|
|
||||||
<summary><a href="https://medium.com/p/477b3decad51#7922"><mark style="color:orange;">Run Your Own Provider</mark></a><br><br>You have the option to generate revenue by running your own <a href="../developers/provider/">provider</a>. It has come to our attention that many of you have not pursued this opportunity, primarily due to the lack of compelling incentives.</summary>
|
<summary><a href="https://medium.com/p/477b3decad51#7922"><mark style="color:orange;">Run Your Own Provider</mark></a><br><br>You have the option to generate revenue by running your own <a href="../developers/provider/">provider</a>. It has come to our attention that many of you have not pursued this opportunity, primarily due to the lack of compelling incentives.</summary>
|
||||||
|
|
||||||
If you're not familiar with it, the Ocean [Provider](../developers/provider/) serves as the proxy service responsible for encrypting/decrypting data and streaming it to the consumer. It also verifies user access privileges for specific data assets or services. It plays a vital role in the Ocean architecture.
|
If you're not familiar with it, the Ocean [Provider](../developers/provider/README.md) serves as the proxy service responsible for encrypting/decrypting data and streaming it to the consumer. It also verifies user access privileges for specific data assets or services. It plays a vital role in the Ocean architecture.
|
||||||
|
|
||||||
Fees are now paid to the individual or organization running the provider when a user downloads a data asset. The download fees are set based on the cost per MB, and there is also a provider fee for compute jobs, which is priced per minute.
|
Fees are now paid to the individual or organization running the provider when a user downloads a data asset. The download fees are set based on the cost per MB, and there is also a provider fee for compute jobs, which is priced per minute.
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ Furthermore, provider fees are not restricted to data consumption; they can also
|
|||||||
|
|
||||||
<summary><mark style="color:purple;">Earn Rewards</mark><br><br>The <a href="../rewards/df-max-out-yield.md">Data Farming</a> initiative is a key feature of Ocean Protocol that empowers participants to earn <a href="../rewards/">rewards</a> while contributing to a decentralized data economy. By staking Ocean tokens and actively participating in data markets, users play a vital role in enhancing the availability and accessibility of valuable data assets</summary>
|
<summary><mark style="color:purple;">Earn Rewards</mark><br><br>The <a href="../rewards/df-max-out-yield.md">Data Farming</a> initiative is a key feature of Ocean Protocol that empowers participants to earn <a href="../rewards/">rewards</a> while contributing to a decentralized data economy. By staking Ocean tokens and actively participating in data markets, users play a vital role in enhancing the availability and accessibility of valuable data assets</summary>
|
||||||
|
|
||||||
Through the Data Farming initiative, you are incentivized to lock Ocean tokens for [veOcean](../rewards/veocean.md). By staking your tokens, you not only support the growth and sustainability of the ecosystem but also earn a share of the generated incentives💰. The Data Farming initiative offers participants a unique opportunity to earn [rewards](../rewards/) while making a meaningful impact in the data marketplace.
|
Through the Data Farming initiative, you are incentivized to lock Ocean tokens for [veOcean](../rewards/veocean.md). By staking your tokens, you not only support the growth and sustainability of the ecosystem but also earn a share of the generated incentives💰. The Data Farming initiative offers participants a unique opportunity to earn [rewards](../rewards/README.md) while making a meaningful impact in the data marketplace.
|
||||||
|
|
||||||
Participating in the Data Farming initiative demonstrates a commitment to the principles of **fairness**, **transparency**, and **collaboration** that underpin Ocean Protocol. It allows you to actively engage with the ecosystem, promoting innovation, and driving the evolution of the decentralized data economy.
|
Participating in the Data Farming initiative demonstrates a commitment to the principles of **fairness**, **transparency**, and **collaboration** that underpin Ocean Protocol. It allows you to actively engage with the ecosystem, promoting innovation, and driving the evolution of the decentralized data economy.
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ As an Ocean Ambassador, you become an advocate for the protocol, promoting its v
|
|||||||
|
|
||||||
<summary><mark style="color:green;">Contribute to Ocean Code Development</mark><br><br>Make a positive impact in the Web3 data economy by contributing to <a href="https://github.com/oceanprotocol">Ocean's open source code</a> on Github! From feature requests to pull requests, contributions of all kinds are appreciated.</summary>
|
<summary><mark style="color:green;">Contribute to Ocean Code Development</mark><br><br>Make a positive impact in the Web3 data economy by contributing to <a href="https://github.com/oceanprotocol">Ocean's open source code</a> on Github! From feature requests to pull requests, contributions of all kinds are appreciated.</summary>
|
||||||
|
|
||||||
To begin, [visit our Github page](https://github.com/oceanprotocol) where you can see the repos and contributors. If you're going to contribute code to a repo, then we ask that you fork the code first, make your changes, and then create a pull request for us to review. If you are reporting an issue, then please first search the existing issues to see if it is documented yet. If not, then please open a new issue by describe your problem as best as possible and include screenshots.\
|
To begin, [visit our Github page](https://github.com/oceanprotocol) where you can see the repos and contributors. If you're going to contribute code to a repo, then we ask that you fork the code first, make your changes, and then create a pull request for us to review. If you are reporting an issue, then please first search the existing issues to see if it is documented yet. If not, then please open a new issue by describe your problem as best as possible and include screenshots. \
|
||||||
\
|
\
|
||||||
We also welcome you to join our [Discord developer community](https://discord.gg/TnXjkR5) where you can get rapid, practical advice on using Ocean tech but also get to know Ocean core team more personally!
|
We also welcome you to join our [Discord developer community](https://discord.gg/TnXjkR5) where you can get rapid, practical advice on using Ocean tech but also get to know Ocean core team more personally!
|
||||||
|
|
||||||
|
@ -9,19 +9,19 @@ Ocean Protocol utilizes a combination of blockchain technology, decentralized ne
|
|||||||
1. **Asset Registration**: Data providers register their data assets on the Ocean blockchain, providing metadata that describes the asset, its usage terms, and pricing information. This metadata is stored on-chain and can be accessed by potential data consumers.
|
1. **Asset Registration**: Data providers register their data assets on the Ocean blockchain, providing metadata that describes the asset, its usage terms, and pricing information. This metadata is stored on-chain and can be accessed by potential data consumers.
|
||||||
2. **Discovery and Access Control**: Data consumers can discover available data assets through decentralized metadata services like Aquarius. Access control mechanisms, such as smart contracts, verify the consumer's permissions and handle the transfer of data access tokens.
|
2. **Discovery and Access Control**: Data consumers can discover available data assets through decentralized metadata services like Aquarius. Access control mechanisms, such as smart contracts, verify the consumer's permissions and handle the transfer of data access tokens.
|
||||||
3. **Secure Data Exchange**: When a data consumer purchases access to a data asset, the asset's metadata, and access instructions are encrypted by the data provider using the Provider service. The encrypted asset is then securely transferred to the consumer, who can decrypt and utilize it without revealing the asset's URL.
|
3. **Secure Data Exchange**: When a data consumer purchases access to a data asset, the asset's metadata, and access instructions are encrypted by the data provider using the Provider service. The encrypted asset is then securely transferred to the consumer, who can decrypt and utilize it without revealing the asset's URL.
|
||||||
4. [**Compute-to-Data**](../developers/compute-to-data/) **(C2D)**: Ocean Protocol supports C2D capabilities, allowing data consumers to perform computations on data assets without direct access to the underlying data. The compute operations are executed in a secure and controlled environment, ensuring data privacy and compliance.
|
4. [**Compute-to-Data**](../developers/compute-to-data/README.md) **(C2D)**: Ocean Protocol supports C2D capabilities, allowing data consumers to perform computations on data assets without direct access to the underlying data. The compute operations are executed in a secure and controlled environment, ensuring data privacy and compliance.
|
||||||
5. **Incentives and Governance**: Ocean Protocol incorporates tokeconomics and a governance framework to incentivize participants and ensure the sustainability and evolution of the ecosystem. Participants can earn and stake Ocean tokens (OCEAN) for veOCEANs, curate data, contribute to the network, and participate in governance decisions.
|
5. **Incentives and Governance**: Ocean Protocol incorporates tokeconomics and a governance framework to incentivize participants and ensure the sustainability and evolution of the ecosystem. Participants can earn and stake Ocean tokens (OCEAN) for veOCEANs, curate data, contribute to the network, and participate in governance decisions.
|
||||||
|
|
||||||
Ocean Protocol also combines advanced technologies and web components to create a robust and efficient data ecosystem.
|
Ocean Protocol also combines advanced technologies and web components to create a robust and efficient data ecosystem.
|
||||||
|
|
||||||
Powerful libraries such as [Ocean.js](../developers/ocean.js/) (JavaScript) and [Ocean.py](../developers/ocean.py/) (Python) facilitate seamless integration and interaction with the protocol, offering a wide range of functionalities.
|
Powerful libraries such as [Ocean.js](../developers/ocean.js/README.md) (JavaScript) and [Ocean.py](../developers/ocean.py/README.md) (Python) facilitate seamless integration and interaction with the protocol, offering a wide range of functionalities. 
|
||||||
|
|
||||||
Ocean Protocol incorporates middleware components that enhance efficiency and streamline interactions. Components such as [Aquarius](../developers/aquarius/) act as a metadata cache, improving search efficiency by caching on-chain data into Elasticsearch while [Provider](../developers/provider/) plays a crucial role in various ecosystem operations, assisting in asset downloading, handling encryption of [Decentralized Data Objects](../developers/ddo-specification.md) (DDOs), and facilitating communication with the operator-service for Compute-to-Data jobs. And finally, the [Subgraph](../developers/subgraph/), an off-chain service leveraging GraphQL, offers efficient access to information related to datatokens, users, and balances.
|
Ocean Protocol incorporates middleware components that enhance efficiency and streamline interactions. Components such as [Aquarius](../developers/aquarius/README.md) act as a metadata cache, improving search efficiency by caching on-chain data into Elasticsearch while [Provider](../developers/provider/README.md) plays a crucial role in various ecosystem operations, assisting in asset downloading, handling encryption of [Decentralized Data Objects](../developers/ddo-specification.md) (DDOs), and facilitating communication with the operator-service for Compute-to-Data jobs. And finally, the [Subgraph](../developers/subgraph/README.md), an off-chain service leveraging GraphQL, offers efficient access to information related to datatokens, users, and balances. 
|
||||||
|
|
||||||
These libraries and middleware components contribute to efficient data discovery and secure interactions within the Ocean Protocol ecosystem.
|
These libraries and middleware components contribute to efficient data discovery and secure interactions within the Ocean Protocol ecosystem.
|
||||||
|
|
||||||
By leveraging these tools and technologies, developers can harness the power of decentralized data while creating innovative applications and unlocking the true value of data assets.
|
By leveraging these tools and technologies, developers can harness the power of decentralized data while creating innovative applications and unlocking the true value of data assets.
|
||||||
|
|
||||||
Ocean Protocol gives people and organizations the power to unleash the true value of their data. With its decentralized marketplaces, rock-solid data-sharing technologies, and privacy protection measures, Ocean Protocol opens the door for collaboration, sparks innovation, and encourages responsible and ethical data usage.
|
Ocean Protocol gives people and organizations the power to unleash the true value of their data. With its decentralized marketplaces, rock-solid data-sharing technologies, and privacy protection measures, Ocean Protocol opens the door for collaboration, sparks innovation, and encourages responsible and ethical data usage. 
|
||||||
|
|
||||||
It's all about making data work for everyone in a fair and transparent data economy.
|
It's all about making data work for everyone in a fair and transparent data economy.
|
||||||
|
@ -38,17 +38,17 @@ Go to the Azure portal: https://portal.azure.com/#home and select `Storage accou
|
|||||||
|
|
||||||
**Step 3 - Upload a file**
|
**Step 3 - Upload a file**
|
||||||
|
|
||||||
![Upload a file](<../../.gitbook/assets/hosting/azure6 (1).png>)
|
![Upload a file](../../.gitbook/assets/hosting/azure6.png)
|
||||||
|
|
||||||
**Step 4 - Share the file**
|
**Step 4 - Share the file**
|
||||||
|
|
||||||
**Select the file to be published and click Generate SAS**
|
**Select the file to be published and click Generate SAS**
|
||||||
|
|
||||||
![Click generate SAS](<../../.gitbook/assets/hosting/azure7 (1).png>)
|
![Click generate SAS](../../.gitbook/assets/hosting/azure7.png)
|
||||||
|
|
||||||
**Configure the SAS details and click `Generate SAS token and URL`**
|
**Configure the SAS details and click `Generate SAS token and URL`**
|
||||||
|
|
||||||
![Generate link to file](<../../.gitbook/assets/hosting/azure8 (1).png>)
|
![Generate link to file](../../.gitbook/assets/hosting/azure8.png)
|
||||||
|
|
||||||
**Copy the generated link**
|
**Copy the generated link**
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ Liquidity pools and dynamic pricing used to be supported in previous versions of
|
|||||||
|
|
||||||
4\. Go to field `20. balanceOf` and insert your ETH address. This will retrieve your pool share token balance in wei.
|
4\. Go to field `20. balanceOf` and insert your ETH address. This will retrieve your pool share token balance in wei.
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/liquidity/remove-liquidity-2 (2).png" alt=""><figcaption><p>Balance Of</p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/liquidity/remove-liquidity-2.png" alt=""><figcaption><p>Balance Of</p></figcaption></figure>
|
||||||
|
|
||||||
5\. Copy this number as later you will use it as the `poolAmountIn` parameter.
|
5\. Copy this number as later you will use it as the `poolAmountIn` parameter.
|
||||||
|
|
||||||
@ -39,4 +39,4 @@ Liquidity pools and dynamic pricing used to be supported in previous versions of
|
|||||||
|
|
||||||
10\. Confirm transaction in Metamask
|
10\. Confirm transaction in Metamask
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/liquidity/remove-liquidity-6 (1).png" alt=""><figcaption><p>Confirm transaction</p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/liquidity/remove-liquidity-6.png" alt=""><figcaption><p>Confirm transaction</p></figcaption></figure>
|
||||||
|