Scenario: You are a business/individual that has a valuable data asset - files, code, pipelines. You wish to sell this data on an open marketplace while controlling the access rights to it. You would like to control the time for which this data is available, the storage location, the number of users that can access it and so on. This article walks you through the simple procedure for doing the above using datatokens on Ocean Market.
Before you begin, you might want to take a look at part 1 of this series where buying a data asset on Ocean Market is discussed.
I created a sample dataset for this article by downloading a Comma Separated Value (CSV) file for Bitcoin prices in USD from November 2020 to 2021. The dataset was sourced from Yahoo Finance and is freely available for anyone to download.
Step 1: First save the dataset to a secure location having a URL that can be shared for access. There are multiple options for doing this. Any cloud based file hosting service (Dropbox, AWS S3, Microsoft One Drive, Google Drive) should have this capability. I chose to go with Google Drive since I'm most familiar with their cloud storage interface.
I used the Share>Publish to Web setting on Google Sheets to create a publicly shareable URL for my sample dataset as shown below.
Step 2: Navigate to the 'Publish' page on Ocean Market - https://market.oceanprotocol.com/publish
Step 3: Fill out the relevant details on the publish page. You will need access to a ERC20 compatible wallet such as Metamask to complete the procedure. To aid discoverability of your dataset, add as much detail to the metadata fields as possible. Notice that Ocean assigns a token name to datatokens published on Ocean Market automatically.
Step 3: Agree to the terms and conditions and submit your data. This should open up your wallet for signing as shown below. Confirming the transaction (twice, don't worry, this is normal) completes the first step, which is the creation of a datatoken with a customized name on the Rinkeby Testnet.
Step 4: Price your data. Ocean allows fixed pricing for data as well as market-determined pricing through the use of Automated Market Makers (AMMs). AMMs are a fascinating innovation that aim to alleviate liquidity issues associated with order books on centralized marketplaces (think Kraken, Coinbase,...). For the purposes of this article, let's keep a fixed price for this dataset by clicking on 'Create Pricing' and selecting the 'Fixed' pricing option shown below.
Ocean Market does not allow increments smaller than 1 OCEAN token. Since this is a test example I've set the price to be the minimum. (Note: You can buy test Ocean for the Rinkeby Testnet from a free Ocean Faucet).
Clicking on "CREATE PRICING" upon selecting your options should open your wallet for signing once more. This second transaction will also be confirmed (twice, don't worry, this is normal) on the Rinkeby Testnet as a 'Minting' type transaction.
Prior to final minting, your wallet will ask to spend a small amount of ETH to cover for mandatory costs associated with maintaining the protocol. You will need to confirm this as well.
That's it. Ocean has created and minted datatokens on your behalf. In my case, a 1000 DEFFUG-76 datatokens were minted, which means that this data set could be sold to 1000 users for a price of 1 OCEAN each.
Summary: This article discussed a simple procedure for publishing and pricing your data asset using datatokens on Ocean Market. The main steps are as follows:
- Create and save your data asset to a URL
- Navigate to the Publish Page on Ocean Market.
- Fill out the metadata for your asset and create the datatoken (requires ETH to pay for Gas).
- Create pricing and Mint your datatoken (requires ETH to pay for Gas).
The process of creating the datatoken contract and minting it on the blockchain are publicly available on blockchain explorers. Take a look at the transaction details for the creation of DEFFUG-76.