diff --git a/.gitbook/assets/marketplace-publish-file-field (1).png b/.gitbook/assets/marketplace-publish-file-field (1).png new file mode 100644 index 00000000..706aba2d Binary files /dev/null and b/.gitbook/assets/marketplace-publish-file-field (1).png differ diff --git a/.gitbook/assets/publish-google-drive (1).png b/.gitbook/assets/publish-google-drive (1).png new file mode 100644 index 00000000..f472a96f Binary files /dev/null and b/.gitbook/assets/publish-google-drive (1).png differ diff --git a/.gitbook/assets/publish-google-drive-2 (1).png b/.gitbook/assets/publish-google-drive-2 (1).png new file mode 100644 index 00000000..9b126c47 Binary files /dev/null and b/.gitbook/assets/publish-google-drive-2 (1).png differ diff --git a/core-concepts/architecture.md b/core-concepts/architecture.md index 2d6a69ee..3bb157ba 100644 --- a/core-concepts/architecture.md +++ b/core-concepts/architecture.md @@ -9,7 +9,7 @@ description: Data NFTs and datatokens architecture Here is the Ocean architecture. -![Ocean Protocol tools architecture](../.gitbook/assets/architecture.png) +![Ocean Protocol tools architecture]() Here’s an overview of the figure. diff --git a/core-concepts/asset-pricing.md b/core-concepts/asset-pricing.md index 0d47dbf5..944415fb 100644 --- a/core-concepts/asset-pricing.md +++ b/core-concepts/asset-pricing.md @@ -3,7 +3,7 @@ title: Asset Pricing description: Choose the revenue model during asset publishing --- -# Asset pricing +# Asset Pricing Ocean Protocol offers two types of pricing options for asset monetization. The publisher can choose a pricing model which best suits their needs while publishing an asset. The pricing model selected cannot be changed once the asset is published. @@ -17,7 +17,7 @@ A [FixedRateExchange](https://github.com/oceanprotocol/contracts/blob/v4main/con The image below shows how to set the fixed pricing of an asset in the Ocean's Marketplace. Here, the price of the asset is set to 10 Ocean tokens. -![fixed-asset-pricing](../.gitbook/assets/fixed-asset-pricing.png) +![fixed-asset-pricing]() ### Free pricing @@ -29,4 +29,4 @@ Free pricing is suitable for individuals and organizations working in the public The image below shows how to set free access to an asset in the Ocean's Marketplace. -![free-asset-pricing](../.gitbook/assets/free-asset-pricing.png) +![free-asset-pricing]() diff --git a/core-concepts/datanft-and-datatoken.md b/core-concepts/datanft-and-datatoken.md index ecd08eef..2cd5830a 100644 --- a/core-concepts/datanft-and-datatoken.md +++ b/core-concepts/datanft-and-datatoken.md @@ -62,7 +62,7 @@ Ocean provides convenient methods to list ERC20 datatokens for sale, with fixed- ### High-Level Behavior -![Flow](<../.gitbook/assets/use case>) +![Flow]() Here's an example. @@ -76,9 +76,9 @@ Each data NFT or a datatoken is cloned from pre-defined template contracts. The The only data NFT template currently available has templateId `1` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC721Template.sol). The details regarding currently supported datatoken templates are as follows: -- **Regular template**: The regular template allows users to buy/sell/hold datatokens. The datatokens can be minted by the address having a `MINTER` role, making the supply of datatoken variable. This template is assigned templateID `1` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20Template.sol). -- **Enterprise template**: The enterprise template has additional functions apart from methods in the ERC20 interface. This additional feature allows access to the service by paying in the basetoken instead of datatoken. Internally, the smart contract handles conversion of basetoken to datatoken, initiating an order to access the service, and minting/burning the datatoken. The total supply of the datatoken effectively remains 0 in the case of the enterprise template. This template is assigned templateID `2` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20TemplateEnterprise.sol). +* **Regular template**: The regular template allows users to buy/sell/hold datatokens. The datatokens can be minted by the address having a `MINTER` role, making the supply of datatoken variable. This template is assigned templateID `1` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20Template.sol). +* **Enterprise template**: The enterprise template has additional functions apart from methods in the ERC20 interface. This additional feature allows access to the service by paying in the basetoken instead of datatoken. Internally, the smart contract handles conversion of basetoken to datatoken, initiating an order to access the service, and minting/burning the datatoken. The total supply of the datatoken effectively remains 0 in the case of the enterprise template. This template is assigned templateID `2` and the source code is available [here](https://github.com/oceanprotocol/contracts/blob/v4main/contracts/templates/ERC20TemplateEnterprise.sol). _NOTE: Ocean Protocol might support additional variations of data NFT/datatoken by adding new templates._ @@ -88,9 +88,8 @@ Fractional ownership is an exciting sub-niche of Web3, at the intersection of NF Ocean provides two approaches to fractional ownership: -- Sharded holding of ERC20 datatokens, where each ERC20 holder has the usual datatoken rights as described above, e.g. 1.0 datatokens to consume an asset. This comes out-of-the-box with Ocean. - -- Sharding ERC721 data NFT, where each co-holder has right to some earnings against base IP, and co-controls the data NFT. For example, there’s a DAO with the sole purpose to hold the data NFT; this DAO has its own ERC20 token; DAO members vote with tokens to update data NFT roles or deploy ERC20 datatokens against the ERC721. +* Sharded holding of ERC20 datatokens, where each ERC20 holder has the usual datatoken rights as described above, e.g. 1.0 datatokens to consume an asset. This comes out-of-the-box with Ocean. +* Sharding ERC721 data NFT, where each co-holder has right to some earnings against base IP, and co-controls the data NFT. For example, there’s a DAO with the sole purpose to hold the data NFT; this DAO has its own ERC20 token; DAO members vote with tokens to update data NFT roles or deploy ERC20 datatokens against the ERC721. Note: For (2), one might consider doing sharding with something like Niftex. But then there are questions: what rights do the shard-holders get exactly? It could be zero; for example, Amazon shareholders don’t have the right to walk the hallways of the Amazon offices just because they hold shares. Secondly, how do the shard-holders control the data NFT? These questions get resolved by using a tokenized DAO, as described above. diff --git a/core-concepts/did-ddo.md b/core-concepts/did-ddo.md index 42dc3fc5..edc9c0a7 100644 --- a/core-concepts/did-ddo.md +++ b/core-concepts/did-ddo.md @@ -33,7 +33,7 @@ The DDO is stored on-chain as part of the NFT contract and stored in encrypted f Here is the flow: -![DDO flow]() +![DDO flow](images/ddo-flow.png)
@@ -313,6 +313,8 @@ An asset with a service of `type` `compute` has the following additional attribu | `boolean` | **✓** | If `true`, any passed raw text will be allowed to run. Useful for an algorithm drag & drop use case, but increases risk of data escape through malicious user input. Should be `false` by default in all implementations. | | Type | Required | Description | | `boolean` | **✓** | If `true`, any passed raw text will be allowed to run. Useful for an algorithm drag & drop use case, but increases risk of data escape through malicious user input. Should be `false` by default in all implementations. | +| Type | Required | Description | +| `boolean` | **✓** | If `true`, any passed raw text will be allowed to run. Useful for an algorithm drag & drop use case, but increases risk of data escape through malicious user input. Should be `false` by default in all implementations. | |

allowNetworkAccess

TypeRequiredDescription
booleanIf true, the algorithm job will have network access.
| | | | Type | Required | Description | | `boolean` | **✓** | If `true`, the algorithm job will have network access. | @@ -326,6 +328,8 @@ An asset with a service of `type` `compute` has the following additional attribu | `boolean` | **✓** | If `true`, the algorithm job will have network access. | | Type | Required | Description | | `boolean` | **✓** | If `true`, the algorithm job will have network access. | +| Type | Required | Description | +| `boolean` | **✓** | If `true`, the algorithm job will have network access. | |

publisherTrustedAlgorithmPublishers

TypeRequiredDescription
Array of stringIf not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed.
| | | | Type | Required | Description | | Array of `string` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed. | @@ -339,6 +343,8 @@ An asset with a service of `type` `compute` has the following additional attribu | Array of `string` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed. | | Type | Required | Description | | Array of `string` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed. | +| Type | Required | Description | +| Array of `string` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. If not empty any algo published by the defined publishers is allowed. | |

publisherTrustedAlgorithms

TypeRequiredDescription
Array of publisherTrustedAlgorithmsIf not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below).
| | | | Type | Required | Description | | Array of `publisherTrustedAlgorithms` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below). | @@ -352,6 +358,8 @@ An asset with a service of `type` `compute` has the following additional attribu | Array of `publisherTrustedAlgorithms` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below). | | Type | Required | Description | | Array of `publisherTrustedAlgorithms` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below). | +| Type | Required | Description | +| Array of `publisherTrustedAlgorithms` | **✓** | If not defined, then any published algorithm is allowed. If empty array, then no algorithm is allowed. Otherwise only the algorithms defined in the array are allowed. (see below). | The `publisherTrustedAlgorithms` is an array of objects with the following structure: diff --git a/core-concepts/images/architecture (2).png b/core-concepts/images/architecture (2).png new file mode 100644 index 00000000..97084f85 Binary files /dev/null and b/core-concepts/images/architecture (2).png differ diff --git a/core-concepts/images/architecture (3).png b/core-concepts/images/architecture (3).png new file mode 100644 index 00000000..97084f85 Binary files /dev/null and b/core-concepts/images/architecture (3).png differ diff --git a/core-concepts/images/ddo-flow (2).png b/core-concepts/images/ddo-flow (2).png new file mode 100644 index 00000000..fab9a027 Binary files /dev/null and b/core-concepts/images/ddo-flow (2).png differ diff --git a/core-concepts/images/fixed-asset-pricing (2).png b/core-concepts/images/fixed-asset-pricing (2).png new file mode 100644 index 00000000..cc55112a Binary files /dev/null and b/core-concepts/images/fixed-asset-pricing (2).png differ diff --git a/core-concepts/images/fixed-asset-pricing (3).png b/core-concepts/images/fixed-asset-pricing (3).png new file mode 100644 index 00000000..cc55112a Binary files /dev/null and b/core-concepts/images/fixed-asset-pricing (3).png differ diff --git a/core-concepts/images/fixed-asset-pricing (4).png b/core-concepts/images/fixed-asset-pricing (4).png new file mode 100644 index 00000000..cc55112a Binary files /dev/null and b/core-concepts/images/fixed-asset-pricing (4).png differ diff --git a/core-concepts/images/free-asset-pricing (2).png b/core-concepts/images/free-asset-pricing (2).png new file mode 100644 index 00000000..8876bc31 Binary files /dev/null and b/core-concepts/images/free-asset-pricing (2).png differ diff --git a/core-concepts/images/free-asset-pricing (3).png b/core-concepts/images/free-asset-pricing (3).png new file mode 100644 index 00000000..8876bc31 Binary files /dev/null and b/core-concepts/images/free-asset-pricing (3).png differ diff --git a/core-concepts/images/free-asset-pricing (4).png b/core-concepts/images/free-asset-pricing (4).png new file mode 100644 index 00000000..8876bc31 Binary files /dev/null and b/core-concepts/images/free-asset-pricing (4).png differ diff --git a/core-concepts/images/use-case (2).png b/core-concepts/images/use-case (2).png new file mode 100644 index 00000000..a581963f Binary files /dev/null and b/core-concepts/images/use-case (2).png differ diff --git a/core-concepts/images/use-case (3).png b/core-concepts/images/use-case (3).png new file mode 100644 index 00000000..a581963f Binary files /dev/null and b/core-concepts/images/use-case (3).png differ diff --git a/core-concepts/images/use-case (4).png b/core-concepts/images/use-case (4).png new file mode 100644 index 00000000..a581963f Binary files /dev/null and b/core-concepts/images/use-case (4).png differ diff --git a/orientation/images/confirm-backup-phrase (1).png b/orientation/images/confirm-backup-phrase (1).png new file mode 100644 index 00000000..5fa40a1c Binary files /dev/null and b/orientation/images/confirm-backup-phrase (1).png differ diff --git a/orientation/images/confirm-backup-phrase (2).png b/orientation/images/confirm-backup-phrase (2).png new file mode 100644 index 00000000..5fa40a1c Binary files /dev/null and b/orientation/images/confirm-backup-phrase (2).png differ diff --git a/orientation/images/create-new-metamask-wallet (1).png b/orientation/images/create-new-metamask-wallet (1).png new file mode 100644 index 00000000..f53a81cd Binary files /dev/null and b/orientation/images/create-new-metamask-wallet (1).png differ diff --git a/orientation/images/create-new-metamask-wallet (2).png b/orientation/images/create-new-metamask-wallet (2).png new file mode 100644 index 00000000..f53a81cd Binary files /dev/null and b/orientation/images/create-new-metamask-wallet (2).png differ diff --git a/orientation/images/manage-tokens (1).png b/orientation/images/manage-tokens (1).png new file mode 100644 index 00000000..09a6f4c4 Binary files /dev/null and b/orientation/images/manage-tokens (1).png differ diff --git a/orientation/images/manage-tokens (2).png b/orientation/images/manage-tokens (2).png new file mode 100644 index 00000000..09a6f4c4 Binary files /dev/null and b/orientation/images/manage-tokens (2).png differ diff --git a/orientation/images/metamask-add-network (1).png b/orientation/images/metamask-add-network (1).png new file mode 100644 index 00000000..7b756c36 Binary files /dev/null and b/orientation/images/metamask-add-network (1).png differ diff --git a/orientation/images/metamask-add-network (2).png b/orientation/images/metamask-add-network (2).png new file mode 100644 index 00000000..7b756c36 Binary files /dev/null and b/orientation/images/metamask-add-network (2).png differ diff --git a/orientation/images/metamask-browser-extension (1).png b/orientation/images/metamask-browser-extension (1).png new file mode 100644 index 00000000..7f590505 Binary files /dev/null and b/orientation/images/metamask-browser-extension (1).png differ diff --git a/orientation/images/metamask-browser-extension (2).png b/orientation/images/metamask-browser-extension (2).png new file mode 100644 index 00000000..7f590505 Binary files /dev/null and b/orientation/images/metamask-browser-extension (2).png differ diff --git a/orientation/images/metamask-chrome-extension (1).png b/orientation/images/metamask-chrome-extension (1).png new file mode 100644 index 00000000..af811b08 Binary files /dev/null and b/orientation/images/metamask-chrome-extension (1).png differ diff --git a/orientation/images/metamask-chrome-extension (2).png b/orientation/images/metamask-chrome-extension (2).png new file mode 100644 index 00000000..af811b08 Binary files /dev/null and b/orientation/images/metamask-chrome-extension (2).png differ diff --git a/orientation/images/secret-backup-phrase (1).png b/orientation/images/secret-backup-phrase (1).png new file mode 100644 index 00000000..04a2a278 Binary files /dev/null and b/orientation/images/secret-backup-phrase (1).png differ diff --git a/orientation/images/secret-backup-phrase (2).png b/orientation/images/secret-backup-phrase (2).png new file mode 100644 index 00000000..04a2a278 Binary files /dev/null and b/orientation/images/secret-backup-phrase (2).png differ diff --git a/orientation/metamask-setup.md b/orientation/metamask-setup.md index 831fd0d5..b7ddc7da 100644 --- a/orientation/metamask-setup.md +++ b/orientation/metamask-setup.md @@ -10,27 +10,27 @@ description: Tutorial about how to set up MetaMask for Chrome. 1. Go to the [Chrome Web Store for extensions](https://chrome.google.com/webstore/category/extensions) and search for MetaMask. -![metamask-chrome-store](../building-with-ocean/images/metamask-chrome-extension.png) +![metamask-chrome-store]() * Install MetaMask. The wallet provides a friendly user interface that will help you through each step. MetaMask gives you two options: importing an existing wallet or creating a new one. Choose to `Create a Wallet`: -![Create a wallet](../building-with-ocean/images/create-new-metamask-wallet.png) +![Create a wallet]() * In the next step create a new password for your wallet. Read through and accept the terms and conditions. After that, MetaMask will generate Secret Backup Phrase for you. Write it down and store it in a safe place. -![Secret Backup Phrase](../building-with-ocean/images/secret-backup-phrase.png) +![Secret Backup Phrase]() * Continue forward. On the next page, MetaMask will ask you to confirm the backup phrase. Select the words in the correct sequence: -![Confirm secret backup phrase](../building-with-ocean/images/confirm-backup-phrase.png) +![Confirm secret backup phrase]() * Voila! Your account is now created. You can access MetaMask via the browser extension in the top right corner of your browser. -![MetaMask browser extension](../building-with-ocean/images/metamask-browser-extension.png) +![MetaMask browser extension]() * You can now manage Ether and Ocean Tokens with your wallet. You can copy your account address to the clipboard from the options. When you want someone to send Ether or Ocean Tokens to you, you will have to give them that address. It's not a secret. -![Manage tokens](../building-with-ocean/images/manage-tokens.png) +![Manage tokens]() You can also watch our [tutorial video snippets](https://www.youtube.com/playlist?list=PL\_dn0wVs9kWolBCbtHaFxsi408cumOeth) if you want more help setting up MetaMask. @@ -40,7 +40,7 @@ Sometimes it is required to use custom or external networks in MetaMask. We can Open the Settings menu and find the `Networks` option. When you open it, you'll be able to see all available networks your MetaMask wallet currently use. Click the `Add Network` button. -![Add custom/external network](../building-with-ocean/images/metamask-add-network.png) +![Add custom/external network]() There are a few empty inputs we need to fill: