Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Create the Getting-Started page #188

Open
wants to merge 7 commits into
base: feature/docs-overhaul
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
331 changes: 331 additions & 0 deletions getting-started
Original file line number Diff line number Diff line change
@@ -0,0 +1,331 @@
## Getting Started {#getting-started}

This section will cover:



* Our networks
* Our tokens, the conversion of one token to the other, and the associated migration from one network to another
* Our wallets
* Staking (delegating) either one token or the other
1. Overview: Networks, Tokens, Staking


#### \
Networks {#networks}

There are **2 native Fetch.ai networks**: \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not quite correct we have quite a few networks:

https://docs.fetch.ai/ledger_v2/networks/

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not quite correct we have quite a few networks:

https://docs.fetch.ai/ledger_v2/networks/

Yes I thought some of them would be deprecated after full release of Stargate.





* The **Fetch.ai Stargate mainnet**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main net is on launchpad currently, but will be upgraded to the stargate version in the future. As this is, this is a little confusing I think.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main net is on launchpad currently, but will be upgraded to the stargate version in the future. As this is, this is a little confusing I think.

Ok, I thought the new version of the docs would be released after the Stargate upgrade, isn't supposed to be at the end of this week anymore?

* The **StargateWorld testnet **for **developers**
* In parallel, the **Ethereum** blockchain is also used **until complete migration to our mainnet**, planned for Q4 2021
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FET tokens on the ETH mainnet will be available for the foreseeable future. We expect to get more exchanges to support the native network in the future, but this is always a long term project.

We expect to have token bridges between ETH and Native (as well as other networks in the future) from some time to come

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FET tokens on the ETH mainnet will be available for the foreseeable future. We expect to get more exchanges to support the native network in the future, but this is always a long term project.

I know but isn't it supposed to be ended in Q4? I mentioned Q4 as the time where ERC-20 would disappear.

We expect to have token bridges between ETH and Native (as well as other networks in the future) from some time to come

Yes I made a whole section about the ETH-Native bridge, but ok I can mention that other bridges will come.



#### Tokens {#tokens}

Until complete migration to our mainnet in Q4 2021, 2 distinct FET tokens will be coexisting. \
They are exactly the same in all regards, aside from the blockchain they’re running on:



* Our **native FET**, running on our mainnet
* Our **temporary ERC-20 FET**, running on Ethereum until complete migration in Q4 2021.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not correct. We will have FET on ETH and Native for the foreseeable future. In each network there will be the same total supply and it is the job of the bridges to ensure that the liquid tokens are locked up on the corresponding networks.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, but then if there will be FET still running on Ethereum after Q4, what is the point of the FET complete migration in Q4?

* During that complete migration, ERC-20 FET that have not been manually migrated to mainnet will be automatically migrated, become native FET, ERC-20 FET will no longer exist and the Ethereum smart contracts will be stopped.
* Native FET can be stored on **dedicated wallets**.
* ERC-20 FET can be stored on any Ethereum wallet, but should be stored on a Chrome MetaMask extension account to migrate them to mainnet, or to stake them.


#### Staking {#staking}



* Fetch.ai’s nodes are run by selected **validators**, staking a big amount of FET.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not quite true. The mechanics of the staking mean that the validators with the highest delegated stake (either by the validator themselves or the delegations by the community) will be selected as a validator.

Copy link
Author

@jeremiegrr jeremiegrr Jul 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry but I don't really get how it opposes to what I wrote.

* You can **delegate** your FET to validators, and receive **rewards** in FET.
* When you are a delegator, when we talk about staking, we are actually talking about delegating your FET to a validator, and receiving rewards from the validator.
* You can stake both your native FET, that will eventually be the only ones in circulation, and your ERC-20 FET until they disappear. \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again ERC-20 FET will not disappear

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok but then is the complete migration planned for staked FET only?

There are slightly different conditions depending on which tokens you are staking. For the details, see section f) Staking.
2. Wallets

At the time of writing (Q3 2021), most FET tokens in circulation or offered by exchanges are still ERC-20 FET on Ethereum, but you can already convert them to native FET and transfer them to mainnet.

Your storage options for **native FET** on mainnet, detailed below, are:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Storage options are not really a good description for this. It is much more about management of public/private key pairs really.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, then I need more info on that.




* Our **Chrome browser extension wallet**, based on the **Keplr open-source wallet**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current chrome browser wallet that we announced a few weeks ago does not support the current mainnet (launchpad) version. Instead it only supports stargate (the next release) so can only be used on the testnets currently (until we have done the network upgrade)

Copy link
Author

@jeremiegrr jeremiegrr Jul 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but won't Stargate be running already when the browser extension is publicly released? I was basing the docs on the idea that they would be released at the earliest in August, when the Stargate upgrade would have happened already.

* Our **Fetch.ai v2.0 mainnet** **wallet**, with your **Ledger Nano** and our **block explorer**’s interface
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a little confusing. It is not really a wallet, it is just that our block explorer can talk via WebUSB to ledger devices. It would be clearer to say that if you install the cosmos application on your ledger devices that is the wallet

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, then how about:

  • Our Chrome browser extension wallet, based on the Keplr open-source wallet
  • Our Fetch.ai v2.0 mainnet wallet
  • Your Ledger Nano, using its Cosmos application and used on our block explorer’s interface

* The **Cosmostation app** for iOS and Android

Your storage options for **ERC-20 FET** are:



* A **MetaMask** account specifically on **Chrome**. This will be needed for any migration or staking process.
* Any **Ethereum wallet** will store your ERC-20 FET, with or without a hardware wallet, but if you store them on any wallet other than a Chrome MetaMask account, you won’t be able to stake them nor to migrate them to mainnet.

The process for converting your ERC-20 FET to native FET and storing them on our mainnet always follows the same general steps, detailed below for each option:



1. Have your ERC-20 FET stored on a **Chrome MetaMask** account
2. Create a **Fetch mainnet address and wallet**
3. Visit our **Ethereum ‹—› Mainnet bridge**
4. Use our bridge interface to **convert** your ERC-20 FET into native FET, and **send** them to the chosen address. \
The bridge will perform these 2 operations with one single command on your side.

**<span style="text-decoration:underline;">CAUTION</span>: **You can **NOT** send your ERC-20 FET directly from your Ethereum address to your Fetch.ai address, even if you send them from a MetaMask address. If you do so, you will **<span style="text-decoration:underline;">LOSE YOUR FUNDS</span> with no possible recovery**. \
You absolutely need to use our **dedicated bridge,** as detailed below in d).



3. Creating a mainnet address for your native FET

Let’s review your 3 options to create a wallet address on mainnet, and to store your native FET there:



* Sending your native FET to mainnet

Cosmostation is the mobile application of choice to store your native FET on your phone.



1. Download the Cosmostation app on [iOS](https://apps.apple.com/us/app/cosmostation/id1459830339) or [Android](https://play.google.com/store/apps/details?id=wannabit.io.cosmostaion&hl=en&gl=US)

Please note the android version has a bug on how much you can delegate to the validators, and this is being worked on by the Cosmostation team.

2. Create a Cosmostation account. Remember to choose “Fetch Mainnet” when you’re asked to choose a Cosmo network.
3. You now have a **Fetch mainnet address**, and can move on to the next section, d) Sending your FET on your mainnet wallet.
* Using our Keplr-based Chrome browser extension
1. Open your Chrome browser.
2. Go to our Chrome extension’s page on the Chrome Web Store, and install it. \
Chrome will ask you to give the extension certain authorizations, accept it.
3. Explanations here, waiting for updated features
4. You now have a **Fetch mainnet address**, and can move on to the next section, d) Sending your FET on your mainnet wallet
* **Using our Fetch.ai v2.0 mainnet** **wallet, with your Ledger Nano and our Block explorer interface**
1. You need a set up [Ledger Nano](https://www.ledger.com/) hardware wallet.
2. Install the [Cosmos app](https://support.ledger.com/hc/en-us/articles/360013713840-Cosmos-ATOM-) on your Ledger Nano.
3. Install our Fetch.ai v2.0 mainnet wallet on Chrome (missing link)
4. Visit our [Fetchhub](https://explore-fetchhub.fetch.ai/) block explorer on Chrome (use Chrome over any other browser).
5. Connect your Ledger Nano to your computer, unlock it with your PIN, and then on your Ledger Nano, open the Cosmos application.
6. Back to our [block explorer](https://explore-fetchhub.fetch.ai/) page, click on the “key” icon in the top-right corner of the page, next to the language choice. This will ask for your permission to connect to the Ledger Nano. After approving the connection, you will be “signed into” the block explorer. After connecting, the “key” icon will become an avatar or “person” icon.
7. (**Windows users only**: If you receive the error message ‘unable to reset device’, then in the address bar type the this text into the address bar: chrome://flags/#new-usb-backend, and then disable the ‘Enable new USB backend’ icon at the top of the page).
8. To find your address, now click on the “person” icon. It will prompt you with: “You are signed in as…”, followed by your address, which should begin with “fetch1” and contains a further 38 letters and numbers.
9. To access your address, open the Fetch.ai v2.0 wallet’s extension, and connect to it with your Ledger. Do the whole process to check it all works fine before sending your tokens there, to make sure that you don’t lose them.
10. You now have a **Fetch mainnet address**, and can move on to the next section, d) Sending your FET on your mainnet wallet


### Converting your ERC-20 FET to native FET

Now that you have set up a mainnet wallet and address in the previous section, you need to send your FET to this wallet using our dedicated bridge interface (and only with our interface). \
Our bridge will also perform the conversion from ERC-20 FET to native FET during the transfer operation.



1. You need your ERC-20 FET to be on a **Chrome MetaMask account**. \
If they are anywhere else, send them on a MetaMask account managed with the [Chrome extension](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en). \
Use MetaMask’s Chrome extension over the Firefox extension, to avoid bugs with Firefox in the next steps. \
If you don’t know how to set up a MetaMask account, visit [MetaMask’s official website](https://metamask.io/).
2. In case your FET don’t appear on your MetaMask account, go to the Assets panel, click on Add token, click on “Custom”, and add the ERC20 FET smart contract address: 0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85. Finally, click Add token.
3. Visit our [Ethereum-Mainnet bridge](https://token-bridge.fetch.ai/).
4. If your MetaMask wallet is not connected, click the Unlock button. A MetaMask pop up will appear, you will select the MetaMask wallet where your ERC-20 FET are currently stored, and click Connect.

\
Now, this is what you have on your screen:


\





<p id="gdcalert2" ><span style="color: red; font-weight: bold">>>>>> gd2md-html alert: inline image link here (to images/image2.png). Store image on your image server and adjust path/filename/extension if necessary. </span><br>(<a href="#">Back to top</a>)(<a href="#gdcalert3">Next alert</a>)<br><span style="color: red; font-weight: bold">>>>>> </span></p>


![alt_text](images/image2.png "image_tooltip")


5. Your MetaMask wallet’s Ethereum address should automatically appear in the **Ethereum address field**. \
This is the Ethereum address you will send your ERC-20 FET from, to your native Fetch address created above. \
If your Ethereum address doesn’t automatically appear in our bridge’s interface, copy it from your MetaMask interface, and paste it in our bridge in the Ethereum address field.
6. Choose the amount of ERC-20 FET that you want to convert into native FET and send to mainnet.
7. Then, you will have to choose the destination native address: paste here the **Fetch mainnet address** that you have created in the previous step in c), either with the Cosmostation app, our Chrome extension, or your Ledger Nano and our block explorer.
8. Once all the fields are filled, click on Transfer.
9. This will trigger a transaction that will ask you to “approve” the bridge contract for holding your tokens. Approve it.
10. If you are using a Ledger Nano, be sure to also confirm your transaction on your Ledger.
11. You will be asked to sign a second transaction by the bridge UI, approve it.

Once the transaction is finalised on Ethereum, the migration to mainnet will take between 2 and 10 minutes. \
You can track the arrival of your tokens on mainnet using the [Cosmostation](https://www.mintscan.io/fetchai/) or our [block explorer](https://explore-fetchhub.fetch.ai/).

**Congratulations!** Your ERC-20 FET have now turned into **native FET**, and are **stored on mainnet** on your wallet of choice.


###
Convert your native FET to ERC-20 FET

Should you want to **convert back your native FET to ERC-20 FET**, and transfer them **from mainnet to Ethereum**, use our [bridge’s UI](https://token-bridge.fetch.ai/) with the same process as above, simply using the Native to ETH panel, instead of the ETH to Native panel.

Please remember that this operation can only be performed until complete migration from Ethereum to mainnet, in Q4 2021, where there won’t be any ERC-20 FET anymore.


###
Claiming your native FET tokens after the migration period {#f-claiming-your-native-fet-tokens-after-the-migration-period}

In Q4 2021, the ERC-20 FET that are still in circulation will be **automatically migrated to mainnet** and converted to native FET.

If you haven’t converted your own Ethereum ERC-20 FET to native FET by yourself during the migration period, you will be able to use a dedicated interface at any time to claim your native FET, corresponding to the amount of ERC-20 FET you were owning before the complete migration.



* Token Migration
* Selecting the correct key derivation path in wallet.

_Jon mentioned this point in his plan but when will the user need that?_


###
\
Staking {#f-staking}

You can stake your **native FET** on our **Chrome extension wallets**, or with the **Cosmostation** app.

See previous section to first set them up and convert your ERC-20 FET to native FET.

You can stake your **ERC-20 FET** using **MetaMask**, until complete migration to mainnet during Q4 2021.


#### Staking native FET vs staking ERC-20 FET {#staking-native-fet-vs-staking-erc-20-fet}



* Staking native FET on mainnet

**Pros:**



* Higher APR than on Ethereum
* Benefits on the longer term, such as future stakedrops
* Extremely low gas fees
* Accumulate rewards monthly / weekly / hourly
* Reinvest your rewards to earn more
* The Cosmostation Wallet UI is easy to use
* Welcome to the future: you’re already staking the right token on the right network

**Cons:**



* You must first move your FET from Ethereum to mainnet
* Exchanges are still mostly listing ERC-20 FET (we’re working on it), and there’s no direct transfer possible from an exchange to your native wallet (see previous section for the correct process)



*
Staking ERC-20 FET on Ethereum
**Pros:**



* Guaranteed 10% APY of FET tokens
* You are eligible for Phoenix rewards in Mettalex and Atomix tokens
* If you are already staking your ERC-20 FET on Ethereum, you can keep doing it without anything to update, neither having to move your tokens to mainnet

**Cons:**



* Lower APR than on Mainnet
* Congestion on ETH network leading to high gas fees, sometimes more than $100 per transaction (check ETH gas fees [here](https://www.gasnow.org/)))


#### How to stake native FET {#how-to-stake-native-fet}



* Staking with our Keplr Chrome extension

Waiting for the feature



* Staking with our Fetch.ai v2.0 Mainnet wallet paired with your Ledger Nano, using our block explorer

If you chose that option, in the previous section you have created a Fetch.ai v2.0 wallet, and paired it with your Ledger Nano.



1. Connect your Ledger Nano to your computer, unlock it with your PIN, and still on your Ledger, launch the **Cosmos app**.
2. Visit our **[block explorer](https://explore-fetchhub.fetch.ai/)**’s interface on Chrome.
3. The interface will ask you to connect your Ledger to our block explorer. Connect it.
4. Click on the **Validators** tab.
5. You can see information about the various validators and the rewards you’ll get from them. You can also find more details about each of them on our Know your Validator page (waiting for publication).

The delegation of tokens to a validator provides you with a reward for helping to secure the network.

6. **Select** the validator that you wish to delegate stake towards.
7. In the **Voting Power** panel, press the **Delegate** button.
8. This will trigger a pop-up that prompts you to **select a delegation amount**, and then **sign the transaction** with your Ledger Nano device.
9. After delegating tokens, Redelegate and Undelegate buttons will appear.
10. If you want to **stop staking and get your tokens back**, press the Undelegate button, which will trigger the tokens to be returned after a **21 days lock** period.
11. If you want to **delegate your tokens to a different validator**, press the Redelegate button and sign the transaction.
12. The **rewards** that you receive from delegating tokens to a validator are shown in the **account page**.
13. If you want to **send your rewards to your wallet address**, use the Withdraw button and sign the transaction. Oppositely to getting your staked tokens back, there is **no lock period** to receive your rewards.
14. If you want to **add your rewards to your amount of stokens staked**, you need to trigger a **new Delegate transaction** as seen above, and to enter the additional amount that you want to stake.
15. Should you wish so, you can delegate various amounts to various validators at the same time.
* Staking with Cosmostation

Once your native FET are stored on your Cosmostation wallet as seen in the previous section, follow the Cosmostation interface to delegate them to a validator that will stake them for you, and give you rewards for that operation.

To choose your validator, you will find information on each of them on our block explorer [here](https://explore-fetchhub.fetch.ai/validators), and for more details, visit on our Know your validator page here (waiting for publication).


#### How to stake ERC-20 FET {#how-to-stake-erc-20-fet}



1. Have your ERC-20 FET stored on a **MetaMask** account. \
If they are stored anywhere else (on an exchange or on another Ethereum wallet), [create a MetaMask account](https://metamask.io/) on **Chrome** and send them there.
2. Visit our **staking interface** on [staking.fetch.ai](staking.fetch.ai).
3. It will connect to your MetaMask account, and then display Fetch.ai’s own interface:



<p id="gdcalert3" ><span style="color: red; font-weight: bold">>>>>> gd2md-html alert: inline image link here (to images/image3.png). Store image on your image server and adjust path/filename/extension if necessary. </span><br>(<a href="#">Back to top</a>)(<a href="#gdcalert4">Next alert</a>)<br><span style="color: red; font-weight: bold">>>>>> </span></p>


![alt_text](images/image3.png "image_tooltip")




4. To **stake tokens**, you need to:
* First, in the central **Unstaked Tokens** panel, use the **Top-up button** to transfer tokens from your MetaMask wallet to the staking smart contract. \
They are then committed to staking, but not staked yet. \
You are not required to commit all of your tokens to the staking smart contract.
* Once this is done, in the right-side **Staked Tokens** panel, use the **Stake button**. \
This will allow you to stake all or a part of the tokens you have committed to the staking smart contract. You are not required to stake all of your tokens that are committed to the smart contract.
* Oppositely to the native FET staking operation, when staking ERC-20 FET, you don’t have the option to choose a specific validator.
5. To **unstake tokens**, you need to:
* Use the blue **Remove** button
* Wait for a **21 days lock period** before your tokens are effectively unstaked and available for you.
* Your tokens will then appear in the central **Unstaked tokens** panel. They are removed from staking, but not yet back on your MetaMask wallet.
* To have them back on your MetaMask wallet, click the blue **Withdraw button**.
6. For each of these steps, you will be asked to **sign** a corresponding transaction. \
If your MetaMask account is paired with a Ledger Nano, be sure to also always sign the transactions on it.

On the left, the **Overview** **panel** displays:



* **Total FET**: your staked tokens + your non-staked tokens, whether the latter ones are on your MetaMask wallet, or committed to the contract but not staked
* **In MetaMask wallet**: your tokens that are neither staked, nor committed to the contract, and are therefore available in your MetaMask wallet
* **In Contract**: your tokens that are committed to the contract, those staked + those committed but not staked
* **Available**: your tokens that are committed to the contract, but not staked, and are therefore available for withdrawal at any time
* **Locked**: the tokens you have asked to unstake, but that are still in their 21 days lock period
* **Staked**: your tokens that are currently being staked.