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

Merge branch 'master' into feature/now-support-many-storage-options

This commit is contained in:
Troy McConaghy 2019-02-22 10:00:30 +01:00 committed by GitHub
commit 97af514a1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 107 additions and 121 deletions

View File

@ -35,6 +35,10 @@ module.exports = {
{ {
from: '/references/', from: '/references/',
to: '/references/introduction/' to: '/references/introduction/'
},
{
from: '/tutorials/wallets/',
to: '/concepts/wallets/'
} }
] ]
} }

View File

@ -40,4 +40,4 @@ We published an [Ocean Protocol blog post that explains SEAs in more detail](htt
## More Terminology ## More Terminology
- See [the page about Ocean's Software Components](/concepts/components/). - See [the page about Ocean's Software Components](/concepts/components/).
- See [the page about wallets (and other Ethereum terminology)](/tutorials/wallets/). - See [the page about wallets (and other Ethereum terminology)](/concepts/wallets/).

View File

@ -0,0 +1,55 @@
---
title: Wallet Basics
description: Ocean users need a wallet to manage their Ocean Tokens and Ether. This page explains the basics of wallets.
---
## Introduction
If you want to use the Ocean Network, then you need Ocean Tokens (typical ERC-20 tokens) and Ether, and to get Ocean Tokens and Ether, you need a _cryptocurrency wallet_ or _crypto wallet_ to manage them.
When you set up a new (crypto) wallet, it might generate a **seed phrase** for you. Store that seed phrase somewhere secure and non-digital (e.g. on paper in a safe). It's extremely secret and sensitive. Anyone with your wallet's seed phrase could spend all the Ether and Ocean Tokens in all the accounts in your wallet.
Once your wallet is set up, it will have one or more **accounts**.
Each account has several **balances**, e.g. an Ether balance, an Ocean Token balance, and maybe other balances. All balances start at zero.
An account's Ether balance might be 7.1 ETH in the Ethereum mainnet, 2.39 ETH in the Kovan testnet, and 0.1 ETH in the Nile testnet. You can't move ETH from one network to another (unless there is a special exchange or bridge set up). The same is true of Ocean Token balances.
Each account has one **private key**, one **public key** and one **address**. The public key and address can be calculated from the private key. You must keep the private key secret because it's what's needed to spend/transfer Ether and Ocean Tokens. You can share the address with others. In fact, if you want someone to send some Ether or Ocean Tokens to an account, you give them the account's address.
Notes:
- The blockchain has a record of every spend/receive transaction ever and it's public, so anyone can determine all the balances of all the accounts.
- Unlike traditional pocket wallets, crypto wallets don't actually store the tokens or Ether. They store private keys and maybe other things. (An account's public key and address can be calculated from its private key.)
## Types of Wallets
It's easy to get confused or overwhelmed by all the types of wallets. However, there is really only one question you need to ask about a given wallet:
_Where are my private keys stored?_
Hardware wallets store private keys inside a "secure enclave" (on a special device) so they can't be read out easily. All you can do is send a transaction to the hardware wallet to get the transaction signed by the private key. It then returns the signed transaction. The private key never leaves the hardware wallet.
Other wallets store private keys on a hard drive, or in memory, or on a remote server.
A "paper wallet" is just a piece of paper with one or more private keys written on it.
Each option gives you a tradeoff between security and ease of use / convenience. It's easier to steal or delete a private key if it's stored on a computer, especially a computer that's connected to the internet.
We encourage you to search around and read about wallets to understand the options. This page isn't a deep dive; it's just a primer.
## Wallets which Might Work with Ocean Tokens
[ERC-20 tokens](https://en.wikipedia.org/wiki/ERC-20) are the most common kind of tokens found in Ethereum-based networks. **Ocean Tokens are ERC-20 tokens**, so any wallet that supports arbitrary ERC-20 tokens should work to hold Ocean Tokens.
For example, you could use [MetaMask](https://metamask.io/), either as a stand-alone wallet, or with to a hardware wallet. We have a [tutorial about how to set up MetaMask for Chrome](/tutorials/metamask-setup).
Other wallets which _might_ work with Ocean Tokens are:
- [Gnosis Safe](https://safe.gnosis.io)
- [Trust Wallet](https://trustwallet.com)
- [Tokenary](https://tokenary.io)
- [Ledger](https://www.ledger.com/) hardware wallets (along with Ledger software)
- [TREZOR](https://trezor.io/) hardware wallets (along with other software such as MyEtherWallet)
**We don't recommend or endorse any particular wallets at this time.**

View File

@ -1,18 +1,17 @@
--- ---
title: Get Ether and Ocean Tokens for Testnets title: Get Ether and Ocean Tokens
description: A tutorial about how to get Ether and Ocean Tokens for testnets. description: A tutorial about how to get Ether and Ocean Tokens.
--- ---
If you want to interact with a testnet, then you'll eventually need Ether or Ocean Tokens _for that testnet_. (Every Ethereum-based network has its own Ether and its own Ocean Tokens, and you can't use those in other networks, or at least it wasn't possible when we wrote this.) If you want to interact with an Ethereum-based network that supports Ocean Protocol, then you'll eventually need Ether or Ocean Tokens _for that network_. (Every Ethereum-based network has its own Ether and its own Ocean Tokens, and you can't use those in other networks.)
At the time of writing, there were some public testnets you could use to test an Ocean Protocol application. For more information about those, see the page about [testnets](/concepts/testnets/). You could also run a local testnet (i.e. on your local machine). At the time of writing, there were some public testnets you could use to test an Ocean Protocol application. For more information about those, see the page about [testnets](/concepts/testnets/).
## Get a Compatible Wallet ## Get a Compatible Wallet
You will need a [wallet that can hold Ether (for any Ethereum network) and Ocean Tokens (for any Ethereum network)](/tutorials/wallets/). For the purpose of this tutorial, you can use [MetaMask](https://metamask.io/). You will need a [wallet that can hold Ether (for any Ethereum network) and Ocean Tokens (for any Ethereum network)](/concepts/wallets/). For the purpose of this tutorial, you can use MetaMask. See [our tutorial about how to set up MetaMask](/tutorials/metamask-setup/).
- Follow the MetaMask instructions to install it on your machine. In MetaMask, be sure to switch from the **Main Ethereum Network** to whatever network you're using.
- In MetaMask, switch from the **Main Ethereum Network** to the **Kovan Test Network** or the test network you're using.
## Get Ether ## Get Ether
@ -32,9 +31,9 @@ At the time of writing, there was no easy way to get Ether for the Nile Testnet.
If you're running a local Ganache-based testnet, then it creates several accounts at network launch time, and gives each of them some Ether. The addresses and private keys of those accounts should be shared (to logs or the console) during the launch process. You can use those accounts and their Ether. If you're running a local Ganache-based testnet, then it creates several accounts at network launch time, and gives each of them some Ether. The addresses and private keys of those accounts should be shared (to logs or the console) during the launch process. You can use those accounts and their Ether.
### Get Ether for a Local Parity-Ethereum-Based Testnet ### Get Ether for a Local Spree Testnet
If you're running a local Parity-Ethereum-based testnet based on [barge](https://github.com/oceanprotocol/barge), then you can send some Ether to `<YOUR ADDRESS>` using the command: If you're running a local Spree testnet, then you can send some Ether to `<YOUR ADDRESS>` using the command:
```bash ```bash
curl --data '{"jsonrpc":"2.0","method":"personal_sendTransaction","params":[{"from":"0x00Bd138aBD70e2F00903268F3Db08f2D25677C9e","to":"<YOUR ADDRESS>","value":"0x7FFFFFFFFFFFFFFFFFF"}, "node0"],"id":0}' -H "Content-Type: application/json" -X POST localhost:8545 curl --data '{"jsonrpc":"2.0","method":"personal_sendTransaction","params":[{"from":"0x00Bd138aBD70e2F00903268F3Db08f2D25677C9e","to":"<YOUR ADDRESS>","value":"0x7FFFFFFFFFFFFFFFFFF"}, "node0"],"id":0}' -H "Content-Type: application/json" -X POST localhost:8545

View File

@ -0,0 +1,34 @@
---
title: Set Up MetaMask
description: Tutorial about how to set up MetaMask for Chrome.
---
## What is MetaMask?
[MetaMask](https://metamask.io/) is a browser extension that allows web applications to interact with the Ethereum blockchain. Today, web browsers like Chrome and Firefox display information by fetching it from a server. Our current web browsers (Web 2.0 as its called) are not built to interface with distributed systems. MetaMask allows modern web browsers to interact with the Ethereum blockchain.
MetaMask serves a dual purpose as a [wallet](/concepts/wallets) (for Ether and ERC-20 tokens) and as a Web 3.0 browser. For users, it can work as an Ethereum wallet. For developers, it allows you to design and run Ethereum DApps right in your browser without running a full Ethereum node. MetaMask talks to the Ethereum blockchain for you.
## How to Set Up MetaMask for Chrome
**Note: MetaMask can also be used with a hardware wallet but we don't cover that option below.**
1. Go to the [Chrome Web Store for extensions](https://chrome.google.com/webstore/category/extensions) and search for MetaMask.
![metamask-chrome-store](images/metamask-chrome-extension.png)
2. Install MetaMask. It will get added as a browser extension in the top right corner of your browser. Read through and accept the terms and conditions. Create a username and password in the next step.
![tandc-metamask](images/metamask-create-username-password.png)
3. MetaMask will generate a secret backup phrase for you. Write it down, store it in a safe place, and click next.
![backup](images/metamask-secret-passcode.png)
4. Confirm your secret backup phrase and finish your MetaMask wallet setup.
![setup-final-metamask](images/metamask_view-account-options.png)
5. Voila! Your account is now created. You can now manage Ether and Ocean Tokens with your wallet. You can copy your account address to 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.
You can also watch our [tutorial video snippets](https://www.youtube.com/playlist?list=PL_dn0wVs9kWolBCbtHaFxsi408cumOeth) if you want more help setting up MetaMask.

View File

@ -1,108 +0,0 @@
---
title: Wallets for Ocean Tokens
description: If you want to use the Ocean Network, you need Ocean Tokens (typical ERC-20 tokens), and to get Ocean Tokens, you need to get a wallet that can hold Ocean Tokens.
---
## Introduction
In this section, we will be reviewing what crypto wallets are, how they work and the different types of wallets you can find.
### What is a crypto wallet?
As the name suggests, a crypto wallet is a type of digital wallet that stores cryptocurrencies. It uses private and public key based encryption to allow users to send and receive cryptocurrencies.
### Why do we need a wallet?
Unlike traditional pocket wallets, digital wallets do not actually store the currency. For example, your bank app or website does not store the money. It just shows what is recorded on the banks servers. The difference for a cryptocurrency is that the record of your transactions are written onto the blockchain, so everyone who is a part of the blockchain has access to these transaction records. A crypto wallet is a software program that interacts with these various blockchains to show the final recorded amount so the wallet owners can monitor their balance, and send/receive cryptos.
## Wallet Options
Ocean Tokens are [ERC-20 tokens](https://en.wikipedia.org/wiki/ERC-20), so any wallet that supports arbitrary ERC-20 tokens should work to hold Ocean Tokens. ERC-20 tokens are Ethereum-compatible standard tokens.
Just as wallets come in various shapes and sizes in the real world, several types of crypto-wallets are available, offering different ways of storing your cryptocurrencies. Each type has its own strengths and weaknesses.
<!-- prettier-ignore-start -->
| Type | Strengths | Weaknesses
| --- | --- | --- |
| **[Software](#software-wallets)** | These are downloaded and stored on the desktop or mobile device and can only be accessed through this one device so it&#39;s highly secure. Mobile wallets have the additional benefit of being portable | If the computer/phone is hacked or gets a virus, there's a possibility that your funds could be lost forever. Mobile wallets are also restricted by limited space so tend to be smaller.
| **[Hardware](#hardware-wallets)** | The private keys are stored on a physical device such as a USB stick. Hardware wallets have the ability to make transactions online, but are very secure because they are stored offline. | If you lose your hardware wallet and its associated seed phrase, all your funds are lost. So this may not be the best option for careless folks!
| **Online** | These are cloud-based wallets that are accessible over the internet. They are the most convenient to access, and are currently the most popular way to store cryptos. | Since online wallets are controlled by third parties, this centralization leads to a greater risk of your private keys being stolen through hacking. | |
| **Paper** | A physical copy or printout of your public and private keys. Highly secure, portable and easy to store. These can come in the form of printing out hexa numbers or via a QR code. | Similar weaknesses to a hardware wallet, that if you loose the keys, then you don&#39;t have any access.
<!-- prettier-ignore-end -->
> **We don't recommend or endorse any particular wallets at this time.**
We encourage you to search around and read about wallets to understand your options. This article isn't a deep-dive, but is just a primer into how wallets work. For a more in-depth understanding, you can [check out this article](https://blockgeeks.com/guides/cryptocurrency-wallet-guide/).
## Software Wallets
In this section, we will explore different types of software wallets.
### MetaMask
We will explain briefly what MetaMask is, and how to setup a MetaMask account.
#### What is MetaMask?
MetaMask is a browser extension that allows web applications to interact with the Ethereum blockchain. In our current setup, browsers like Chrome/Firefox display information by fetching it from a server. Our current web browsers (web 2.0 as its called) are not build to interface with distributed systems. This is why MetaMask is needed, as it allows modern web browsers to interact with the Ethereum blockchain.
#### Why is MetaMask required?
The unique part about MetaMask is that it serves a dual purpose as an ERC-20 wallet and a Web 3.0 browser. For users, it works as an Ethereum wallet, allowing them to store and send any ERC-20 tokens. For developers, it allows you to design and run Ethereum DApps right in your browser without running a full Ethereum node. MetaMask talks to the Ethereum blockchain for you.
#### How to setup MetaMask?
Here are some setup Instructions for MetaMask
1. Go to the Chrome Web Store for extensions and search/install metamask.
![metamask-chrome-store](images/metamask-chrome-extension.png)
2. It will get added as a browser extension on the top right portion. Read through and accept the terms and conditions. Create a username and password in the next step.
![tandc-metamask](images/metamask-create-username-password.png)
3. MetaMask will generate a secret backup phrase for you. Write it down, store it in a safe place, and click next.
![backup](images/metamask-secret-passcode.png)
4. Confirm your secret backup phrase and finish your MetaMask wallet set up!
![setup-final-metamask](images/metamask_view-account-options.png)
5. Voila! Your account is now created! You can now store tokens in your wallet. You can copy your account address to clipboard from the options. This address is where you will be receiving all your ERC-20 tokens.
You can also watch our [tutorial video snippets](https://www.youtube.com/playlist?list=PL_dn0wVs9kWolBCbtHaFxsi408cumOeth) if you want more help on setting up MetaMask.
### Other Software Wallets
Some other software wallets which _might_ work with Ocean Tokens are:
- [Gnosis Safe](https://safe.gnosis.io)
- [Trust Wallet](https://trustwallet.com)
- [Tokenary](https://tokenary.io)
## Hardware Wallets
Two of the most popular options are [Trezor](https://trezor.io/) and [Ledger](https://www.ledger.com/).
Here are tutorials for setting up both.
1. [Trezor User Manual](https://wiki.trezor.io/User_manual)
2. [Setting Up The Ledger Nano S: A Beginners Guide](https://coinsutra.com/edger-nano-s-setup-guide/)
> Please note that these hardware wallet tutorials are general purpose for all ERC-20 tokens, and not specific to Ocean Tokens.
## Terminology
There's a lot of terminology around wallets, so we'll start by going over some of it.
A wallet might contain only one **account** (Ethereum account) or it might contain many accounts.
Each account has a **balance** (e.g. 1.832 Ocean Tokens), an **address** (e.g. 0xa0A9d7e78bF29351997cA5589A0Af689eEC99211), a **public key** and a **private key**.
An account is identified by its address, so if you want someone to send some Ocean Tokens to a specific account, you give them the account's address.
The private key is used to spend the Ocean Tokens in the account. You must keep it secret, because anyone with that private key can spend those tokens. If you lose the secret key, then you loose _all access_ to your funds, so be careful not to loose it!
> Note: The same account might have an Ocean Token balance, an [Ether](https://www.ethereum.org/ether) balance, and other balances.

View File

@ -10,6 +10,8 @@
link: /concepts/tools/ link: /concepts/tools/
- title: Testnets - title: Testnets
link: /concepts/testnets/ link: /concepts/testnets/
- title: Wallet Basics
link: /concepts/wallets/
- group: Architecture - group: Architecture
items: items:

View File

@ -2,9 +2,9 @@
items: items:
- title: Introduction - title: Introduction
link: /tutorials/introduction/ link: /tutorials/introduction/
- title: Wallets for Ocean Tokens - title: Set Up MetaMask
link: /tutorials/wallets/ link: /tutorials/metamask-setup/
- title: Get Ether and Ocean Tokens for Testnets - title: Get Ether and Ocean Tokens
link: /tutorials/get-ether-and-ocean-tokens/ link: /tutorials/get-ether-and-ocean-tokens/
- title: Set Up Azure Storage - title: Set Up Azure Storage
link: /tutorials/azure-for-brizo/ link: /tutorials/azure-for-brizo/