mirror of
https://github.com/oceanprotocol/docs.git
synced 2024-11-26 19:49:26 +01:00
GITBOOK-432: Rewrite the revenue page
This commit is contained in:
parent
4d8d05057c
commit
46ebd1363a
BIN
.gitbook/assets/sponge-money.gif
Normal file
BIN
.gitbook/assets/sponge-money.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 442 KiB |
@ -36,12 +36,12 @@
|
||||
* [Datatokens](developers/contracts/datatokens.md)
|
||||
* [Data NFTs and Datatokens](developers/contracts/datanft-and-datatoken.md)
|
||||
* [Datatoken Templates](developers/contracts/datatoken-templates.md)
|
||||
* [Metadata](developers/contracts/metadata.md)
|
||||
* [Roles](developers/contracts/roles.md)
|
||||
* [Revenue](developers/contracts/revenue.md)
|
||||
* [Asset Pricing](developers/asset-pricing.md)
|
||||
* [Metadata](developers/contracts/metadata.md)
|
||||
* [Fees](developers/fees.md)
|
||||
* [Fractional Ownership](developers/contracts/fractional-ownership.md)
|
||||
* [Asset Pricing](developers/asset-pricing.md)
|
||||
* [Community Monetization](developers/community-monetization.md)
|
||||
* [Identifiers & Metadata](developers/Identifiers-Metadata.md)
|
||||
* [DDO Specification](developers/ddo-specification.md)
|
||||
|
@ -4,8 +4,6 @@ description: How can you build a self sufficient project?
|
||||
|
||||
# Community Monetization
|
||||
|
||||
|
||||
|
||||
Our intentions with all of the V4 updates are to ensure that your project is able to become self-sufficient and profitable in the long run (if that’s your aim). We love projects that are built on top of Ocean and we want to ensure that you are able to generate enough income to keep your project running well into the future.
|
||||
|
||||
### 1. Publishing & Selling Data
|
||||
@ -26,9 +24,9 @@ If you’re part of an established organization or a growing startup, you’ll a
|
||||
|
||||
We have always been super encouraging of anyone who wishes to build a dApp on top of Ocean or to fork Ocean Market and make their own data marketplace. With the V4 release, we have taken this to the next level and introduced more opportunities and even more fee customization options.
|
||||
|
||||
Unlike in V3, where the fee collection was limited to the consume action with a fixed value of 0.1%, V4 empowers marketplace operators like yourself to have greater flexibility and control over the fees you can charge. This means you can tailor the fee structure to suit your specific needs and ensure the sustainability of your project. **V4 smart contracts enable you to collect a fee not only in consume, but also in fixed-rate exchange, also you can set the fee value.** For more detailed information regarding the fees, we invite you to visit the [fees](fees.md) page.
|
||||
Unlike in V3, where the fee collection was limited to the consume action with a fixed value of 0.1%, V4 empowers dApp operators like yourself to have greater flexibility and control over the fees you can charge. This means you can tailor the fee structure to suit your specific needs and ensure the sustainability of your project. **V4 smart contracts enable you to collect a fee not only in consume, but also in fixed-rate exchange, also you can set the fee value.** For more detailed information regarding the fees, we invite you to visit the [fees](fees.md) page.
|
||||
|
||||
Another new opportunity is using your own **ERC20** token in your marketplace, where it’s used as the unit of exchange. This is fully supported and can be a great way to ensure the sustainability of your project.
|
||||
Another new opportunity is using your own **ERC20** token in your dApp, where it’s used as the unit of exchange. This is fully supported and can be a great way to ensure the sustainability of your project.
|
||||
|
||||
### 3. Running Your Own Provider
|
||||
|
||||
|
@ -1,12 +1,54 @@
|
||||
---
|
||||
description: Explore and manage the revenue generated from your data NFTs.
|
||||
---
|
||||
|
||||
# Revenue
|
||||
|
||||
### Revenue
|
||||
Having a [data NFT](data-nfts.md) that generates revenue continuously, even when you're not actively involved, is an excellent source of income. This revenue stream allows you to earn consistently without actively dedicating your time and effort. Each time someone buys access to your NFT, you receive money, further enhancing the financial benefits. This steady income allows you to enjoy the rewards of your asset while minimizing the need for constant engagement. :moneybag:
|
||||
|
||||
By default revenue is sent to the owner of the data NFT and this automatically updates when the data NFT is sent to a new owner. Owning a data NFT therefore has an explicit value - the revenue stream associated with selling the digital asset.
|
||||
<figure><img src="../../.gitbook/assets/sponge-money.gif" alt=""><figcaption><p>Make it rain</p></figcaption></figure>
|
||||
|
||||
In some situations, you may want the revenue to be sent to another account rather than the owner. This can be done by setting a new **payment collector**. Changing the payment collector can be particularly useful when the data NFT is owned by an organization or enterprise, rather than an individual.
|
||||
By default, the revenue generated from a [data NFT](data-nfts.md) is directed to the [owner](roles.md#nft-owner) of the NFT. This arrangement automatically updates whenever the data NFT is transferred to a new owner. C
|
||||
|
||||
In order to set a new payment collector, you need to visit the asset detail page and then click on “Edit Asset” and then scroll down to the field call “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.
|
||||
However, there are scenarios where you may prefer the revenue to be sent to a different account instead of the owner. This can be accomplished by designating a new payment collector. This feature becomes particularly beneficial when the data NFT is owned by an organization or enterprise rather than an individual.
|
||||
|
||||
{% hint style="info" %}
|
||||
There are two templates available: [ERC20Template](datatoken-templates.md#regular-template) and [ERC20TemplateEnterprise](datatoken-templates.md#enterprise-template).
|
||||
|
||||
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.
|
||||
{% 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.
|
||||
|
||||
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). 
|
||||
|
||||
```typescript
|
||||
datatokenAddress = 'Your datatoken address'
|
||||
paymentCollectorAddress = 'New payment collector address'
|
||||
|
||||
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).
|
||||
|
||||
```python
|
||||
datatokenAddress = 'Your datatoken address'
|
||||
paymentCollectorAddress = 'New payment collector address'
|
||||
|
||||
datatoken.setPaymentCollector(paymentCollectorAddress, {"from": publisher_wallet})
|
||||
```
|
||||
|
||||
3. Using the Ocean Market
|
||||
|
||||
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>
|
||||
|
||||
|
@ -9,7 +9,7 @@ description: >-
|
||||
|
||||
The permissions governing access to the smart contract functions are stored within the [data NFT](data-nfts.md) (ERC721) smart contract. Both the [data NFT](data-nfts.md) (ERC721) and [datatoken](datatokens.md) (ERC20) smart contracts utilize this information to enforce restrictions on certain actions, limiting access to authorized users. The tables below outline the specific actions that are restricted and can only be accessed by allowed users.
|
||||
|
||||
The data NFT serves as the foundational intellectual property (IP) for the asset, and all datatokens are inherently linked to the data NFT smart contract. This linkage has enabled the introduction of various exciting capabilities related to role administration.
|
||||
The [data NFT](data-nfts.md) serves as the foundational intellectual property (IP) for the asset, and all datatokens are inherently linked to the data NFT smart contract. This linkage has enabled the introduction of various exciting capabilities related to role administration.
|
||||
|
||||
### NFT Owner
|
||||
|
||||
@ -350,4 +350,4 @@ When the NFT ownership is transferred to another wallet address, all the roles a
|
||||
|
||||
### Roles & permission in datatoken (ERC20) smart contract
|
||||
|
||||
<table><thead><tr><th width="263">Action ↓ / Role →</th><th width="155">ERC20 Deployer</th><th width="93">Minter</th><th width="144">NFT owner</th><th>Fee manager</th></tr></thead><tbody><tr><td>Create Fixed Rate exchange</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Create Dispenser</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Add minter</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Remove minter</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Add fee manager</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Remove fee manager</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Set data</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Clean permissions</td><td></td><td></td><td><strong>✓</strong></td><td></td></tr><tr><td>Mint</td><td></td><td><strong>✓</strong></td><td></td><td></td></tr><tr><td>Set fee collector</td><td></td><td></td><td></td><td><strong>✓</strong></td></tr></tbody></table>
|
||||
<table><thead><tr><th width="263">Action ↓ / Role →</th><th width="169">ERC20 Deployer</th><th width="93">Minter</th><th width="144">NFT owner</th><th>Fee manager</th></tr></thead><tbody><tr><td>Create Fixed Rate exchange</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Create Dispenser</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Add minter</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Remove minter</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Add fee manager</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Remove fee manager</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Set data</td><td><strong>✓</strong></td><td></td><td></td><td></td></tr><tr><td>Clean permissions</td><td></td><td></td><td><strong>✓</strong></td><td></td></tr><tr><td>Mint</td><td></td><td><strong>✓</strong></td><td></td><td></td></tr><tr><td>Set fee collector</td><td></td><td></td><td></td><td><strong>✓</strong></td></tr></tbody></table>
|
||||
|
Loading…
Reference in New Issue
Block a user