Getting Started
Before diving-in to buying, selling and staking on data assets, we need to have a few things in place. First, we will need to set up a 'wallet' that can 'store' the currency of the Ocean Protocol ecosystem ($OCEAN). Next, we will need to buy some $OCEAN from a Centralized Exchange (CEx) such as Kraken or KuCoin. Next, we will need to transfer $OCEAN to the wallet that we set-up. Once we have some $OCEAN in our wallets, we can begin exploring Ocean Market.
- Setting up a wallet
- Buying $OCEAN on a Centralized Exchange (CEx)
- Transferring $OCEAN from CEx to Wallet
- Testnet $OCEAN
- Testnet ETH
- Exercises
- References
Setting up a wallet
Wallets in our context are applications that allow users to hold cryptocurrencies. Web3.0 decentralized applications (dApps) typically use wallets to authenticate users and to sign-off on purchases.
Broadly speaking, wallets can be of two types - 'software'/'hot' wallets or 'hardware'/'cold' wallets. The two types of wallets come with tradeoffs in security and convenience.
Once a crypto currency or token has been transferred to a hardware wallet, the wallet can be taken offline indefinitely and be isolated from attempts to steal coins. Hardware wallets are therefore quite secure. On the flip side, they do need to be physically connected and removed each time the wallet interacts with a dApp, which can be quite inconvenient.
Software wallets, especicially those integrated into web browsers are convenient since they allow us to interact easily with dApps. On the flip side, they are more likely to be the target of hacking attempts.
Wallet selection is a tricky but important topic. The references section contains a number of good resources [1], [2] that will help you select a wallet suitable to your end use-case.
Regardless of your choice of wallet, please remember to take a security-first approach to wallets [3] and crypto transactions. This is especially important when interacting with Web3.0 applications due to their decentralized and immutable nature. Since transactions are irreversible, adhering to all security best practices at all times is essential, or you risk losing your crypto.
In this guide, we default to Metamask [4], which is one of the most popular software wallets. Metamask integrates into popular web-based browsers as an extension, allowing users to get access to Ethereum dApps very conveniently. As of this writing, Metamask has been downloaded and used ~21 million times. Metamask interfaces seamlessly with most Ethereum-based tokens implemented using the ERC20 standard [5], including $OCEAN.
Let's begin by setting up a Metamask wallet.
Step 1
Install the Metamask version suitable for your browser.
Upon selecting the Install button, Metamask redirects you to the app store corresponding to your browser, where you can add the application as an extension. Make sure you read the 'Privacy Practices' section marked with a box in the figure below and click on the button that adds the extension to your browser.
If the installation proceeds without a hitch, you see a welcome screen as shown below. Go ahead and click on 'Get Started'.
First time users should select the 'Create a Wallet' option in the page that shows up on selecting the 'Get Started' button.
Metamask will ask you for your permission to share anonymized usage data to make their service better. You can select the option you want. I choose not to share my data with Metamask. This takes me to the 'Create Password' screen shown below. You want to adhere to best practices while selecting the password i.e. Keep the password long, use a mixture of numbers, special characters and capital and lowercase letters while avoiding easily guessable passwords.
Creating your password takes you to arguably the most important screen in the process. The 'Crypto' in cryptocurrencies refers to Public Key Cryptography [6]. Here users can reveal their Public Keys (analogous to usernames or locks) while retaining their Private Keys (analogous to passwords or keys-that-open-locks).
A user holding a Private Key can easily prove that the Public Keys belong to them. The other way around - guessing the Private Key from the Public Key is really really difficult. Almost impossible with today's computers and cryptography. Unless....a hacker finds a stored, unencrypted private key or a user accidentally reveals it. The thing about really really large prime numbers is that they are difficult to remember. So users tend to store these Private Keys on their computers or on pieces of paper making them vulnerable to attacks.
Secret Phrases are combinations of 12-24 easy-to-remember, common English words that one can memorize instead of storing. Wallets use Secret Phrases to restore access to user funds in case the Wallet application crashes or one forgets ones password. It is therefore extremely important to secure your Secret Phrase, by memorizing it and keeping it offline in a secure location as indicated below.
Your Metamask wallet screen should look something like this (as of this writing in Jan 2022). Click on the highlighted sections below to get more familiar with Metamask features.
If you've followed along so far, you are the owner of a brand new Metamask wallet. Congratulations on taking your first step into the world of Web3.0 and Data DeFi!
The next two sections are optional. They discuss buying $OCEAN on Centralized Exchanges (CEx) and transferring them to your Metamask wallet. You will need actual $OCEAN to buy valuable data assets on Ocean Market. For the purposes of this guide though, we will be taking you through the process of buying play $OCEAN on the Ethereum Rinkeby Testnet.
Since our aim is doing Data DeFi on Ocean Market, we can study the mechanics of the process just as well with play $OCEAN that has no real value. You can skip ahead to the section on testnet $OCEAN.
Buying $OCEAN on a Centralized Exchange (CEx)
Now that you've set up a Metamask wallet, it is time to buy some $OCEAN. Keep in mind that none of what follows is financial advice. Only information. You will need $OCEAN to interact with the Ocean Protocol ecosystem.
CExes facilitate buying and selling of crypto. Crypto owners can sell their coins for fiat (USD, Euro, etc..) and fiat owners can buy crypto from these sellers. Centralized here indicates that the crypto you buy is held in wallets controlled by a private party, not by you. Sites like Coinmarketcap [7] can give you more information about where $OCEAN can be bought.
Select the CEx available in your country and state/province. You will need to set up a CEx account. Most CExes will have Know Your Customer (KYC) and Anti-Money-Laundering (AML) requirements that will need your personal and tax details. Please comply with all regulations in your country while creating your CEx account. It is also likely safer to select CExes that are large, since their security practices are likely more robust than smaller CExes with fewer resources.
Most CExes make it really intuitive to Buy and Sell Crypto. You will first need to fund your account with a suitable fiat currency that can be exchanged for $OCEAN (Note: Not all fiat currencies can be exchanged for $OCEAN on CExes. If you have a different local fiat currency, you will need to first exchange this for a fiat that can be exchanged for $OCEAN on that CEx)
While buying $OCEAN, also be careful that there are a number of Cryptos with similar sounding names. Please make sure you select "OCEAN Token" or "OCEAN protocol Token". Select a suitable price you are willing to pay. Select a suitable number of $OCEAN that you are willing to buy.
CExes usually display "Bid" prices (price a buyer wants to buy at) and "Ask" prices (price a seller wants to sell at). Use these as a guide to buy $OCEAN. On typical CExes, entering a bid price midway between bid and ask prices is an easy way to get your orders filled.
CExes will typically charge you >1% as a commission for facilitating crypto buys and sells in addition to "Network Fees". These are fees that crypto participants called miners/validators charge for validating transactions on the blockchain.
If you've stayed with me so far, you have likely bought your first $OCEAN. You will now be able to transfer your $OCEAN to the Metamask wallet you created in the first section of this guide.
Transferring $OCEAN from CEx to Wallet
Truly owning your crypto means holding your own keys in your own wallet. Not on a CEx. "Not your keys, not your crypto" [8]. You will need to transfer the $OCEAN that you just purchased from a CEx to the Metamask wallet that you set up in the process above. The process to do this varies from one exchange to another.
The first step in this process is finding your Metamask Wallet Address. Visit your wallet homapage and click on the region highlighted below to copy your Metamask wallet address into the clipboard.
Next, go to your CEx account. Most CExes will provide the functionality to Withdraw/Transfer your coins to another wallet. The interface on Kucoin for instance, looks like the figure below.
Paste the Metamask wallet address into the "Wallet Address" field. Check that you entered the address exactly as it shows on your Metamask Wallet. Check it once more. And another time. This point cannot be emphasized enough because transactions are final. If your wallet address is incorrect, your transfer will still go through, just to the wrong address that you don't have the Private Keys to! You can lose your $OCEAN in this process if you aren't careful.
CExes will charge you a commission for this transaction as well, in addition to network fees. The process is rather inefficient at the moment since Web3.0 is still not mature. As the technology matures, these transactions will cost less and become more seamless.
Testnet $OCEAN
Testnet blockchains are used by developers to test code without really interacting anything of value. Since transactions are final and unalterable, this precaution is needed to ensure no loss of funds in case of inadvertant bugs that are always part of the development process.
Click on the "Ethereum Mainnet" Button in your Metamask shown below and then click on "Show/hide test networks".
Then click on the radio button for "Show test networks". Once it shows "ON" scroll back up the "Ethereum Mainnet" button and click on it. All Ethereum Testnets should start showing. Select the "Rinkeby Test Network" since this is the Testnet on which testnet $OCEAN is available.
At this point, your Metamask wallet home screen should look something like shown below. Your network (highlighted) should show "Rinkeby Test Network".
To get testnet $OCEAN, navigate to Ocean Protocol's Rinkeby "Faucet" at https://faucet.rinkeby.oceanprotocol.com/. Faucets are webapps where Blockchain dev teams distribute test tokens. Enter your Metamask address in the "Wallet Address" textbox. As before, the address needs to be exactly the same. Click on "Get 100 OCEAN" and your Rinkeby $OCEAN should be on it's way!
Observe what happens when you click on the "Get 100 OCEAN" button above. Below a transaction confirmation message, you should see a long string containing numbers and words. This is the transaction hash/id. You can view the details of the Rinkeby $OCEAN transfer on Rinkeby Etherscan https://rinkeby.etherscan.io/.
Enter the transaction hash exactly into the search box in Etherscan and you should be able to see granular details of your transaction as shown below. This is a receipt for your transaction. Copy the Contract address in the highlighted section shown for the next step.
Do you actually have Rinkeby $OCEAN in your wallet at this point? Metamask will not show anything yet, because it does not import $OCEAN tokens by default. This is where the contract address you copied in the previous step comes handy.
Click on "Import tokens" on the Metamask wallet home screen. As soon as you do this, Metamask populates the remaining fields. Confirm that you see "OCEAN" in the "Token Symbol" field. And then click on "Add Custom Token". Confirm that you indeed want to import OCEAN token on the next screen. Navigate back to the homescreen. It should look something like shown below.
The 100 Rinkeby $OCEAN tokens you requested from the faucet should now show up in the balance.
Testnet ETH
Besides $OCEAN, you will also need to fund your account with testnet ETH to pay for transactions on the Ethereum blockchain.
Getting testnet ETH is a little more complicated than getting testnet $OCEAN. The demand for testnet ETH is quite high owing to Ethereum's popularity in the developer community. Consequently, the most popular testnet faucet at https://faucet.rinkeby.io/ requires some form of authentication prior to receiving testnet ETH. See the highlighted section below for instructions on requesting Rinkeby ETH.
In case you do not have a social media account, please check out Ethereum forums on Reddit [9] and other popular sites (Open Zepellin [10], etc) to find out more about getting Rinkeby ETH.
Unless there is a problem entering your address or the Rinkeby faucet is down, your account should be funded with Rinkeby ETH. At this point, your account balance should reflect the Rinkeby ETH amount you requested + the $100 Rinkeby $OCEAN. Confirm this before proceeding through the guide.
If you've stayed with me so far, go ahead and pat yourself on the back! Web3.0 is a work in progress. Some of the procedures are cumbersome and need a bit of attention and work. But by doing this little bit of extra work, you have set yourself up to fully explore the Ocean Protocol ecosystem.
Welcome aboard, fellow $OCEAN explorer!
Click here to begin your Data DeFi journey on Ocean Market. Or, you can return to Table of Contents for this guide.
Exercises
- Let's say you're interacting with a dApp. You like the interface and like the functionality that the dApp claims it provides. Then the dApp asks you to go ahead and paste your wallet key in a text box. Should you do it?
- Navigate to the Account Icon in Metamask that's located near the Mainnet/Testnet" button on the right. We've discussed Rinkeby in our article. Can you list all of the other test networks that are available by default in Metamask?
- Once you've listed them, try requesting testnet ETH for all of these other testnets.
References
- 9 Best Crypto Wallets (Software and Hardware) in 2021 - https://cryptotrader.tax/blog/best-crypto-wallet
- Bitcoin Wallet: How to Choose the Right One for Your Cryptocurrency - https://www.nerdwallet.com/article/investing/best-bitcoin-cryptocurrency-wallet
- Wallet Security - https://medium.com/immunefi/security-best-practices-of-web3-wallets-f167eadd9037
- Metamask - https://metamask.io/
- ERC20 standard - https://ethereum.org/en/developers/docs/standards/tokens/erc-20/
- Public Key Cryptography - https://en.wikipedia.org/wiki/Public-key_cryptography
- Coinmarketcap - https://coinmarketcap.com/currencies/ocean-protocol/markets/
- "Not your keys, not your crypto" - https://www.youtube.com/watch?v=opCOevmJAko
- Reddit Ethereum forum page - https://www.reddit.com/r/ethereum/comments/lv27za/is_there_a_working_rinkeby_faucet/
- Open Zepellin - https://forum.openzeppelin.com/t/how-to-get-rinkeby-test-ether-without-a-social-media-account/15472