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

GITBOOK-336: change request with no subject merged in GitBook

This commit is contained in:
mariacarmina.cretu 2023-05-29 12:47:32 +00:00 committed by gitbook-bot
parent a2960018f7
commit 074500361e
No known key found for this signature in database
GPG Key ID: 07D2180C7B12D0FF
5 changed files with 100 additions and 6 deletions

View File

@ -61,9 +61,10 @@
* [Ocean.py](developers/ocean.py/README.md) * [Ocean.py](developers/ocean.py/README.md)
* [Install](developers/ocean.py/install.md) * [Install](developers/ocean.py/install.md)
* [Local Setup](developers/ocean.py/local-setup.md) * [Local Setup](developers/ocean.py/local-setup.md)
* [Remote setup](developers/ocean.py/remote-setup.md) * [Remote Setup](developers/ocean.py/remote-setup.md)
* [Publish flow](developers/ocean.py/publish-flow.md) * [Publish flow](developers/ocean.py/publish-flow.md)
* [Consume flow](developers/ocean.py/consume-flow.md) * [Consume flow](developers/ocean.py/consume-flow.md)
* [Technical Details](developers/ocean.py/technical-details.md)
* [Ocean.js](developers/ocean.js/README.md) * [Ocean.js](developers/ocean.js/README.md)
* [Configuration](developers/ocean.js/configuration.md) * [Configuration](developers/ocean.js/configuration.md)
* [Creating a data NFT](developers/ocean.js/creating-datanft.md) * [Creating a data NFT](developers/ocean.js/creating-datanft.md)

View File

@ -51,10 +51,12 @@ ocean.OCEAN_token.approve(exchange.address, OCEAN_needed, {"from":bob})
exchange.buy_DT(to_wei(1), consume_market_fee=0, tx_dict={"from": bob}) exchange.buy_DT(to_wei(1), consume_market_fee=0, tx_dict={"from": bob})
``` ```
For more info, see [Appendix: Dispenser / Faucet Details](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/main-flow.md#appendix-faucet-details) and [Exchange Details](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/main-flow.md#appendix-exchange-details). For more info, check [Technical Details](https://app.gitbook.com/o/mTcjMqA4ylf55anucjH8/s/BTXXhmDGzR0Xgj13fyfM/\~/changes/336/developers/ocean.py/technical-details) about ocean.py most used functions and also the smart contracts for [Dispenser](https://github.com/oceanprotocol/contracts/blob/main/contracts/pools/dispenser/Dispenser.sol) & [Fixed Rate Exchange](https://github.com/oceanprotocol/contracts/blob/main/contracts/pools/fixedRate/FixedRateExchange.sol).
### Consume the asset ⬇️ ### Consume the asset ⬇️
To "consume" an asset typically means placing an "order", where you pass in 1.0 datatokens and get back a url. Then, you typically download the asset from the url.
Bob now has the datatoken for the dataset! Time to download the dataset and use it. Bob now has the datatoken for the dataset! Time to download the dataset and use it.
<figure><img src="../../.gitbook/assets/200w.webp" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/200w.webp" alt=""><figcaption></figcaption></figure>
@ -97,5 +99,3 @@ The _beginning_ of the file should contain the following contents:
-3.9286,0.0000,206.1783 -3.9286,0.0000,206.1783
... ...
``` ```
For more info, see [Appendix: Consume Details](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/main-flow.md#appendix-consume-details).

View File

@ -37,4 +37,95 @@ You've now published an Ocean asset!
<figure><img src="../../.gitbook/assets/200.webp" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/200.webp" alt=""><figcaption></figcaption></figure>
For more info, see [Appendix: Publish Details](https://github.com/oceanprotocol/ocean.py/blob/main/READMEs/main-flow.md#appendix-publish-details). ### Appendix
For more information regarding: Data NFT & Datatokens interfaces and how they are implemented in Solidity, we suggest to follow up this [article](../datanft-and-datatoken/) and [contracts repo](https://github.com/oceanprotocol/contracts) from GitHub.
As you may want to explore more the DDO specs, structure & meaning, we invite you to consult [DDO Specification](../ddo-specification.md) section.
#### Publishing Alternatives
Here's an example similar to the `create()` step above, but exposes more fine-grained control.
In the same python console:
```python
# Specify metadata and services, using the Branin test dataset
date_created = "2021-12-28T10:55:11Z"
metadata = {
"created": date_created,
"updated": date_created,
"description": "Branin dataset",
"name": "Branin dataset",
"type": "dataset",
"author": "Trent",
"license": "CC0: PublicDomain",
}
# Use "UrlFile" asset type. (There are other options)
from ocean_lib.structures.file_objects import UrlFile
url_file = UrlFile(
url="https://raw.githubusercontent.com/trentmc/branin/main/branin.arff"
)
# Publish data asset
from ocean_lib.models.datatoken_base import DatatokenArguments
_, _, ddo = ocean.assets.create(
metadata,
{"from": alice},
datatoken_args=[DatatokenArguments(files=[url_file])],
)
```
#### 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.
You can control this during `create()`:
* To disable encryption, use `ocean.assets.create(..., encrypt_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)`.
#### 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:
```python
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.
#### 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:
```python
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.
#### Create an asset & pricing schema simultaneously
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).&#x20;
Here is an example involving an exchange:
{% code overflow="wrap" %}
```python
from ocean_lib.models.fixed_rate_exchange import ExchangeArguments
(data_nft, datatoken, ddo) = ocean.assets.create_url_asset(
name,
url,
{"from": alice},
pricing_schema_args=ExchangeArguments(rate=to_wei(3), base_token_addr=ocean.OCEAN_address, dt_decimals=18)
)
assert len(datatoken.get_exchanges()) == 1
```
{% endcode %}

View File

@ -2,7 +2,7 @@
description: Remote setup for running & testing ocean.py description: Remote setup for running & testing ocean.py
--- ---
# Remote setup # Remote Setup
Here, we do setup for Mumbai, the testnet for Polygon. It's similar for other remote chains. Here, we do setup for Mumbai, the testnet for Polygon. It's similar for other remote chains.

View File

@ -0,0 +1,2 @@
# Technical Details