diff --git a/getting-started b/getting-started new file mode 100644 index 000000000..bf6711c1f --- /dev/null +++ b/getting-started @@ -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**: \ + + + + +* The **Fetch.ai Stargate mainnet** +* The **StargateWorld testnet **for **developers** +* In parallel, the **Ethereum** blockchain is also used **until complete migration to our mainnet**, planned for Q4 2021 + + +#### 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. +* 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. +* 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. \ +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: + + + +* Our **Chrome browser extension wallet**, based on the **Keplr open-source wallet** +* Our **Fetch.ai v2.0 mainnet** **wallet**, with your **Ledger Nano** and 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. + +**CAUTION: **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 **LOSE YOUR FUNDS 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: + + + \ + + + + + +

>>>>> gd2md-html alert: inline image link here (to images/image2.png). Store image on your image server and adjust path/filename/extension if necessary.
(Back to top)(Next alert)
>>>>>

+ + +![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: + + + +

>>>>> gd2md-html alert: inline image link here (to images/image3.png). Store image on your image server and adjust path/filename/extension if necessary.
(Back to top)(Next alert)
>>>>>

+ + +![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.