mirror of
https://github.com/oceanprotocol/docs.git
synced 2024-11-26 19:49:26 +01:00
Merge branch 'master' into feature/squid-java-now-public
This commit is contained in:
commit
eb441bb228
@ -35,6 +35,10 @@ module.exports = {
|
||||
{
|
||||
from: '/references/',
|
||||
to: '/references/introduction/'
|
||||
},
|
||||
{
|
||||
from: '/tutorials/wallets/',
|
||||
to: '/concepts/wallets/'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ Before reading this page, you should understand some [Ocean-specific terminology
|
||||
|
||||
## Aquarius
|
||||
|
||||
Marketplaces run Aquarius to store and manage metadata about the data assets available in their marketplace. It provides an HTTP API for interacting with an off-chain database ([OceanDB](/concepts/components/#oceandb-drivers)).
|
||||
Marketplaces run Aquarius to store and manage metadata about the [assets](/concepts/terminology/#asset-or-data-asset) available in their marketplace. It provides an HTTP API for interacting with an off-chain database ([OceanDB](/concepts/components/#oceandb-drivers)).
|
||||
|
||||
<repo name="aquarius"></repo>
|
||||
|
||||
@ -15,7 +15,7 @@ Marketplaces run Aquarius to store and manage metadata about the data assets ava
|
||||
|
||||
Publishers run Brizo to manage interactions with marketplaces and consumers.
|
||||
It interacts with the publisher's cloud and/or on-premise infrastructure.
|
||||
The most basic scenario for a publisher is to provide access to the assets the publisher owns or manages, but [Brizo can do much more](/concepts/architecture/#brizo).
|
||||
The most basic scenario for a publisher is to provide access to the [assets](/concepts/terminology/#asset-or-data-asset) the publisher owns or manages, but [Brizo can do much more](/concepts/architecture/#brizo).
|
||||
|
||||
<repo name="brizo"></repo>
|
||||
|
||||
@ -33,7 +33,7 @@ See also: [Run a Keeper](/setup/keeper/)
|
||||
|
||||
## Pleuston
|
||||
|
||||
An example marketplace front-end for consumers to explore, download, and publish data assets within the Ocean Protocol network. Implemented using [React](https://reactjs.org/) and [🦑 squid-js](https://github.com/oceanprotocol/squid-js).
|
||||
An example marketplace front-end for consumers to explore, download, and publish [assets](/concepts/terminology/#asset-or-data-asset) within the Ocean Protocol network. Implemented using [React](https://reactjs.org/) and [🦑 squid-js](https://github.com/oceanprotocol/squid-js).
|
||||
|
||||
<repo name="pleuston"></repo>
|
||||
|
||||
@ -49,7 +49,7 @@ Client libraries used by applications (such as Pleuston or Jupyter notebooks) to
|
||||
|
||||
## OceanDB Drivers
|
||||
|
||||
OceanDB is an off-chain database for storing metadata about data assets.
|
||||
OceanDB is an off-chain database for storing metadata about [assets](/concepts/terminology/#asset-or-data-asset).
|
||||
|
||||
<repo name="oceandb-mongodb-driver"></repo>
|
||||
<repo name="oceandb-bigchaindb-driver"></repo>
|
||||
@ -61,7 +61,7 @@ These drivers are extended from a high-level module implementing OceanDB functio
|
||||
|
||||
## Secret Store
|
||||
|
||||
A [Parity Secret Store](https://wiki.parity.io/Secret-Store): software for distributed key pair generation, distributed key storage, and threshold retrieval. It's used to store asset access-control keys.
|
||||
A [Parity Secret Store](https://wiki.parity.io/Secret-Store): software for distributed key pair generation, distributed key storage, and threshold retrieval. It's used to store [asset](/concepts/terminology/#asset-or-data-asset) access-control keys.
|
||||
|
||||
There are several clients for integrating the Parity Secret Store into Ocean:
|
||||
|
||||
|
@ -5,7 +5,7 @@ description: Terminology specific to Ocean Protocol.
|
||||
|
||||
## Asset or Data Asset
|
||||
|
||||
A data set or data service.
|
||||
Anything that can be registered with and made available via the Ocean Network. Examples include data sets, trained model parameters, pipelines, and data-cleaning services.
|
||||
|
||||
## Data Owner or Data Service Provider
|
||||
|
||||
@ -17,7 +17,7 @@ Note: Initially, most data owners or data service providers will also be the pub
|
||||
|
||||
A service which mediates access to assets on behalf of data owners or data service providers.
|
||||
|
||||
Note: Initially, most publishers will also be the owners of the data assets they publish.
|
||||
Note: Initially, most publishers will also be the owners of the assets they publish.
|
||||
|
||||
## Consumer
|
||||
|
||||
@ -33,11 +33,11 @@ A person or a software service that checks some steps in transactions. For examp
|
||||
|
||||
## Service Execution Agreement (SEA)
|
||||
|
||||
A contract-like agreement between a provider, a consumer, and a verifier, specifying what data assets are to be delivered (from provider to consumer), the conditions that must be met, and the rewards for fulfilling the conditions.
|
||||
A contract-like agreement between a provider, a consumer, and a verifier, specifying what assets are to be delivered (from provider to consumer), the conditions that must be met, and the rewards for fulfilling the conditions.
|
||||
|
||||
We published an [Ocean Protocol blog post that explains SEAs in more detail](https://blog.oceanprotocol.com/exploring-the-sea-service-execution-agreements-65f7523d85e2).
|
||||
|
||||
## More Terminology
|
||||
|
||||
- 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/).
|
||||
|
@ -5,7 +5,13 @@ description: Tools and examples for developing with Ocean Protocol.
|
||||
|
||||
## Tools
|
||||
|
||||
Coming soon!
|
||||
[Plecos](https://github.com/oceanprotocol/plecos) is a Python tool to check metadata (a JSON file) to see if it conforms to the [OEP8 schema](https://github.com/oceanprotocol/OEPs/tree/master/8). Plecos wraps the [jsonschema](https://github.com/Julian/jsonschema) validator.
|
||||
|
||||
Users can use Plecos to check their metadata before sending it to an Aquarius instance. Plecos is manually updated with a schema file according to [OEP8](https://github.com/oceanprotocol/OEPs/tree/master/8). Find the tool in [PyPI](https://pypi.org/project/plecos/).
|
||||
|
||||
Plecos can be used in a microservice to facilitate data onboarding, as described in the [plecos_service](https://github.com/oceanprotocol/plecos_service) repository.
|
||||
|
||||
<repo name="Plecos"></repo>
|
||||
|
||||
## Examples
|
||||
|
||||
|
55
content/concepts/wallets.md
Normal file
55
content/concepts/wallets.md
Normal 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.**
|
@ -5,22 +5,28 @@ description: Set up and run a data marketplace in the Ocean network.
|
||||
|
||||
## What Does it Mean to Set Up a Marketplace?
|
||||
|
||||
An Ocean marketplace app is one of the primary ways that end users use the Ocean network. For example, a data scientist could use a marketplace app to see what data sets and data services (data assets) a marketplace has available. They can use the marketplace app to buy access to assets. Publishers make those data assets available.
|
||||
An Ocean marketplace app is one of the primary ways that end users use the Ocean network. For example, a data scientist could use a marketplace app to see what [assets](/concepts/terminology/#asset-or-data-asset) a marketplace has available. They can use the marketplace app to buy access to assets. Publishers make those assets available.
|
||||
|
||||
**Note: In the early days of the Ocean network, there won't be many marketplaces or publishers, so marketplaces will often also act as publishers.**
|
||||
|
||||
If you want to set up and run a marketplace in the Ocean network, then at a technical level, you must:
|
||||
|
||||
1. Have [Data Assets](/concepts/terminology/#asset-or-data-asset) to offer in your marketplace.
|
||||
1. Get those data assets set up to work with Ocean Protocol.
|
||||
1. Have [assets](/concepts/terminology/#asset-or-data-asset) to offer in your marketplace.
|
||||
1. Get those assets set up to work with Ocean Protocol.
|
||||
1. Develop a marketplace application (app).
|
||||
1. Run your marketplace app in production.
|
||||
|
||||
## Prepare Data Assets
|
||||
## Prepare Assets
|
||||
|
||||
At the time of writing, the only kind of [data assets](/concepts/terminology/#asset-or-data-asset) supported by Ocean Protocol were datasets stored in Azure Storage. See [the tutorial about setting up Azure Storage to work with Ocean Protocol](/tutorials/azure-for-brizo/).
|
||||
At the time of writing, the following kinds of [assets](/concepts/terminology/#asset-or-data-asset) were supported:
|
||||
|
||||
Support for other kinds of data assets (e.g. storage in AWS, computing in Azure) is coming soon.
|
||||
- data sets stored in Azure Storage (i.e. with "core.windows.net" in their URL). See [the tutorial about setting up Azure Storage to work with Ocean Protocol](/tutorials/azure-for-brizo/).
|
||||
- data sets stored in Amazon S3 storage (i.e. with "s3://" in their URL). See [the tutorial about setting up Amazon S3 storage to work with Ocean Protocol](/tutorials/amazon-s3-for-brizo/).
|
||||
- data sets stored in on-premise storage. See [the tutorial about setting up on-premise storage to work with Ocean Protocol](/tutorials/on-premise-for-brizo/).
|
||||
|
||||
Note: You can use _all_ of the above. You aren't restricted to using only one storage provider.
|
||||
|
||||
Support for other kinds of assets (e.g. computing in Azure) is coming.
|
||||
|
||||
## Develop a Marketplace App
|
||||
|
||||
|
@ -11,7 +11,7 @@ You can [try some free, online Jupyter notebooks](/tutorials/jupyter-notebooks/)
|
||||
|
||||
You can run and try every [Ocean software component](/concepts/components/) in your local machine, all at once, using Docker Compose.
|
||||
|
||||
First, you must [set up some storage on Azure](/tutorials/azure-for-brizo/). (Yes, we know that's not quick. Some day there will be a local storage option and then this really will be quick.)
|
||||
First, you must [set up some storage on Azure](/tutorials/azure-for-brizo/). (Yes, we know that's not quick. We're working on making a quicker option.)
|
||||
|
||||
Then:
|
||||
|
||||
|
12
content/tutorials/amazon-s3-for-brizo.md
Normal file
12
content/tutorials/amazon-s3-for-brizo.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Set Up Amazon S3 Storage
|
||||
description: Tutorial about how to set up Amazon S3 storage for use with Ocean Protocol.
|
||||
---
|
||||
|
||||
To enable Brizo to use files stored in Amazon S3 (i.e. files with an URL containing "s3://"), you must:
|
||||
|
||||
1. have an Amazon AWS user account (IAM account) with permission to read those files from S3, and
|
||||
1. set the AWS credentials on the machine where Brizo is running to those of the AWS user in question. Instructions are given below.
|
||||
1. Note that you don't have to set any Brizo-specific configuration settings, e.g. in the `[osmosis]` section of the Brizo config file or in some special Brizo environment variables.
|
||||
|
||||
Under the hood, Brizo uses [boto3](https://aws.amazon.com/sdk-for-python/) (the Python library for interacting with AWS) to interact with AWS and boto3 has a whole process for determining AWS credentials. The easiest way to set the AWS credentials on the machine where Brizo is running is to install the [AWS CLI](https://aws.amazon.com/cli/) and then use the `aws configure` command. For more details, see [the boto3 user guide about credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html).
|
@ -1,18 +1,17 @@
|
||||
---
|
||||
title: Get Ether and Ocean Tokens for Testnets
|
||||
description: A tutorial about how to get Ether and Ocean Tokens for testnets.
|
||||
title: Get Ether and Ocean Tokens
|
||||
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
|
||||
|
||||
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, switch from the **Main Ethereum Network** to the **Kovan Test Network** or the test network you're using.
|
||||
In MetaMask, be sure to switch from the **Main Ethereum Network** to whatever network you're using.
|
||||
|
||||
## 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.
|
||||
|
||||
### 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
|
||||
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
|
||||
|
34
content/tutorials/metamask-setup.md
Normal file
34
content/tutorials/metamask-setup.md
Normal 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 it’s 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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
3. MetaMask will generate a secret backup phrase for you. Write it down, store it in a safe place, and click next.
|
||||
|
||||

|
||||
|
||||
4. Confirm your secret backup phrase and finish your MetaMask wallet setup.
|
||||
|
||||

|
||||
|
||||
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.
|
8
content/tutorials/on-premise-for-brizo.md
Normal file
8
content/tutorials/on-premise-for-brizo.md
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Set Up On-Premise Storage
|
||||
description: Tutorial about how to set up on-premise storage for use with Ocean Protocol.
|
||||
---
|
||||
|
||||
To enable Brizo to use files stored in on-premise storage (i.e. files with an URL not containing "core.windows.net" or "s3://"), there is _nothing to do, other than make sure Brizo can resolve the URLs_. In particular, you don't have to set any Brizo-specific configuration settings, e.g. in the `[osmosis]` section of the Brizo config file or in some special Brizo environment variables.
|
||||
|
||||
Local and private network URLs are fine so long as they can be resolved by Brizo. Potential examples include `http://localhost/helicopter_data.xls`, `http://192.168.12.34/almond_sales_2012.csv` and `http://10.12.34.56/duck_photos.zip`.
|
@ -125,8 +125,8 @@ class App extends Component {
|
||||
parityUri: 'http://localhost:8545',
|
||||
secretStoreUri: 'http://localhost:12001',
|
||||
threshold: 0,
|
||||
password: 'secret',
|
||||
address: '0x068ed00cf0441e4829d9784fcbe7b9e26d4bd8d0'
|
||||
password: 'node0',
|
||||
address: '0x00bd138abd70e2f00903268f3db08f2d25677c9e'
|
||||
})
|
||||
console.log('Finished loading contracts!')
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ Open `src/App.js` in your marketplace app from the [React App Setup](/tutorials/
|
||||
|
||||
## Define Asset
|
||||
|
||||
First, let's add the asset that we want to publish.
|
||||
First, let's add the [asset](/concepts/terminology/#asset-or-data-asset) that we want to publish.
|
||||
|
||||
To do that, we need to add the following code after `window.ethereum.enable()` line, defining our asset based on the [OEP-08](https://github.com/oceanprotocol/OEPs/tree/master/8) metadata structure:
|
||||
|
||||
@ -130,8 +130,8 @@ class App extends Component {
|
||||
parityUri: 'http://localhost:8545',
|
||||
secretStoreUri: 'http://localhost:12001',
|
||||
threshold: 0,
|
||||
password: 'secret',
|
||||
address: '0x068ed00cf0441e4829d9784fcbe7b9e26d4bd8d0'
|
||||
password: 'node0',
|
||||
address: '0x00bd138abd70e2f00903268f3db08f2d25677c9e'
|
||||
})
|
||||
console.log('Finished loading contracts!')
|
||||
}
|
||||
|
@ -84,8 +84,8 @@ async componentDidMount() {
|
||||
parityUri: "http://localhost:8545",
|
||||
secretStoreUri: "http://localhost:12001",
|
||||
threshold: 0,
|
||||
password: "secret",
|
||||
address: "0x068ed00cf0441e4829d9784fcbe7b9e26d4bd8d0",
|
||||
password: "node0",
|
||||
address: "0x00bd138abd70e2f00903268f3db08f2d25677c9e",
|
||||
})
|
||||
console.log("Finished loading contracts!")
|
||||
}
|
||||
@ -118,8 +118,8 @@ class App extends Component {
|
||||
parityUri: 'http://localhost:8545',
|
||||
secretStoreUri: 'http://localhost:12001',
|
||||
threshold: 0,
|
||||
password: 'secret',
|
||||
address: '0x068ed00cf0441e4829d9784fcbe7b9e26d4bd8d0'
|
||||
password: 'node0',
|
||||
address: '0x00bd138abd70e2f00903268f3db08f2d25677c9e'
|
||||
})
|
||||
console.log('Finished loading contracts!')
|
||||
}
|
||||
|
@ -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 bank’s 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'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'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 it’s 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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
3. MetaMask will generate a secret backup phrase for you. Write it down, store it in a safe place, and click next.
|
||||
|
||||

|
||||
|
||||
4. Confirm your secret backup phrase and finish your MetaMask wallet set up!
|
||||
|
||||

|
||||
|
||||
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 Beginner’s 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.
|
@ -31,6 +31,7 @@
|
||||
links:
|
||||
- name: API reference
|
||||
url: /references/squid-java/
|
||||
- name: Plecos
|
||||
|
||||
- group: OceanDB
|
||||
items:
|
||||
|
@ -10,6 +10,8 @@
|
||||
link: /concepts/tools/
|
||||
- title: Testnets
|
||||
link: /concepts/testnets/
|
||||
- title: Wallet Basics
|
||||
link: /concepts/wallets/
|
||||
|
||||
- group: Architecture
|
||||
items:
|
||||
|
@ -2,12 +2,16 @@
|
||||
items:
|
||||
- title: Introduction
|
||||
link: /tutorials/introduction/
|
||||
- title: Wallets for Ocean Tokens
|
||||
link: /tutorials/wallets/
|
||||
- title: Get Ether and Ocean Tokens for Testnets
|
||||
- title: Set Up MetaMask
|
||||
link: /tutorials/metamask-setup/
|
||||
- title: Get Ether and Ocean Tokens
|
||||
link: /tutorials/get-ether-and-ocean-tokens/
|
||||
- title: Set Up Azure Storage
|
||||
link: /tutorials/azure-for-brizo/
|
||||
- title: Set Up Amazon S3 Storage
|
||||
link: /tutorials/amazon-s3-for-brizo/
|
||||
- title: Set Up On-Premise Storage
|
||||
link: /tutorials/on-premise-for-brizo/
|
||||
|
||||
- group: React App Tutorial (squid-js)
|
||||
items:
|
||||
|
2
external/dev-ocean
vendored
2
external/dev-ocean
vendored
@ -1 +1 @@
|
||||
Subproject commit fb6e9629ff60fc71baa9601ab449983352e8372e
|
||||
Subproject commit f7f8e10a5babd85fca48d2df40f6165cfb68fdff
|
Loading…
Reference in New Issue
Block a user