Publish Flow
This page shows how you can publish a data NFT, a datatoken & a data asset all at once in different scenarios.
Last updated
Was this helpful?
This page shows how you can publish a data NFT, a datatoken & a data asset all at once in different scenarios.
Last updated
Was this helpful?
In this page, we provide some tips & tricks for publishing an asset on Ocean Market using ocean.py.
We assume you've already (a) , and (b) done or . This flow works for either one, without any changes between them.
In the Python console:
You've now published an Ocean asset!
is the base (base IP)
for access by others (licensing)
holding metadata
Here's an example similar to the create()
step above, but exposes more parameters to interact with, which requires deeper knowledge about ocean.py usage. The below example points out the creation of an asset and attempts to create a datatoken as well, with the files specified in DatatokenArguments
class. You have the freedom to customize the data NFT, datatoken and also fields from DDO, such as:
services
metadata
credentials
In the same python console:
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()
:
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:
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.
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:
If you call create()
after this, you can pass in an argument deployed_datatokens:List[Datatoken1]
and it will use those datatokens during creation.
Ocean Assets allows you to bundle several common scenarios as a single transaction, thus lowering gas fees.
Here is an example involving an exchange:
For more information regarding: Data NFT & Datatokens interfaces and how they are implemented in Solidity, we suggest to follow up this and from GitHub.
As you may want to explore more the DDO specs, structure & meaning, we invite you to consult section.
To disable encryption, use .
To disable compression, use .
To disable both, use .
Any of the ocean.assets.create_<type>_asset()
functions can also take an optional parameter that describes a bundled (Dispenser or Fixed Rate Exchange).