Deleted unused images and moved all images to .gitbook/assets
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
@ -9,7 +9,7 @@ description: Architecture overview
|
||||
|
||||
Here's the sequence diagram for starting a new compute job.
|
||||
|
||||
![Sequence Diagram for computing services](../images/Starting%20New%20Compute%20Job.png)
|
||||
![Sequence Diagram for computing services](../../.gitbook/assets/c2d/StartComputeJob.png)
|
||||
|
||||
The Consumer calls the Provider with `start(did, algorithm, additionalDIDs)`. It returns job id `XXXX`. The Provider oversees the rest of the work. At any point, the Consumer can query the Provider for the job status via `getJobDetails(XXXX)`.
|
||||
|
||||
@ -17,16 +17,16 @@ Here's how Provider works. First, it ensures that the Consumer has sent the appr
|
||||
|
||||
Here's the actors/components:
|
||||
|
||||
* Consumers - The end users who need to use some computing services offered by the same Publisher as the data Publisher.
|
||||
* Operator-Service - Micro-service that is handling the compute requests.
|
||||
* Operator-Engine - The computing systems where the compute will be executed.
|
||||
* Kubernetes - a K8 cluster
|
||||
- Consumers - The end users who need to use some computing services offered by the same Publisher as the data Publisher.
|
||||
- Operator-Service - Micro-service that is handling the compute requests.
|
||||
- Operator-Engine - The computing systems where the compute will be executed.
|
||||
- Kubernetes - a K8 cluster
|
||||
|
||||
Before the flow can begin, these pre-conditions must be met:
|
||||
|
||||
* The Asset DDO has a `compute` service.
|
||||
* The Asset DDO compute service must permit algorithms to run on it.
|
||||
* The Asset DDO must specify an Ocean Provider endpoint exposed by the Publisher.
|
||||
- The Asset DDO has a `compute` service.
|
||||
- The Asset DDO compute service must permit algorithms to run on it.
|
||||
- The Asset DDO must specify an Ocean Provider endpoint exposed by the Publisher.
|
||||
|
||||
### Access Control using Ocean Provider
|
||||
|
||||
@ -42,19 +42,19 @@ The **Operator Service** is a micro-service in charge of managing the workflow e
|
||||
|
||||
The main responsibilities are:
|
||||
|
||||
* Expose an HTTP API allowing for the execution of data access and compute endpoints.
|
||||
* Interact with the infrastructure (cloud/on-premise) using the Publisher's credentials.
|
||||
* Start/stop/execute computing instances with the algorithms provided by users.
|
||||
* Retrieve the logs generated during executions.
|
||||
- Expose an HTTP API allowing for the execution of data access and compute endpoints.
|
||||
- Interact with the infrastructure (cloud/on-premise) using the Publisher's credentials.
|
||||
- Start/stop/execute computing instances with the algorithms provided by users.
|
||||
- Retrieve the logs generated during executions.
|
||||
|
||||
Typically the Operator Service is integrated from Ocean Provider, but can be called independently of it.
|
||||
|
||||
The Operator Service is in charge of establishing the communication with the K8s cluster, allowing it to:
|
||||
|
||||
* Register new compute jobs
|
||||
* List the current compute jobs
|
||||
* Get a detailed result for a given job
|
||||
* Stop a running job
|
||||
- Register new compute jobs
|
||||
- List the current compute jobs
|
||||
- Get a detailed result for a given job
|
||||
- Stop a running job
|
||||
|
||||
The Operator Service doesn't provide any storage capability, all the state is stored directly in the K8s cluster.
|
||||
|
||||
@ -64,11 +64,11 @@ The **Operator Engine** is in charge of orchestrating the compute infrastructure
|
||||
|
||||
The Operator Engine is in charge of retrieving all the workflows registered in a K8s cluster, allowing to:
|
||||
|
||||
* Orchestrate the flow of the execution
|
||||
* Start the configuration pod in charge of download the workflow dependencies (datasets and algorithms)
|
||||
* Start the pod including the algorithm to execute
|
||||
* Start the publishing pod that publish the new assets created in the Ocean Protocol network.
|
||||
* The Operator Engine doesn't provide any storage capability, all the state is stored directly in the K8s cluster.
|
||||
- Orchestrate the flow of the execution
|
||||
- Start the configuration pod in charge of download the workflow dependencies (datasets and algorithms)
|
||||
- Start the pod including the algorithm to execute
|
||||
- Start the publishing pod that publish the new assets created in the Ocean Protocol network.
|
||||
- The Operator Engine doesn't provide any storage capability, all the state is stored directly in the K8s cluster.
|
||||
|
||||
#### Pod: Configuration
|
||||
|
||||
|
@ -63,7 +63,7 @@ def serve_content():
|
||||
|
||||
The publisher now must provide the file URL as `https://example.org` while publishing the asset, as shown in the below image.
|
||||
|
||||
![](../../.gitbook/assets/c2d/compute-to-data-parameters-publish-dataset.png)
|
||||
![Compute to data parameters](../../.gitbook/assets/c2d/compute-to-data-parameters-publish-dataset.png)
|
||||
|
||||
For a complete tutorial on publishing asset using Ocean Marketplace read [our guide on publishing with Ocean Market](../../using-ocean-market/marketplace-publish-data-asset.md).
|
||||
|
||||
@ -105,7 +105,7 @@ with open(os.path.join(output_dir, "result"), "w") as f:
|
||||
|
||||
The publisher now must provide the file URL as `https://example.org` while publishing the algorithm asset, as shown in the below image.
|
||||
|
||||
![](../../.gitbook/assets/c2d/compute-to-data-parameters-publish-algorithm.png)
|
||||
![Publish algorithm asset](../../.gitbook/assets/c2d/compute-to-data-parameters-publish-algorithm.png)
|
||||
|
||||
For a complete tutorial on publishing asset using Ocean Marketplace read [our guide on publishing with Ocean Market](../../using-ocean-market/marketplace-publish-data-asset.md).
|
||||
|
||||
|
@ -18,7 +18,7 @@ Go to [https://www.digitalocean.com/](https://www.digitalocean.com/) and create
|
||||
|
||||
Click on **`Create`** button and choose **`Droplets`** options from dropdown.
|
||||
|
||||
![](../../.gitbook/assets/server-setup/image.png)
|
||||
![Server Setup](../../.gitbook/assets/server-setup/image.png)
|
||||
|
||||
#### Configure droplet
|
||||
|
||||
@ -28,15 +28,15 @@ Select Ubuntu OS and choose a plan. The required CPU, Memory depends on the numb
|
||||
|
||||
Also, select the region where you want Aquarius to be hosted and a root password.
|
||||
|
||||
![](<../../.gitbook/assets/image (10).png>)
|
||||
![Select region](<../../.gitbook/assets/server-setup/image (10).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 (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/).
|
||||
|
||||
|
Before Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 221 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 69 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: 87 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 414 KiB |
Before Width: | Height: | Size: 467 KiB |
Before Width: | Height: | Size: 259 KiB |
Before Width: | Height: | Size: 295 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 168 KiB |
Before Width: | Height: | Size: 216 KiB |
Before Width: | Height: | Size: 213 KiB |
Before Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 302 KiB |
Before Width: | Height: | Size: 244 KiB |
Before Width: | Height: | Size: 331 KiB |
Before Width: | Height: | Size: 226 KiB |
Before Width: | Height: | Size: 259 KiB |
@ -6,7 +6,7 @@ description: Follow this step-by-step guide to get OCEAN rewards.
|
||||
|
||||
There are two types of OCEAN rewards: passive and active rewards. OCEAN token holders may generate passive OCEAN rewards by locking up OCEAN in exchange for veOCEAN tokens. veOCEAN tokens can then be allocated to Ocean Market datasets and algorithms to generate active OCEAN rewards.
|
||||
|
||||
[![veOCEAN and Data Farming Rewards](./images/vedf_youtube_thumbnail.png)](https://www.youtube.com/watch?v=zAQlPHkK3og)
|
||||
[![veOCEAN and Data Farming Rewards](../.gitbook/assets/rewards/vedf_youtube_thumbnail.png)](https://www.youtube.com/watch?v=zAQlPHkK3og)
|
||||
|
||||
## How do I get rewards?
|
||||
|
||||
@ -68,7 +68,7 @@ Click on the Rewards tab at the top of the page to come to the [same page](https
|
||||
|
||||
All rewards are paid out in OCEAN tokens. On every Thursday the pink "Claim" buttons on this page become activated, and you can claim your weekly OCEAN rewards directly into your wallet by clicking on these active buttons.
|
||||
|
||||
![](../.gitbook/assets/rewards/Rewards-Page.png)
|
||||
![Rewards Page](../.gitbook/assets/rewards/Rewards-Page.png)
|
||||
|
||||
#### Linear Decay
|
||||
|
||||
|
@ -10,23 +10,23 @@ In previous versions of Ocean liquidity pools and dynamic pricing were supported
|
||||
2. Click _View All_ and look for Ocean Pool Token (OPT) transfers. Those transactions always come from the pool contract, which you can click on.
|
||||
3. On the pool contract page, go to _Contract_ -> _Read Contract_.
|
||||
|
||||
![](../.gitbook/assets/liquidity/remove-liquidity-1.png)
|
||||
![Read Contract](../.gitbook/assets/liquidity/remove-liquidity-1.png)
|
||||
|
||||
4\. Go to field `20. balanceOf` and insert your ETH address. This will retrieve your pool share token balance in wei.
|
||||
|
||||
![](../.gitbook/assets/liquidity/remove-liquidity-2.png)
|
||||
![Balance Of](../.gitbook/assets/liquidity/remove-liquidity-2.png)
|
||||
|
||||
5\. Copy this number as later you will use it as the `poolAmountIn` parameter.
|
||||
|
||||
6\. Go to field `55. totalSupply` to get the total amount of pool shares, in wei.
|
||||
|
||||
![](../.gitbook/assets/liquidity/remove-liquidity-3.png)
|
||||
![Total Supply](../.gitbook/assets/liquidity/remove-liquidity-3.png)
|
||||
|
||||
7\. Divide the number by 2 to get the maximum of pool shares you can send in one pool exit transaction. If your number retrieved in former step is bigger, you have to send multiple transactions.
|
||||
|
||||
8\. Go to _Contract_ -> _Write Contract_ and connect your wallet. Be sure to have your wallet connected to network of the pool.
|
||||
|
||||
![](../.gitbook/assets/liquidity/remove-liquidity-4.png)
|
||||
![Write Contract](../.gitbook/assets/liquidity/remove-liquidity-4.png)
|
||||
|
||||
9\. Go to the field `5. exitswapPoolAmountIn`
|
||||
|
||||
@ -34,8 +34,8 @@ In previous versions of Ocean liquidity pools and dynamic pricing were supported
|
||||
- For `minAmountOut` use anything, like `1`
|
||||
- Hit _Write_
|
||||
|
||||
![](../.gitbook/assets/liquidity/remove-liquidity-5.png)
|
||||
![Remove Liquidity](../.gitbook/assets/liquidity/remove-liquidity-5.png)
|
||||
|
||||
10\. Confirm transaction in Metamask
|
||||
|
||||
![](../.gitbook/assets/liquidity/remove-liquidity-6.png)
|
||||
![Confirm Transaction](../.gitbook/assets/liquidity/remove-liquidity-6.png)
|
||||
|
@ -1,13 +1,14 @@
|
||||
---
|
||||
description: An overview of Ocean Protocol's governance and incentives mechanisms
|
||||
---
|
||||
|
||||
# veOCEAN & Data Farming
|
||||
|
||||
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.
|
||||
|
||||
![](./images/df_rewards_page.png)
|
||||
![DF Rewards Page](../.gitbook/assets/rewards/df_rewards_page.png)
|
||||
|
||||
## veOCEAN
|
||||
|
||||
@ -31,4 +32,4 @@ Our [FAQ](faq.md) answers many different questions about staking, chains, deploy
|
||||
|
||||
## Reference
|
||||
|
||||
All content within has been assembled via reference of the [Ocean Data Farming Series](https://blog.oceanprotocol.com/ocean-data-farming-series-c7922f1d0e45), official [Ocean Protocol github repositories](https://github.com/oceanprotocol/), and [v4 Whitepapers](https://oceanprotocol.com/tech-whitepaper.pdf).
|
||||
All content within has been assembled via reference of the [Ocean Data Farming Series](https://blog.oceanprotocol.com/ocean-data-farming-series-c7922f1d0e45), official [Ocean Protocol github repositories](https://github.com/oceanprotocol/), and [v4 Whitepapers](https://oceanprotocol.com/tech-whitepaper.pdf).
|
||||
|
@ -14,6 +14,6 @@ Follow these steps to delegate you veOcean:
|
||||
2. Click the Delegate button and sign the transaction. You can view information about your delegation in the My Delegations component.
|
||||
3. If needed, you can cancel the delegation to regain your allocation power before the delegation expires.
|
||||
|
||||
![](../.gitbook/assets/rewards/veOCEAN-Delegation.png)
|
||||
![veOcean Delegation](../.gitbook/assets/rewards/veOCEAN-Delegation.png)
|
||||
|
||||
If you receive veOCEAN allocation power from other wallets, you will receive their rewards and be responsible for distributing rewards to the delegators. You cannot delegate the veOCEAN you received from delegates, only the veOCEAN you received from your lock.
|
||||
|
@ -60,7 +60,7 @@ DF Main lasts for decades.
|
||||
|
||||
The table below cross-references DF Round Number, Start Date, Phase & Week, Sub-Phase & Week, and OCEAN Rewards/Week.
|
||||
|
||||
![](../.gitbook/assets/rewards/reward_schedule.png)
|
||||
![Rewards Schedule](../.gitbook/assets/rewards/reward_schedule.png)
|
||||
_Ocean Reward Schedule for the next 20+ years_
|
||||
|
||||
## Ranked Rewards
|
||||
@ -73,7 +73,7 @@ At the top-end, this helps increase quality and diversification of inventory.
|
||||
|
||||
At the bottom-end, this eliminates some potential free-rider issues and smooths out the reward distribution.
|
||||
|
||||
![](images/ranked_rewards_study.png)
|
||||
![Ranked Rewards](images/ranked_rewards_study.png)
|
||||
|
||||
You can read more about the implementation [in this blog post](https://blog.oceanprotocol.com/data-farming-df22-completed-df23-started-reward-function-tuned-ffd4359657ee) and find the full study [in these slides](https://docs.google.com/presentation/d/1HIA2zV8NUPpCELmi2WFwnAbHmFFrcXjNQiCpEqJ2Jdg/).
|
||||
|
||||
|
@ -24,21 +24,21 @@ Let’s visualize!
|
||||
|
||||
The image below shows the first 5 years. The y-axis is OCEAN released each week. It’s log-scaled to easily see the differences. The x-axis is time, measured in weeks. In weeks 0–29, we can see the distinct phases for DF Alpha (DF1 // week 0), DF/VE Alpha (DF5 // week 4), DF Beta (DF9 // week 8), DF Main 1 (DF29 // week 28), DF Main 2 (DF80 // week 79), DF Main 3 (DF106 // week 105), and DF Main 4 (DF132 // week 131).
|
||||
|
||||
![](../.gitbook/assets/rewards/emissions_first_5years.png)
|
||||
![emissions-5 years](../.gitbook/assets/rewards/emissions_first_5years.png)
|
||||
_OCEAN released to DF per week — first 5 years_
|
||||
|
||||
## Emissions — First 20 years.
|
||||
|
||||
The image below is like the previous one: OCEAN released per week, but now for the first 20 years. Week 131 onwards is DF Main 4. We can see that the y-value divides by two (“halvens”) every four years.
|
||||
|
||||
![](../.gitbook/assets/rewards/emissions_first_20years.png)
|
||||
![emissions-20 years](../.gitbook/assets/rewards/emissions_first_20years.png)
|
||||
_OCEAN released to DF per week — first 20 years_
|
||||
|
||||
## Total OCEAN released.
|
||||
|
||||
The image below shows the total OCEAN released by DF for the first 20 years. The y-axis is log-scaled to capture both the small initial rewards and exponentially larger values later on. The x-axis is also log-scaled so that we can more readily see how the curve converges over time.
|
||||
|
||||
![](../.gitbook/assets/rewards/emissions_lifetime.png)
|
||||
![emissions-lifetime](../.gitbook/assets/rewards/emissions_lifetime.png)
|
||||
_Total OCEAN released to DF — first 20 years_
|
||||
|
||||
## Example APYs
|
||||
@ -47,7 +47,7 @@ The plot below shows estimated APY over time. Green includes both passive and ac
|
||||
|
||||
APYs are an estimate because APY depends on OCEAN locked. OCEAN locked for future weeks is not known precisely; it must be estimated. The yellow line is the model for OCEAN locked. We modeled OCEAN locked by observing linear growth from week 5 (when OCEAN locking was introduced) to week 28 (now): OCEAN locked grew from 7.89M OCEAN to 34.98M OCEAN respectively, or 1.177M more OCEAN locked per week.
|
||||
|
||||
![](../.gitbook/assets/rewards/example_apys.png)
|
||||
![Example APYS](../.gitbook/assets/rewards/example_apys.png)
|
||||
_Green: estimated APYs (passive + active). Black: estimated APYs (just passive). Yellow: estimated staking_
|
||||
The plots are calculated from [this Google Sheet](https://docs.google.com/spreadsheets/d/1F4o7PbV45yW1aPWOJ2rwZEKkgJXbIk5Yq7tj8749drc/edit#gid=1051477754).
|
||||
|
||||
|
@ -95,7 +95,7 @@ veOCEAN holders will each get weekly DF rewards allocation, except a small carve
|
||||
|
||||
The image below illustrates the flow of value. On the left, at time 0, the staker locks their OCEAN into the veOCEAN contract, and receives veOCEAN. In the middle, the staker receives OCEAN rewards every time there’s revenue to the Ocean Protocol Community (top), and also as part of Data Farming rewards (bottom). On the right, when the lock expires (e.g. 4 years) then the staker is able to move their OCEAN around again.
|
||||
|
||||
![](../.gitbook/assets/rewards/flow_of_value.png)
|
||||
![Flow of Value](../.gitbook/assets/rewards/flow_of_value.png)
|
||||
_Flow of Value_
|
||||
|
||||
The veOCEAN design is in accordance with the Web3 Sustainability Loop, which Ocean uses as its system-level design.
|
||||
|