diff --git a/README.md b/README.md index 7d286247a1..d1fa074bb9 100644 --- a/README.md +++ b/README.md @@ -204,14 +204,18 @@ There are three kinds of image assets used in the docs. The following is a consistent case-sensitive collection of Oasis-related terms, and their usage including the articles: +- Bech32 - c10l Check out the c10l-hello-world folder for the confidential version of the original example. - c13y EVM with added c13y. +- CBOR - Cipher - consensus layer The consensus layer makes sure that the ParaTimes tick. +- Ed25519 + The consensus layer only supports the Ed25519 signature scheme. - Emerald - dApp Emerald supports writing dApps. DApp is a modern distributed application. @@ -224,6 +228,8 @@ and their usage including the articles: - Oasis CLI You can use the Oasis CLI to set up your wallet. - Oasis Core +- Oasis Network + The Oasis Network is a proof-of-stake network. - OPL Oasis Privacy Layer supports privacy of dApps on all EVM chains. - ParaTime @@ -234,11 +240,15 @@ and their usage including the articles: Please send 10.00000000 ROSE to the address above. - runtime - Sapphire +- secp256k1 + The Koblitz curve secp256k1 parameters are deterministic. +- Sr25519 - TEST Please send 10.00000000 TEST to the address above. - trusted execution environment - validator - validator node +- Wasm - Web3 gateway We strongly suggest that you set up your own Web3 gateway for your Sapphire endpoint. diff --git a/docs/dapp/cipher/README.mdx b/docs/dapp/cipher/README.mdx index 561f6c63b6..ba99e32798 100644 --- a/docs/dapp/cipher/README.mdx +++ b/docs/dapp/cipher/README.mdx @@ -85,7 +85,7 @@ public list above, open an issue at [github.com/oasisprotocol/docs]. ## See also + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +DepositWithdrawalTransferTransfer diff --git a/docs/general/images/wallet/ext/create_wallet.png b/docs/general/images/wallet/ext/create_wallet.png new file mode 100644 index 0000000000..9e447bb14e Binary files /dev/null and b/docs/general/images/wallet/ext/create_wallet.png differ diff --git a/docs/general/images/wallet/ledger/wallet_ext_accounts_ledger.png b/docs/general/images/wallet/ext/ledger1.png similarity index 100% rename from docs/general/images/wallet/ledger/wallet_ext_accounts_ledger.png rename to docs/general/images/wallet/ext/ledger1.png diff --git a/docs/general/images/wallet/ledger/wallet_ext_import2.png b/docs/general/images/wallet/ext/ledger2.png similarity index 100% rename from docs/general/images/wallet/ledger/wallet_ext_import2.png rename to docs/general/images/wallet/ext/ledger2.png diff --git a/docs/general/images/wallet/ledger/wallet_ext_import3.png b/docs/general/images/wallet/ext/ledger3.png similarity index 100% rename from docs/general/images/wallet/ledger/wallet_ext_import3.png rename to docs/general/images/wallet/ext/ledger3.png diff --git a/docs/general/images/wallet/ledger/wallet_web_send_confirm_tx_ledger.jpg b/docs/general/images/wallet/ledger/ledger_oasis_approve.jpg similarity index 100% rename from docs/general/images/wallet/ledger/wallet_web_send_confirm_tx_ledger.jpg rename to docs/general/images/wallet/ledger/ledger_oasis_approve.jpg diff --git a/docs/general/images/wallet/ledger/live_allow_ledger_manager.png b/docs/general/images/wallet/ledger/live_allow_ledger_manager.png index 163c42123d..2722486696 100644 Binary files a/docs/general/images/wallet/ledger/live_allow_ledger_manager.png and b/docs/general/images/wallet/ledger/live_allow_ledger_manager.png differ diff --git a/docs/general/images/wallet/ledger/live_oasis_app.png b/docs/general/images/wallet/ledger/live_oasis_app.png deleted file mode 100644 index fe5148a381..0000000000 Binary files a/docs/general/images/wallet/ledger/live_oasis_app.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/live_search_apps.png b/docs/general/images/wallet/ledger/live_search_apps.png index 58b9adb92a..fb7dd76b29 100644 Binary files a/docs/general/images/wallet/ledger/live_search_apps.png and b/docs/general/images/wallet/ledger/live_search_apps.png differ diff --git a/docs/general/images/wallet/ledger/live_search_results_oasis_install.png b/docs/general/images/wallet/ledger/live_search_results_oasis_install.png index f81efd55aa..4d43675a39 100644 Binary files a/docs/general/images/wallet/ledger/live_search_results_oasis_install.png and b/docs/general/images/wallet/ledger/live_search_results_oasis_install.png differ diff --git a/docs/general/images/wallet/ledger/live_unlock_ledger.png b/docs/general/images/wallet/ledger/live_unlock_ledger.png index 6a9eb65957..86ae2129a6 100644 Binary files a/docs/general/images/wallet/ledger/live_unlock_ledger.png and b/docs/general/images/wallet/ledger/live_unlock_ledger.png differ diff --git a/docs/general/images/wallet/ledger/wallet_ext_import1.png b/docs/general/images/wallet/ledger/wallet_ext_import1.png deleted file mode 100644 index bced5ca076..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_ext_import1.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_account_address.png b/docs/general/images/wallet/ledger/wallet_web_account_address.png deleted file mode 100644 index 400029a873..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_account_address.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_open_ledger.png b/docs/general/images/wallet/ledger/wallet_web_open_ledger.png deleted file mode 100644 index 872fee18a9..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_open_ledger.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_open_ledger_account.png b/docs/general/images/wallet/ledger/wallet_web_open_ledger_account.png deleted file mode 100644 index dea778bb7f..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_open_ledger_account.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_received_rose_on_ledger_account.png b/docs/general/images/wallet/ledger/wallet_web_received_rose_on_ledger_account.png deleted file mode 100644 index f6ebfb1006..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_received_rose_on_ledger_account.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_select_accounts_to_open.png b/docs/general/images/wallet/ledger/wallet_web_select_accounts_to_open.png deleted file mode 100644 index 4e830c061c..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_select_accounts_to_open.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_select_ledger_device_connect.png b/docs/general/images/wallet/ledger/wallet_web_select_ledger_device_connect.png deleted file mode 100644 index 83f125397e..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_select_ledger_device_connect.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_send_confirm_tx.png b/docs/general/images/wallet/ledger/wallet_web_send_confirm_tx.png deleted file mode 100644 index 437cb0e48d..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_send_confirm_tx.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_send_rose.png b/docs/general/images/wallet/ledger/wallet_web_send_rose.png deleted file mode 100644 index 3ea42dc668..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_send_rose.png and /dev/null differ diff --git a/docs/general/images/wallet/ledger/wallet_web_send_verify_balance.png b/docs/general/images/wallet/ledger/wallet_web_send_verify_balance.png deleted file mode 100644 index d68bbd94be..0000000000 Binary files a/docs/general/images/wallet/ledger/wallet_web_send_verify_balance.png and /dev/null differ diff --git a/docs/general/images/wallet/web/01_home.png b/docs/general/images/wallet/web/01_home.png deleted file mode 100644 index 9eea791958..0000000000 Binary files a/docs/general/images/wallet/web/01_home.png and /dev/null differ diff --git a/docs/general/images/wallet/web/02_this_is_your_mnemonic.png b/docs/general/images/wallet/web/02_this_is_your_mnemonic.png deleted file mode 100644 index a22085e5c8..0000000000 Binary files a/docs/general/images/wallet/web/02_this_is_your_mnemonic.png and /dev/null differ diff --git a/docs/general/images/wallet/web/03_confirm_your_mnemonic.png b/docs/general/images/wallet/web/03_confirm_your_mnemonic.png deleted file mode 100644 index ba843366b4..0000000000 Binary files a/docs/general/images/wallet/web/03_confirm_your_mnemonic.png and /dev/null differ diff --git a/docs/general/images/wallet/web/04_how_to_open_your_wallet.png b/docs/general/images/wallet/web/04_how_to_open_your_wallet.png deleted file mode 100644 index a6019979d5..0000000000 Binary files a/docs/general/images/wallet/web/04_how_to_open_your_wallet.png and /dev/null differ diff --git a/docs/general/images/wallet/web/05.1_open_with_mnemonics.png b/docs/general/images/wallet/web/05.1_open_with_mnemonics.png deleted file mode 100644 index 442f25ac4f..0000000000 Binary files a/docs/general/images/wallet/web/05.1_open_with_mnemonics.png and /dev/null differ diff --git a/docs/general/images/wallet/web/05.2_open_with_private_key.png b/docs/general/images/wallet/web/05.2_open_with_private_key.png deleted file mode 100644 index 556c3daa3c..0000000000 Binary files a/docs/general/images/wallet/web/05.2_open_with_private_key.png and /dev/null differ diff --git a/docs/general/images/wallet/web/06_toogle_between_light_and_dark_mode.png b/docs/general/images/wallet/web/06_toogle_between_light_and_dark_mode.png deleted file mode 100644 index 2d4a746cae..0000000000 Binary files a/docs/general/images/wallet/web/06_toogle_between_light_and_dark_mode.png and /dev/null differ diff --git a/docs/general/images/wallet/web/07_light_mode.png b/docs/general/images/wallet/web/07_light_mode.png deleted file mode 100644 index 05285647a3..0000000000 Binary files a/docs/general/images/wallet/web/07_light_mode.png and /dev/null differ diff --git a/docs/general/images/wallet/web/08_select_language.png b/docs/general/images/wallet/web/08_select_language.png deleted file mode 100644 index 6b15485b28..0000000000 Binary files a/docs/general/images/wallet/web/08_select_language.png and /dev/null differ diff --git a/docs/general/images/wallet/web/account-popup-theme-dark.png b/docs/general/images/wallet/web/account-popup-theme-dark.png new file mode 100644 index 0000000000..c4fed74b75 Binary files /dev/null and b/docs/general/images/wallet/web/account-popup-theme-dark.png differ diff --git a/docs/general/images/wallet/web/active_delegations.png b/docs/general/images/wallet/web/active_delegations.png deleted file mode 100644 index f5a1514669..0000000000 Binary files a/docs/general/images/wallet/web/active_delegations.png and /dev/null differ diff --git a/docs/general/images/wallet/web/buy.png b/docs/general/images/wallet/web/buy.png new file mode 100644 index 0000000000..3f941924ed Binary files /dev/null and b/docs/general/images/wallet/web/buy.png differ diff --git a/docs/general/images/wallet/web/create_new_wallet_mnemonic1.png b/docs/general/images/wallet/web/create_new_wallet_mnemonic1.png new file mode 100644 index 0000000000..dad1672a24 Binary files /dev/null and b/docs/general/images/wallet/web/create_new_wallet_mnemonic1.png differ diff --git a/docs/general/images/wallet/web/create_new_wallet_mnemonic2.png b/docs/general/images/wallet/web/create_new_wallet_mnemonic2.png new file mode 100644 index 0000000000..5adfce0d92 Binary files /dev/null and b/docs/general/images/wallet/web/create_new_wallet_mnemonic2.png differ diff --git a/docs/general/images/wallet/web/create_new_wallet_select_accounts.png b/docs/general/images/wallet/web/create_new_wallet_select_accounts.png new file mode 100644 index 0000000000..a063865ca3 Binary files /dev/null and b/docs/general/images/wallet/web/create_new_wallet_select_accounts.png differ diff --git a/docs/general/images/wallet/web/delegate1.png b/docs/general/images/wallet/web/delegate1.png new file mode 100644 index 0000000000..fe642116a1 Binary files /dev/null and b/docs/general/images/wallet/web/delegate1.png differ diff --git a/docs/general/images/wallet/web/delegate2.png b/docs/general/images/wallet/web/delegate2.png new file mode 100644 index 0000000000..4e7d8cc26b Binary files /dev/null and b/docs/general/images/wallet/web/delegate2.png differ diff --git a/docs/general/images/wallet/web/delegate3.png b/docs/general/images/wallet/web/delegate3.png new file mode 100644 index 0000000000..c24cd1bfc1 Binary files /dev/null and b/docs/general/images/wallet/web/delegate3.png differ diff --git a/docs/general/images/wallet/web/deposit1.png b/docs/general/images/wallet/web/deposit1.png new file mode 100644 index 0000000000..59f8970f7b Binary files /dev/null and b/docs/general/images/wallet/web/deposit1.png differ diff --git a/docs/general/images/wallet/web/deposit2.png b/docs/general/images/wallet/web/deposit2.png new file mode 100644 index 0000000000..edf44e77a7 Binary files /dev/null and b/docs/general/images/wallet/web/deposit2.png differ diff --git a/docs/general/images/wallet/web/deposit3.png b/docs/general/images/wallet/web/deposit3.png new file mode 100644 index 0000000000..d5c1ba4ae8 Binary files /dev/null and b/docs/general/images/wallet/web/deposit3.png differ diff --git a/docs/general/images/wallet/web/deposit4.png b/docs/general/images/wallet/web/deposit4.png new file mode 100644 index 0000000000..66aaa7ec6d Binary files /dev/null and b/docs/general/images/wallet/web/deposit4.png differ diff --git a/docs/general/images/wallet/web/deposit5.png b/docs/general/images/wallet/web/deposit5.png new file mode 100644 index 0000000000..ef75373145 Binary files /dev/null and b/docs/general/images/wallet/web/deposit5.png differ diff --git a/docs/general/images/wallet/web/home.png b/docs/general/images/wallet/web/home.png new file mode 100644 index 0000000000..aeaee0e359 Binary files /dev/null and b/docs/general/images/wallet/web/home.png differ diff --git a/docs/general/images/wallet/web/import_wallet.png b/docs/general/images/wallet/web/import_wallet.png new file mode 100644 index 0000000000..e59591528b Binary files /dev/null and b/docs/general/images/wallet/web/import_wallet.png differ diff --git a/docs/general/images/wallet/web/import_wallet_ledger.png b/docs/general/images/wallet/web/import_wallet_ledger.png new file mode 100644 index 0000000000..df718ed18e Binary files /dev/null and b/docs/general/images/wallet/web/import_wallet_ledger.png differ diff --git a/docs/general/images/wallet/web/import_wallet_mnemonic.png b/docs/general/images/wallet/web/import_wallet_mnemonic.png new file mode 100644 index 0000000000..e3798d2f17 Binary files /dev/null and b/docs/general/images/wallet/web/import_wallet_mnemonic.png differ diff --git a/docs/general/images/wallet/web/import_wallet_private_key.png b/docs/general/images/wallet/web/import_wallet_private_key.png new file mode 100644 index 0000000000..592558e530 Binary files /dev/null and b/docs/general/images/wallet/web/import_wallet_private_key.png differ diff --git a/docs/general/images/wallet/web/no-profile-dark-theme.png b/docs/general/images/wallet/web/no-profile-dark-theme.png new file mode 100644 index 0000000000..3680646345 Binary files /dev/null and b/docs/general/images/wallet/web/no-profile-dark-theme.png differ diff --git a/docs/general/images/wallet/web/paratimes.png b/docs/general/images/wallet/web/paratimes.png new file mode 100644 index 0000000000..4fb8541d78 Binary files /dev/null and b/docs/general/images/wallet/web/paratimes.png differ diff --git a/docs/general/images/wallet/web/settings-my-accounts.png b/docs/general/images/wallet/web/settings-my-accounts.png new file mode 100644 index 0000000000..3d17f30edd Binary files /dev/null and b/docs/general/images/wallet/web/settings-my-accounts.png differ diff --git a/docs/general/images/wallet/web/stake.png b/docs/general/images/wallet/web/stake.png new file mode 100644 index 0000000000..185e2b4241 Binary files /dev/null and b/docs/general/images/wallet/web/stake.png differ diff --git a/docs/general/images/wallet/web/transfer.png b/docs/general/images/wallet/web/transfer.png new file mode 100644 index 0000000000..1186e07d48 Binary files /dev/null and b/docs/general/images/wallet/web/transfer.png differ diff --git a/docs/general/images/wallet/web/undelegate1.png b/docs/general/images/wallet/web/undelegate1.png new file mode 100644 index 0000000000..e5a8488792 Binary files /dev/null and b/docs/general/images/wallet/web/undelegate1.png differ diff --git a/docs/general/images/wallet/web/undelegate2.png b/docs/general/images/wallet/web/undelegate2.png new file mode 100644 index 0000000000..4ecfe4923c Binary files /dev/null and b/docs/general/images/wallet/web/undelegate2.png differ diff --git a/docs/general/images/wallet/web/undelegate3.png b/docs/general/images/wallet/web/undelegate3.png new file mode 100644 index 0000000000..72d9cfd704 Binary files /dev/null and b/docs/general/images/wallet/web/undelegate3.png differ diff --git a/docs/general/images/wallet/web/wallet.png b/docs/general/images/wallet/web/wallet.png new file mode 100644 index 0000000000..44c5ee7808 Binary files /dev/null and b/docs/general/images/wallet/web/wallet.png differ diff --git a/docs/general/images/wallet/web/withdraw1.png b/docs/general/images/wallet/web/withdraw1.png new file mode 100644 index 0000000000..bb78e0c81a Binary files /dev/null and b/docs/general/images/wallet/web/withdraw1.png differ diff --git a/docs/general/images/wallet/web/withdraw2.png b/docs/general/images/wallet/web/withdraw2.png new file mode 100644 index 0000000000..970fb85ad9 Binary files /dev/null and b/docs/general/images/wallet/web/withdraw2.png differ diff --git a/docs/general/images/wallet/web/withdraw3.png b/docs/general/images/wallet/web/withdraw3.png new file mode 100644 index 0000000000..b0ca7ef84f Binary files /dev/null and b/docs/general/images/wallet/web/withdraw3.png differ diff --git a/docs/general/images/wallet/web/withdraw4.png b/docs/general/images/wallet/web/withdraw4.png new file mode 100644 index 0000000000..658cd72efd Binary files /dev/null and b/docs/general/images/wallet/web/withdraw4.png differ diff --git a/docs/general/images/wallet/web/withdraw5.png b/docs/general/images/wallet/web/withdraw5.png new file mode 100644 index 0000000000..36c896636a Binary files /dev/null and b/docs/general/images/wallet/web/withdraw5.png differ diff --git a/docs/general/manage-tokens/README.mdx b/docs/general/manage-tokens/README.mdx index 63f167e33b..763c0c497a 100644 --- a/docs/general/manage-tokens/README.mdx +++ b/docs/general/manage-tokens/README.mdx @@ -1,30 +1,188 @@ -import DocCardList from '@theme/DocCardList'; -import {findSidebarItem} from '@site/src/sidebarUtils'; +--- +description: Transfer, deposit, withdraw and delegate your ROSE +--- -# Overview +# Manage your Tokens -This documentation will guide you on how to use your ROSE tokens, where to keep them, how to transfer them, how to stake/delegate them, and more. +The **native token** on Oasis Mainnet is called **ROSE**. The native token plays +a crucial security role in the proof-of-stake block validation protocol and in +participating on governance proposal votes. Staking rewards are paid out in the +native token and smart contract users pay gas fees with ROSE. -## Summary +## ROSE and the ParaTimes -* For **self-custody**, we recommend using one of our **official** [**Oasis Wallets**](oasis-wallets/README.mdx), [Web](oasis-wallets/web.md) or [Browser Extension](oasis-wallets/browser-extension.md). -* ROSE is supported via three [**custody providers**](holding-rose-tokens/custody-providers.md): [Copper.co](https://copper.co), [Anchorage](https://anchorage.com) and [Finoa](https://finoa.io). -* For extra security with self-custody, we recommend using the [Ledger](https://www.ledger.com) wallet with one of our official [Oasis Wallets](oasis-wallets/README.mdx). -* For experienced developers/power users, we offer [Oasis CLI Tools](cli/README.md). +The [Oasis Network architecture] separates between the **consensus** and the +**compute** layer. The consensus layer and each ParaTime running on the compute +layer have their own **ledger** containing, among other data, the **balances of +the accounts**. + +You can only use your ROSE token **one place at a time**—either on the consensus +layer or inside an individual ParaTime. Moving tokens from the consensus layer +to a ParaTime is a **deposit** and moving them from a ParaTime back to +the consensus layer is a **withdrawal** (see [ADR-3] for technical +specifications). You can **transfer** tokens from your account to another +account only, if both accounts are either on the consensus layer or inside the +same ParaTime. Besides moving the tokens across layers and accounts, you can also +**[delegate tokens]** to a validator and **earn passive income** as a reward. + +![Deposits, withdrawals, transfers](../images/manage-tokens/transfer_deposit_withdrawal.svg) + +[delegate tokens]: staking-and-delegating.md +[ADR-3]: ../../adrs/0003-consensus-runtime-token-transfer.md +[Oasis Network architecture]: ../oasis-network/README.mdx + +## The Wallets + +To sign the token-related transactions such as transfers, deposits, withdrawals +and delegations described above, you need a **private key** tied to the +corresponding account. Your keys are stored in *[crypto wallets]*. + +[crypto wallets]: https://en.wikipedia.org/wiki/Cryptocurrency_wallet :::caution -For your own security and peace of mind, please only use wallets that are listed in our official documentation. Any other wallets are likely unofficial and may be subject to critical security vulnerabilities and other technical issues. Using wallets that not listed in our official documentation could result in the permanent loss of your ROSE tokens. +For your own security and peace of mind, please only use the wallets that are +listed here. **Using unofficial wallets can result in the permanent loss of your +ROSE!** ::: -## Quick Navigation +### Non-Custodial Oasis Wallets + +The Oasis team developed the following **non-custodial wallets** for you. This +means that the keys for managing the tokens are **stored on your device** such +as a laptop or a mobile phone and **you are responsible to keep it safe**: + +- **[Oasis ROSE Wallet - Web]**: Runs as a web application in your web browser, the private keys are encrypted + with a password and stored inside your Browser's local store. + +- **[Oasis ROSE Wallet - Browser extension]**: Runs as an extension to your Chrome-based browser, the private keys are + encrypted with a password and stored inside your Browser's encrypted store. + +- **[Oasis CLI]**: Runs in a command line, suitable for automation, the private keys are + encrypted by a password and stored inside your home folder. + +[Oasis ROSE Wallet - Web]: oasis-wallets/web.mdx +[Oasis ROSE Wallet - Browser extension]: oasis-wallets/browser-extension.mdx +[Oasis CLI]: cli/README.md + +### MetaMask + +[MetaMask] is probably the most-known crypto wallet. However, it is an +**EVM-compatible** wallet. This means **you can only use it to check the account +balances and sign transactions on Sapphire and Emerald chains**. You cannot use +it, for example, to sign **consensus layer transactions** or perform +**deposits** and **withdrawals** to and from ParaTimes. + +You can add the Sapphire RPC endpoint by clicking on the "Add to MetaMask" +button next to your preferred Mainnet endpoint provider in the [Sapphire] +chapter. Similarly, you will find a list of RPC endpoints for Emerald on the +[Emerald] page. + +![Metamask - Adding Sapphire Mainnet Network Configuration](../images/wallet/metamask/settings.png) + +[MetaMask]: https://metamask.io/download/ +[Sapphire]: ../../dapp/sapphire/README.mdx#rpc-endpoints +[Emerald]: ../../dapp/emerald/README.mdx#rpc-endpoints + +### Ledger + +The wallets above are just carefully programmed computer programs that store +your keys (in an encrypted form) somewhere on your disk and then use them to +sign the transactions. However, if your device gets infected with a piece of +malicious software (malware, key loggers, screen captures), **the password to +decrypt your private keys may be obtained and your private keys stolen**. + +To mitigate such attacks, a **hardware wallet** can be used. This is a physical +device which stores your private key and which is only accessed when you send +the hardware wallet a transaction to be signed. The transaction is then decoded, +shown on the hardware wallet screen for a user to verify and if the user agrees, +the transaction is signed and sent back to your computer or mobile device to be +submitted. The Oasis team **integrated support for Ledger hardware wallets into all Oasis +wallets**. Check out a [special chapter][Ledger] devoted to the Ledger wallet. + +[Ledger]: holding-rose-tokens/ledger-wallet.md + +### Custodial Services + +It is up to you to pick the right strategy for keeping the private key of your +account holding your tokens safe. Some users may decide to trust their tokens to +a **custody provider**. You can read more about those in the +[Custody providers][custody-providers] chapter. + +[custody-providers]: holding-rose-tokens/custody-providers.md - +## Account Formats and Signature Schemes + +Transactions on the consensus layer must be signed using the **ed25519 +signature scheme**. The addresses on the consensus layer use the +**[Bech-32 encoding]** and you can recognize them by a typical `oasis1` prefix. + +ParaTimes can implement arbitrary signature schemes and address encodings. For +example, since the Sapphire and Emerald ParaTimes are EVM-compatible, they +implement the **secp256k1** scheme and prefer the **hex-encoded** +addresses and private keys starting with `0x`. + +The table below summarizes the current state of the address formats, signature +schemes and compatible wallets. + +| Consensus or ParaTime | Address Format | Digital Signature Scheme | Supported Wallets | +|-----------------------|----------------|-----------------------------|-------------------------------------------------------------| +| Consensus | `oasis1` | ed25519 | | +| Sapphire | `0x`, `oasis1` | secp256k1, ed25519, sr25519 | | +| Cipher | `oasis1` | secp256k1, ed25519, sr25519 | | +| Emerald | `0x`, `oasis1` | secp256k1, ed25519, sr25519 | | + +[Bech-32 encoding]: https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki#bech32 + +## Obtaining ROSE + +The most common way to obtain ROSE is by buying it on a centralized +[cryptocurrency exchange]. At time of writing this chapter, all exchanges +operated solely on the **consensus layer**. This means that you can only move +the tokens in or out of the exchange using **your consensus account**. + +An alternative way to obtain ROSE is by swapping another cryptocurrency with +ROSE on an on-chain exchange also known as **a [decentralized exchange] (DEX)**. +At time of writing at least one such exchange is operating on Sapphire. In this +case, your originating token is sent to the contract address on the source chain +and the payout is made to **your account on Sapphire**. + +[cryptocurrency exchange]: https://en.wikipedia.org/wiki/Cryptocurrency_exchange +[decentralized exchange]: https://en.wikipedia.org/wiki/Decentralized_finance#Decentralized_exchanges + +## Check your account + +To check the balance of your consensus account, you can use the +[Oasis Scan](https://www.oasisscan.com) block explorer. Enter your `oasis1` +address at the top and hit enter. For example: + +![Account details of entered oasis1 address in Oasis Scan](../images/manage-tokens/oasisscan_account_details.png) + +The "Amount" is a sum of three values: + +- the "Available" tokens that can immediately be transferred, +- the "Escrow" tokens that are delegated, +- the "Reclaim" tokens that are waiting for the debonding period to pass. + +To check the account's deposits and withdrawals navigate to "Transactions" pane +and press "ParaTime" on the right side, next to the "Consensus" button. +You will see all ParaTime-related transactions including deposits, withdrawals, +transfers and even smart contract transactions. + +![Search result of oasis1 address - Account details](../images/manage-tokens/oasisscan_paratime_txes.png) + +Furthermore, you can view the transaction details, if you click on a +transaction's "Tx Hash". Among others, you will see the transaction type, the +"from", "to" and "amount" fields. + +![Tx Hash - Transaction details](../images/manage-tokens/oasisscan_paratime_tx_details.png) + +:::info + +Be aware that the [Oasis Scan Blockchain Explorer](https://www.oasisscan.com) +is built for consensus layer. If you want to explore Sapphire (0x addresses, +Token Transfers, Contract Calls, etc.), you have to use the +[Sapphire Blockchain Explorer](https://explorer.oasis.io/mainnet/sapphire). + +::: diff --git a/docs/general/manage-tokens/faq.mdx b/docs/general/manage-tokens/faq.mdx index d7f7e6cc1b..9489316f4c 100644 --- a/docs/general/manage-tokens/faq.mdx +++ b/docs/general/manage-tokens/faq.mdx @@ -30,7 +30,7 @@ your assets. [bitpie-announcement]: https://medium.com/bitpie/announcement-on-suspension-of-support-for-algo-and-rose-fc35cb322617 [ADR-8]: ../../adrs/0008-standard-account-key-generation.md -[oasis-wallet-import-private-key]: ../../general/manage-tokens/oasis-wallets/web.md#open-wallet-via-private-key +[oasis-wallet-import-private-key]: ../../general/manage-tokens/oasis-wallets/web.mdx#import-an-existing-account ### How can I export Oasis private key from a working BitPie wallet? @@ -152,7 +152,7 @@ and [paste it into the Oasis wallet][oasis-wallet-import-private-key], or [Oasis unmnemonic tool]: https://github.com/oasisprotocol/tools/tree/main/unmnemonic [unmnemonic-linux]: https://github.com/oasisprotocol/tools/releases/download/unmnemonic-tool-0.1.0/unmnemonic_linux_amd64 -[unmnemonic-windows]: https://github.com/oasisprotocol/tools/releases/download/unmnemonic-tool-0.1.0/unmnemonic_windows_amd64 +[unmnemonic-windows]: https://github.com/oasisprotocol/tools/releases/download/unmnemonic-tool-0.1.0/unmnemonic_windows_amd64.exe [unmnemonic-macos]: https://github.com/oasisprotocol/tools/releases/download/unmnemonic-tool-0.1.0/unmnemonic_darwin_all [`oasis wallet import-file`]: cli/wallet.md#import-file @@ -395,4 +395,4 @@ Sending ROSE is different than staking it! With the staking transaction you **le ### I withdrew ROSE from Emerald to an exchange (Binance, KuCoin), but my deposit is not there. What should I do? -Withdrawals from Emerald are slightly different from regular `staking.Transfer` transactions used to send ROSE on the consensus layer. If you withdrew your ROSE directly to an exchange and you were not funded there, contact the exchange support and provide them the link to your account on the [Oasis Scan](https://www.oasisscan.com) where they can verify all transactions. To learn more about this issue, read the [How to Transfer ROSE to ParaTime section](how-to-transfer-rose-into-paratime.mdx). +Withdrawals from Emerald are slightly different from regular `staking.Transfer` transactions used to send ROSE on the consensus layer. If you withdrew your ROSE directly to an exchange and you were not funded there, contact the exchange support and provide them the link to your account on the [Oasis Scan](https://www.oasisscan.com) where they can verify all transactions. To learn more about this issue, read the [Manage tokens](README.mdx) chapter. diff --git a/docs/general/manage-tokens/holding-rose-tokens/custody-providers.md b/docs/general/manage-tokens/holding-rose-tokens/custody-providers.md index 655dc5be46..f761cb0e7c 100644 --- a/docs/general/manage-tokens/holding-rose-tokens/custody-providers.md +++ b/docs/general/manage-tokens/holding-rose-tokens/custody-providers.md @@ -1,12 +1,25 @@ -# Custody Providers +--- +description: Not comfortable keeping the keys on your own? +--- -Another way to hold your ROSE tokens is by using a custody provider. +# Custody Providers & Protocols -We've partnered with industry-leaders who each support a number of top crypto assets. +Another way to hold your ROSE is by involving custodial partners—either +by giving them complete custody over your tokens +([Custody Providers](#custody-providers)) or just require a multi-signature +transaction to move them and then splitting some of those keys among trusted +parties ([Decentralized Custody Protocols](#decentralized-custody-protocols)). +We've partnered with industry-leaders who support a number of top crypto +assets. You can pick among the custodial providers or decentralized custody +protocols below. + + +## Custody Providers :::info -Below are some simple ways to get in touch, but please do reach out to them directly for more information on insurance, fees and cross-chain support. +Below are some simple ways to get in touch, but please do reach out to them +directly for more information on insurance, fees and cross-chain support. ::: @@ -33,3 +46,16 @@ Finoa is a regulated custodian for digital assets, servicing professional invest * **Delegation options:** Finoa offers delegation to a number of select validators including Bison Trails, Blockdaemon, Chorus One, Figment Networks, and more. * **Min holding:** No threshold for assets under custody. Please check out details at [finoa.io](https://www.finoa.io). * **Sign up:** Email [oasis@finoa.io](mailto:oasis@finoa.io) to set up an account. + +## Decentralized Custody Protocols + +### [Oasis Safe][safe.oasis.io] + +Unlock a new way of ownership! Oasis Safe is the most trusted **decentralized +custody protocol** and collective asset management (*multisignature* support) +platform running on **Oasis Sapphire**. + +Visit [safe.oasis.io] and login with your MetaMask or other Ethereum-compatible +wallet. + +[safe.oasis.io]: https://safe.oasis.io diff --git a/docs/general/manage-tokens/holding-rose-tokens/ledger-wallet.md b/docs/general/manage-tokens/holding-rose-tokens/ledger-wallet.md index 313c49c339..0aa06e3d2f 100644 --- a/docs/general/manage-tokens/holding-rose-tokens/ledger-wallet.md +++ b/docs/general/manage-tokens/holding-rose-tokens/ledger-wallet.md @@ -1,7 +1,11 @@ -# Self-Custody With Ledger Hardware Wallet +--- +description: How to setup your Ledger hardware wallet +--- -This is a general documentation that will help users setup [Ledger] hadware -wallets with Oasis Network. Ledger Live software doesn't support Oasis (ROSE) +# Ledger Hardware Wallet + +This is a general documentation that will help users setup the [Ledger] hadware +wallet on the Oasis Network. Ledger Live doesn't support Oasis (ROSE) tokens natively yet. In this guide we will install Oasis app via Ledger Live to open and access wallet with one or multiple accounts via our official [Oasis Wallet - Web][wallet.oasis.io]. @@ -9,143 +13,113 @@ open and access wallet with one or multiple accounts via our official ## Setup your Ledger device and Install Oasis App 1. To use your [Ledger] wallet to hold your ROSE tokens, you will have to -install [Oasis app] on your Ledger wallet via [Ledger Live]'s Manager. You need -to connect your Ledger to your device and unlock it with your PIN code first. - -![Unlock ledger](../../images/wallet/ledger/live_unlock_ledger.png) + install [Oasis app] on your Ledger wallet via [Ledger Live]'s Manager. Click + on the "My Ledger" button. Then, you need to connect your Ledger to your + computer and unlock it with your PIN code. -:::caution + ![Unlock ledger](../../images/wallet/ledger/live_unlock_ledger.png) -The Oasis app requires an up-to-date firmware on your Ledger wallet: + :::caution -* At least [version 2.0.0] released on Oct 21, 2021 on a Nano X device. -* At least [version 2.1.0] released on Nov 30, 2021 on a Nano S device. -* At least [version 1.0.4] released on Sep 27, 2022 on a Nano S Plus device. + The Oasis app requires an up-to-date firmware on your Ledger wallet: -Follow Ledger's instructions for updating the firmware on your Ledger wallet: + * At least [version 2.0.0] released on Oct 21, 2021 on a Nano X device. + * At least [version 2.1.0] released on Nov 30, 2021 on a Nano S device. + * At least [version 1.0.4] released on Sep 27, 2022 on a Nano S Plus device. -* [Nano X] -* [Nano S] -* [Nano S Plus] + Follow Ledger's instructions for updating the firmware on your Ledger wallet: -::: + * [Nano X] + * [Nano S] + * [Nano S Plus] -2. To find the Oasis app in the Ledger Live App catalog, you need to Allow -Ledger Manager on your Ledger device first, then you will be able to click App -catalog and search for _Oasis_: + ::: -![Allow Ledger Manager](../../images/wallet/ledger/live_allow_ledger_manager.png) -![Search app in catalog..](../../images/wallet/ledger/live_search_apps.png) +2. Next, allow the Ledger Manager on your Ledger device. Then you will be able + to open the App catalog and search for `oasis`: + ![Allow Ledger Manager](../../images/wallet/ledger/live_allow_ledger_manager.png) + ![Search app in catalog..](../../images/wallet/ledger/live_search_apps.png) -3. Install _Oasis_ app +3. Install the **Oasis** Nano app. -![Install Oasis app](../../images/wallet/ledger/live_search_results_oasis_install.png) + ![Install the Oasis Nano app](../../images/wallet/ledger/live_search_results_oasis_install.png) -4. After the installation is completed, take your Ledger device, navigate to _Oasis_ -app and use both buttons to open the app. Your Ledger device is ready -when you will see _"Oasis Ready"_ message. +4. After the installation is complete, take your Ledger device, navigate to the + Oasis app and use both buttons to open it. Your Ledger device is ready when + you will see the "Oasis Ready" message. -![Oasis Ready](../../images/wallet/ledger/ledger_oasis_ready.jpg) + ![Oasis Ready](../../images/wallet/ledger/ledger_oasis_ready.jpg) The Oasis app will use the [BIP 39] mnemonic seed stored secretly on your Ledger hardware wallet to generate the private & public key pairs for your -Oasis accounts. Make sure you backed up the mnemonic when you first initialized -your Ledger device! - -## Manage Your Tokens - -### Using Oasis Wallets - -This is a simpler option since it allows you to connect to your Ledger wallet -via a web application or a browser extension. +Oasis accounts. **Make sure you backed up the mnemonic when you first +initialized your Ledger device!** -In the example below we will use Oasis Wallet - Web. To learn more about other -features of the Oasis Wallets, please read the [Oasis Wallets] doc. +:::tip -1. Navigate to [wallet.oasis.io] and click on the _Open wallet_ button. -Then, click on _Ledger_ when asked how to open your wallet. - -![Oasis Wallet - Web -> Open wallet -> Ledger](../../images/wallet/ledger/wallet_web_open_ledger.png) - -2. In the next step, click on the _Select accounts to open_ button. Your -browser will open a pop-up window where you will have to select your Ledger -device. Finally, click on _Connect_. - -![Oasis Wallet - Web -> Select Ledger device and Connect](../../images/wallet/ledger/wallet_web_select_ledger_device_connect.png) - -:::caution - -This step requires that your Ledger shows the _Oasis Ready_ message. After a -while your device may lock for safety reasons and you will need to unlock it to -perform this and subsequent steps. +For security, the Oasis wallets use a **different mnemonic to private key +derivation path** by default for your Ledger accounts (known as *Ledger* or +*ed25519-legacy*) and for the accounts stored on a disk or inside a browser +(also known as [ADR-8]). If you find yourself in a situation where your Ledger +device does not function anymore, you have the backup mnemonic available, and +you urgently need to access your funds, use the *[Oasis unmnemonic tool][unmnemonic-tool]* to +**derive the private key from your Ledger mnemonic**. Checkout out this +[FAQ section][unmnemonic-tool-faq] to download it and learn more. ::: -3. After connecting your Ledger to Oasis Wallet - Web another pop-up will appear -where you can choose to open one or more `oasis1` accounts derived from the seed -stored on your Ledger. - -![Oasis Wallet - Web -> Select one or more accounts](../../images/wallet/ledger/wallet_web_select_accounts_to_open.png) +[ADR-8]: ../../../adrs/0008-standard-account-key-generation.md +[unmnemonic-tool]: https://github.com/oasisprotocol/tools/tree/main/unmnemonic +[unmnemonic-tool-faq]: ../faq.mdx#i-lost-my-ledger-or-my-ledger-is-broken-i-urgently-need-to-access-my-assets-can-i-import-ledger-mnemonic-into-oasis-wallet -4. The account from your Ledger device is now opened. If you import multiple -accounts, you can switch between them by clicking on the account address in -the top-right corner. -Our demo account is empty. +## Connect to your wallet -![Oasis Wallet - Web -> Selected accounts are opened](../../images/wallet/ledger/wallet_web_open_ledger_account.png) +### Oasis Wallets -5. Now you can use your Ledger to receive, send or delegate ROSE. -In this example, we have received 111 ROSE to our Ledger account. +This is a simpler option since it offers a nice UI for connecting your Ledger to +a web application or a browser extension. Check out the following sections +corresponding to your wallet for instructions: -![Oasis Wallet - Web -> Exploring transactions](../../images/wallet/ledger/wallet_web_received_rose_on_ledger_account.png) +- [Oasis wallet - Web: Import Ledger account](../oasis-wallets/web.mdx#import-an-existing-account) +- [Oasis wallet - Browser extension: Ledger](../oasis-wallets/browser-extension.mdx#ledger) -#### Receive ROSE +:::note -Once you have successfully opened your Oasis account from Ledger, -you can start receiving ROSE by sharing your account address. +At time of writing, signing the ParaTime transactions is not yet supported by +the Oasis Wallet - Web or the Browser extension. -You can simply copy your opened account address or scan QR code. - -![Oasis Wallet - Web -> Ledger -> Receive ROSE Account address](../../images/wallet/ledger/wallet_web_account_address.png) - -#### Send ROSE - -To send your ROSE from your Oasis Ledger account to another Oasis consensus -address, you have to follow these steps: - -1. Enter destination consensus address into Recipient field, Enter amount -of ROSE you want to send and Click on Send button. - -![Oasis Wallet - Web -> Ledger -> Send ROSE](../../images/wallet/ledger/wallet_web_send_rose.png) - -2. Then a pop-up window will appear where you need to Confirm transaction. +::: -![Oasis Wallet - Web -> Ledger -> Confirm TX](../../images/wallet/ledger/wallet_web_send_confirm_tx.png) +### Oasis CLI -3. On your Ledger device carefully review transaction details and make sure they -match the ones on your computer. Navigate to the screen where you will see the -APPROVE button. Use the two buttons to approve your transaction. +This is a more powerful option that allows performing not just token-related +tasks (transferring, staking, ParaTime deposits, withdrawals and transfers), but +also generating and/or signing raw transactions, multi-signatures, network +governance operations etc. -![Oasis Wallet - Web -> Ledger -> Approve TX](../../images/wallet/ledger/wallet_web_send_confirm_tx_ledger.jpg) +Ledger is supported by the [Oasis CLI] out of the box. You can add a new Ledger +account to the Oasis CLI by invoking the [`oasis wallet create`] command and +adding the `--kind ledger` parameter. For +example: -4. You can verify if ROSE were successfully sent by checking latest transactions -or opening the receiving account. +![code shell](../../../../external/cli/examples/wallet/create-ledger.in.static) -![Oasis Wallet - Web -> Ledger -> Verify Balance](../../images/wallet/ledger/wallet_web_send_verify_balance.png) +## Signing the transaction +Once your Ledger account is registered to the wallet on your computer, you can +use it to sign the transactions. After confirming the transaction on your +computer, the transaction details **will appear on your Ledger screen** +where you will need to **carefully review transaction details and make sure they +match the ones on your computer**. Then, navigate to the screen where you will +see the "APPROVE" button. Use the two buttons to approve your transaction. -### Using Oasis CLI Tools +![Oasis Wallet - Web -> Ledger -> Approve TX](../../images/wallet/ledger/ledger_oasis_approve.jpg) -This is a more powerful option that allows performing not just token-related -tasks (sending, staking, ParaTime deposits and withdrawals), but also generating -and/or signing raw transactions, multi-signatures, network governance -operations etc. +The signed transaction will be sent back to your computer and submitted to the +network. -Ledger is supported by the [Oasis CLI]. You can add a new Ledger account to the -Oasis CLI by invoking the [`oasis wallet create`] command. For example: -![code shell](../../../../external/cli/examples/wallet/create-ledger.in.static) [Ledger]: https://www.ledger.com [Oasis app]: https://github.com/Zondax/ledger-oasis @@ -158,6 +132,6 @@ Oasis CLI by invoking the [`oasis wallet create`] command. For example: [Nano S]: https://support.ledger.com/hc/en-us/articles/360002731113-Update-Ledger-Nano-S-firmware [Nano S Plus]: https://support.ledger.com/hc/en-us/articles/4445777839901-Update-Ledger-Nano-S-Plus-firmware [BIP 39]: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki -[Oasis Wallets]: ../oasis-wallets/README.mdx +[Oasis Wallets]: ../oasis-wallets [Oasis CLI]: ../cli/README.md [`oasis wallet create`]: ../cli/wallet.md#create diff --git a/docs/general/manage-tokens/how-to-transfer-eth-erc20-to-emerald-paratime.md b/docs/general/manage-tokens/how-to-transfer-eth-erc20-to-emerald-paratime.md index 5584782b4e..bc727071b0 100644 --- a/docs/general/manage-tokens/how-to-transfer-eth-erc20-to-emerald-paratime.md +++ b/docs/general/manage-tokens/how-to-transfer-eth-erc20-to-emerald-paratime.md @@ -8,7 +8,7 @@ the Wormhole token bridge. [Emerald](/dapp/emerald/) is an Oasis ParaTime providing an Ethereum-compatible blockchain for the Oasis Network. If you want to use any dApp for DEX, NFT and similar built on Emerald, you will have to transfer your assets into the Emerald ParaTime. -To transfer your ROSE tokens into Emerald, follow [How to Transfer ROSE into a ParaTime](how-to-transfer-rose-into-paratime.mdx). +To transfer your ROSE tokens into Emerald, read the [Manage tokens](README.mdx). To transfer (i.e. bridge and wrap) your ETH and ERC20 tokens, follow this guide. It will show you how to use [Wormhole Bridge](https://wormholebridge.com) to seamlessly transfer your tokens from Ethereum, Solana, Avalanche, BSC, Terra or Polygon to the Oasis Network. diff --git a/docs/general/manage-tokens/how-to-transfer-rose-into-paratime.mdx b/docs/general/manage-tokens/how-to-transfer-rose-into-paratime.mdx deleted file mode 100644 index d645355897..0000000000 --- a/docs/general/manage-tokens/how-to-transfer-rose-into-paratime.mdx +++ /dev/null @@ -1,250 +0,0 @@ -import DocCardList from '@theme/DocCardList'; -import {findSidebarItem} from '@site/src/sidebarUtils'; - -# How to Transfer ROSE into a ParaTime - -This guide will walk you through transferring ROSE tokens from an Oasis -consensus layer account into a Sapphire, Emerald or Cipher ParaTime using the -Oasis Wallet - Browser Extension. - -## About - -![Consensus and ParaTime layers](../images/architecture/technology_scalability.svg) - -Each ParaTime hosts accounts in its own independent chain state, which means -that ROSE held at the consensus layer is not the same as the ParaTime's token. -Fortunately, you can easily swap between the two by making _deposits_ and -_withdrawals_. These procedures are formally described in [ADR-3]. - -The _deposit_ procedure will first _allow_ the ParaTime to access a specified -amount of ROSE. Then, a `Deposit` transaction will be executed inside the -ParaTime and tokens will be transferred from your consensus layer account to -the ParaTime. If that transaction succeeds, the ParaTime will update the state -of your provided EVM account to reflect the deposit of tokens. Sapphire, Emerald -and Cipher will give you 1 ParaTime ROSE for each consensus ROSE—although -other ParaTimes may implement different rules. - -The _withdraw_ procedure executes the `Withdraw` transaction inside the -ParaTime which transfers the ROSE on the consensus layer from the ParaTime to -the provided `oasis1` address. If the transaction succeeds, the ParaTime will -update your EVM account state (usually by burning the tokens inside the -ParaTime). - -Both the Oasis Wallet Browser Extension and the Oasis Wallet Web offer a -graphical user interface for performing deposits/withdrawals to/from ParaTimes. -Alternatively, you can use the [Oasis CLI], if you are more keen to using a -command line interface or you want to automate token operations. - -[ADR-3]: ../../adrs/0003-consensus-runtime-token-transfer.md - -## Managing your account with the Oasis Wallet Browser Extension - -First, install the Oasis Wallet Browser extension. Next, restore your existing -Oasis wallet or create a new by following the -[Oasis Wallet Browser Extension chapter](oasis-wallets/browser-extension.md#create-a-new-wallet). - -![Oasis Wallet Extension - chrome web store](../images/wallet/ext/chrome_web_store.png) - -Once done, you will see your balance on the **Oasis consensus layer**. Next, we -will import your wallet to be used in the ParaTime. - -:::tip - -At time of writing, depositing and withdrawing ROSE to and from ParaTimes -works for Oasis wallets **imported from the private key or the mnemonic only**. -If you want to use the Ledger wallet, please use the [Oasis CLI]. - -::: - -### Importing wallet account - -In the top-right corner, click your account icon to open the Account management menu. - -![Account Management - Importing Accounts](../images/wallet/ext/accounts1.png) - -Click "Import" and select the: - -- "Oasis Private Key" to import your existing Oasis private key to be used by - Cipher ParaTime; or -- "Ethereum-compatible Private Key" to import your existing Ethereum Account to - be used by the EVM-compatible Sapphire or Emerald. - -:::info - -We assume that you already have your public/private keypair. If you don’t have -one yet, please go and create one. Store your Private Key, because you will -need it in the Oasis Wallet Browser Extension. - -::: - -![Importing Ethereum-compatible Account with Private Key](../images/wallet/ext/import.png) - -Fill in the "Account name" that will appear later in the Account Management screen. - -![Imported Account Name](../images/wallet/ext/import2.png) - -Next, paste your Base64-encoded Oasis or hex-encoded Ethereum private key. - -:::caution - -You will need to import **the private key and not the mnemonics**. You can -derive a private key from the mnemonics with BIP39→BIP44 converter. For example -by using the [Ian Cole's tool](https://github.com/iancoleman/bip39/releases) offline. - -::: - -![Entering Ethereum address Private Key (BIP44)](../images/wallet/ext/import3.png) - -Your newly imported account will, depending on the account type, appear under -the "Oasis Account" or "Ethereum-compatible Account" sections in the Account -Management screen. Check that the Oasis or Ethereum address shown at the bottom -that it matches the address shown to you when you generated the keypair. - -:::danger - -In older versions of the Oasis Wallet Browser Extension there was also another -bech32-encoded version of the Ethereum address shown in the Ethereum-compatible -wallet. This address is used in the backend for setting the allowance policy -on the Oasis network. **If you can see it, you should immediately update -your Wallet Extension! The bech32-encoded address of the Ethereum-compatible -account must never be used for transferring ROSE to. The signature schemes are -incompatible (ECDSA versus ed25519) and those tokens would not be accessible -anymore!** - -::: - -![Account Management - Accounts Overview](../images/wallet/ext/accounts2.png) - -### Depositing ROSE to a ParaTime - -Now, you can transfer your ROSE to the ParaTime. Navigate to the "ParaTimes" tab. -For the sake of demonstration, we'll continue with the Sapphire ParaTime, but the -Emerald or Cipher ParaTimes work just as well. - -Under the Sapphire label click on the "To ParaTime" button. - -![ParaTimes - Transfer ROSE to Sapphire](../images/wallet/ext/paratimes.png) - -Fill in the "Amount" of ROSE that you want to transfer to Sapphire and, in our -case, your Ethereum-compatible address in the "To" field you imported/created -before. Then, click "Next", review and confirm the transaction. - -![Sending ROSE to Sapphire](../images/wallet/ext/deposit.png) - -If everything goes well, you will see a successful ParaTime transaction in your -account history. - -![Account history](../images/wallet/ext/account_history.png) - -### Verifying ROSE balance on ParaTime - -If everything went well, your entered amount of ROSE was sent to the -destination address on ParTime. In our case, let's verify that your ROSE safely -arrived at your Sapphire Ethereum wallet. - -#### Wallet Browser Extension - -You can check the balance in the Oasis Wallet extension by opening the "Account -Management" tab and selecting your destination account to which you -sent ROSE. Then click on the back arrow and navigate to the "ParaTimes" tab. -In the corresponding ParaTime pane, you will notice the available amount of -your ROSE. - -![ROSE balance in Sapphire](../images/wallet/ext/paratimes2.png) - -#### Metamask - -For EVM-compatible ParaTimes, you can as well verify the balance in -[Metamask](https://metamask.io) or a built-in wallet in the Brave browser: - -1. Install the Metamask extension to your browser. -2. Add the corresponding [Sapphire](/dapp/sapphire/#rpc-endpoints) and/or - [Emerald](/dapp/emerald/#rpc-endpoints) networks to Metamask. You can either - click on the "Click here to register..." buttons following the links above or - enter the network details manually. - - ![Metamask - Adding Sapphire Mainnet Network Configuration](../images/wallet/metamask/settings.png) - - :::info - - Brave wallet network configuration requires you to enter Chain's currency - decimals for ROSE: 18 - - ::: - -3. Import your Ethereum keypair. The balance should immediately be visible. - - ![Metamask - Received ROSE](../images/wallet/metamask/account.png) - -### Withdrawing ROSE from a ParaTime - -You can withdraw your ROSE from the ParaTime back to your Oasis wallet by first -selecting your ParaTime account in the Account Management screen. Next, switch to -ParaTimes tab and click on the "To Consensus" button near the ParaTime entry. -Fill in the "Amount" and your bech32-encoded Oasis wallet address and confirm -the withdrawal. In a few moments you will have your ROSE accessible on the -consensus layer. - -:::danger - -If you want to transfer ROSE to an exchange and you currently have them -deposited on Sapphire, **we strongly recommend that you withdraw ROSE -to your Oasis wallet first and then perform a regular token transfer to your -Oasis address on the exchange!** The ParaTime's withdrawal procedure involves a -number of steps as described in the introduction and some exchanges may not -recognize this transaction as a valid transaction for funding your account on -the exchange. - -::: - -:::tip - -Advanced users (e.g. those running ParaTime [compute nodes] may need to -withdraw ROSE from ParaTimes stored in their `oasis1` accounts, for example to -claim their ParaTime execution rewards. Oasis Wallet Browser Extension does not -support such withdrawals. Use the [`oasis account withdraw`] command which is -part of the [Oasis CLI] instead, for example: - -![code shell](../../../external/cli/examples/account/withdraw.y.in) - -::: - -[compute nodes]: ../../node/run-your-node/paratime-node.mdx -[Oasis CLI]: cli/README.md -[`oasis account withdraw`]: cli/account.md#withdraw - -### Verifying ParaTime deposits and withdrawals - -To verify and validate your transactions (deposits, withdrawals) on ParaTime -you can use the official [Oasis Scan](https://www.oasisscan.com) block -explorer. Enter your consensus bech32-encoded address and press Search. Then -navigate to Transactions section and press "ParaTime" button next to consensus. -You will be able to see all transactions made from both the native or Ethereum -compatible address (`0x`) you used in Sapphire to your consensus (`oasis1`) -address where you sent your ROSE to. - -![Search result of oasis1 address - Account details](../images/manage-tokens/paratime-deposit-withdraw/oasisscan1.png) - -Furthermore, you can click on Tx Hash of any transaction you see on the list. -You will find your **from** native or Ethereum-compatible address, your **to** -destination consensus address, and **amount** of ROSE transferred. - -![Tx Hash - Transaction details](../images/manage-tokens/paratime-deposit-withdraw/oasisscan2.png) - -:::info - -Be aware that the [Oasis Scan Blockchain Explorer](https://www.oasisscan.com) -is built for consensus layer. If you want to explore Sapphire (0x addresses, -Token Transfers, Contract Calls, etc.), you have to use the -[Sapphire Blockchain Explorer](https://explorer.oasis.io/mainnet/sapphire). - -::: - -## See also - - diff --git a/docs/general/manage-tokens/oasis-wallets/README.mdx b/docs/general/manage-tokens/oasis-wallets/README.mdx deleted file mode 100644 index dbf4826042..0000000000 --- a/docs/general/manage-tokens/oasis-wallets/README.mdx +++ /dev/null @@ -1,41 +0,0 @@ -import DocCard from '@theme/DocCard'; -import DocCardList from '@theme/DocCardList'; -import {findSidebarItem} from '@site/src/sidebarUtils'; - -# Oasis Wallets - -This document provides an overview of how to use the official Oasis Wallets: a -non-custodial web wallet and a non-custodial browser extension that connect to -the Oasis Network. - -## **What are the official Oasis Wallets?** - -The [Oasis Foundation](https://oasisprotocol.org) supports two first-party non-custodial wallets, a [web wallet](https://wallet.oasis.io) named [Oasis Wallet -Web](https://github.com/oasisprotocol/oasis-wallet-web/) and a browser extension wallet named Oasis Wallet - Browser Extension. Both seamlessly connect to the [Oasis Network](../../oasis-network/README.mdx) and makes it easy to hold, send, and receive ROSE tokens. - -These products are fully open source, built from the ground up by Oasis community developers, with funding from the Oasis Foundation’s [ROSE Bloom Grants Program](https://github.com/oasisprotocol/community/discussions/13). Both have also gone through multiple internal audits from the Oasis Foundation and [Oasis Labs](https://oasislabs.com) teams and are currently going through an external audit as well. - -## Where to find the official Oasis Wallets? - -The [Oasis Wallet - Web](https://github.com/oasisprotocol/oasis-wallet-web/) can be found at [wallet.oasis.io](https://wallet.oasis.io). - -The [Oasis Wallet - Browser Extension](https://github.com/oasisprotocol/oasis-wallet-ext) can be found in the [Chrome Web Store](https://chrome.google.com/webstore/detail/oasis-wallet/ppdadbejkmjnefldpcdjhnkpbjkikoip). - -## **Wallet features** - -The Oasis Wallets currently support the following features: - -* Creating a new wallet (with a user friendly mnemonic recovery phrase) -* Accessing an existing wallet using a mnemonic recovery phrase, private key, or a [Ledger](https://www.ledger.com) device -* Viewing transaction history -* Submitting new transactions -* Managing multiple accounts -* Toggling between light mode and dark mode (Web variant) -* Selecting a language for the UI (currently, English and French fort the Web variant, English and Chinese for the Browser Extension variant) -* Staking and receiving staking rewards -* Easily switching between different Oasis Wallets that use the same [ADR-8](../../../adrs/0008-standard-account-key-generation.md) standard account key generation process - - - -## See also - - diff --git a/docs/general/manage-tokens/oasis-wallets/browser-extension.md b/docs/general/manage-tokens/oasis-wallets/browser-extension.md deleted file mode 100644 index eb695da0e1..0000000000 --- a/docs/general/manage-tokens/oasis-wallets/browser-extension.md +++ /dev/null @@ -1,83 +0,0 @@ -# Browser Extension - -Oasis Foundation-managed official non-custodial browser extension wallet for the -Oasis Network. - -## **How to use the Oasis Wallet - Browser Extension** - -:::info - -Currently, [Oasis Wallet - Browser Extension](https://github.com/oasisprotocol/oasis-wallet-ext) **only supports** [**Chrome**](https://www.google.com/chrome/) or other [Chromium](https://www.chromium.org/Home)-based browsers. - -::: - -### Install the Oasis Wallet via Chrome Web Store - -You can install the [Oasis Wallet - Browser Extension](https://github.com/oasisprotocol/oasis-wallet-ext) by heading to the [Chrome Web Store](https://chrome.google.com/webstore/detail/oasis-wallet/ppdadbejkmjnefldpcdjhnkpbjkikoip). - -### Create a new wallet - -:::caution - -Your mnemonic phrase is required to access your wallet. Be sure to store it in a secure location. If you lose or forget your mnemonic phrase, you will lose access to your wallet and any token funds contained in it. - -::: - -:::caution - -Never share your keyphrase. Anyone with your keyphrase can access your wallet and your tokens. - -::: - -### **Access an existing wallet** - -### Send tokens - -1. Click the avatar on the top right corner -2. Pick an account you want to transfer tokens out of -3. Click ‘Send’ -4. Type in the token amount under ‘Amount’ -5. Type in the Receiver’s wallet address -6. Click ‘Next’ -7. Check the ‘Send Details’; if everything looks good to you, click ‘Confirm’ -8. Wait for a couple of seconds, and you’ll get a status update of your transaction -9. Go back to the Account page, and you’ll see the transfer has gone through - -### **Receive tokens** - -Click ‘Receive’ on the Account page, and you’ll get the QR code as well as the wallet address in text format - -### **Stake and delegate tokens** - -1. Click ‘Staking’ on the Account main page -2. Go to ‘Validator node’, and select a node you want to delegate your tokens to. -3. Click into the node you want to delegate your tokens to, and click ‘Add Escrow’ -4. Fill in the amount you want to delegate under ‘Amount’ and click ‘Next’ -5. Check the ‘Delegate info, if everything looks good to you, click ‘Confirm’ -6. Go to ‘My delegate’ and you will see which node you just delegated tokens to and by how much - -### **Use an Account on your Ledger Wallet** - -1. Plug your Ledger device into your computer and log into the Oasis app on-device - -![Oasis App Ready on Ledger Nano S connected to your device](../../images/wallet/ledger/ledger_oasis_ready.jpg) - -2. Open the Oasis Chrome Extension Wallet and click the account icon on the top right - -![Unlock your Oasis Wallet Extension](../../images/wallet/ledger/wallet_ext_import1.png) - -3. Select Ledger on the bottom right of the app - -![Import Oasis Ledger Account](../../images/wallet/ledger/wallet_ext_accounts_ledger.png) - -4. Follow user onboarding flow clicking "Next" as you move forward with set up. - -5. You'll see a pop-up in your Chrome Browser asking you to select which device to connect. Click on your Ledger device. Then click "Connect". _NOTE: You may need to resize the pop up window to see all buttons._ - -![Confirm your Ledger device and Import](../../images/wallet/ledger/wallet_ext_import2.png) - -6. Follow the next onboarding steps to upload the correct Ledger account, clicking "Confirm" when complete. - -![Confirm your account(s) from Ledger for Import](../../images/wallet/ledger/wallet_ext_import3.png) - -7. Use your Ledger to send, receive and stake on the Oasis Network! diff --git a/docs/general/manage-tokens/oasis-wallets/browser-extension.mdx b/docs/general/manage-tokens/oasis-wallets/browser-extension.mdx new file mode 100644 index 0000000000..8f312280cc --- /dev/null +++ b/docs/general/manage-tokens/oasis-wallets/browser-extension.mdx @@ -0,0 +1,266 @@ +--- +description: The Oasis Foundation-managed non-custodial browser extension wallet +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Oasis ROSE Wallet - Browser Extension + +## Installation + +:::info + +Currently, [Oasis Wallet - Browser Extension](https://github.com/oasisprotocol/oasis-wallet-ext) +**only supports** [**Chrome**](https://www.google.com/chrome/) or other +[Chromium](https://www.chromium.org/Home)-based browsers. + +::: + +You can install the Oasis Wallet - Browser Extension by heading to the +[Chrome Web Store](https://chrome.google.com/webstore/detail/oasis-wallet/ppdadbejkmjnefldpcdjhnkpbjkikoip). + +![Oasis Wallet Extension - chrome web store](../../images/wallet/ext/chrome_web_store.png) + +Next, either [create a new Oasis wallet](#create-a-new-account) or +[restore your existing one](#import-an-existing-account). + + +## Create a New Account + +Enter the **new wallet password**. You will need to enter this password each +time you open the wallet and after some time when the wallet automatically +locks. Click "Next". + +![Create new wallet: Enter password](../../images/wallet/ext/create_wallet.png) + +The newly generated mnemonic is shown to you. Carefully back it up. You will +need this mnemonic, to migrate the wallet to another device or to restore it, if +you uninstall your web browser. Click on the "Confirm backup" button. + +:::caution + +Your mnemonic phrase is required to access your wallet. Be sure to **store it in +a secure location**. If you lose or forget your mnemonic phrase, you will lose +access to your wallet and any token funds contained in it. + +::: + +:::danger + +**Never share your mnemonic keyphrase**. Anyone with your keyphrase can access +your wallet and your tokens. + +::: + +Now reenter the mnemonic words as a proof that you backed up the mnemonic and +click on the "Confirm" button. Once done, you will see your balance on the +**Oasis consensus layer**. + +![Account history](../../images/wallet/ext/account_history.png) + +## Import an Existing Account + +In the top-right corner, click your account icon to open the Account management +menu. + +![Account Management - Importing Accounts](../../images/wallet/ext/accounts1.png) + +Click "Import" and select the: + +- "Oasis Private Key" to import your existing Oasis private key to be used by + Cipher ParaTime; or +- "Ethereum-compatible Private Key" to import your existing Ethereum Account to + be used by the EVM-compatible Sapphire or Emerald. + +:::info + +We assume that you already have your public/private keypair. If you don’t have +one yet, please go and create one. Store your Private Key, because you will +need it in the Oasis Wallet Browser Extension. + +::: + +![Importing Ethereum-compatible Account with Private Key](../../images/wallet/ext/import.png) + +Fill in the "Account name" that will appear later in the Account Management screen. + +![Imported Account Name](../../images/wallet/ext/import2.png) + +Next, paste your Base64-encoded Oasis or hex-encoded Ethereum private key. + +:::note + +You will need to import **the private key and not the mnemonics**. You can +derive a private key from the mnemonics with BIP39→BIP44 converter. For example +by [importing](../cli/wallet.md#import) the mnemonic into the Oasis CLI and +[exporting it](../cli/wallet.md#export). + +::: + +![Entering Ethereum address Private Key (BIP44)](../../images/wallet/ext/import3.png) + +Your newly imported account will, depending on the account type, appear under +the "Oasis Account" or "Ethereum-compatible Account" sections in the Account +Management screen. Check that the Oasis or Ethereum address shown at the bottom +that it matches the address shown to you when you generated the keypair. + +:::danger + +In older versions of the Oasis Wallet Browser Extension there was also another +Bech32-encoded version of the Ethereum address shown in the Ethereum-compatible +wallet. This address is used in the backend for setting the allowance policy +on the Oasis Network. **If you can see it, you should immediately update +your Wallet Extension! The Bech32-encoded address of the Ethereum-compatible +account must never be used for withdrawing ROSE to. The signature schemes are +incompatible (the consensus layer only supports Ed25519) and those tokens will +not be accessible anymore!** + +::: + +![Account Management - Accounts Overview](../../images/wallet/ext/accounts2.png) + +## Ledger + +1. Plug your Ledger device into your computer and log into the Oasis app on-device + +![Oasis App Ready on Ledger Nano S connected to your device](../../images/wallet/ledger/ledger_oasis_ready.jpg) + +2. Open the Oasis Chrome Extension Wallet and click the account icon on the top + right. Select Ledger on the bottom right of the app. + +![Unlock your Oasis Wallet Extension](../../images/wallet/ext/ledger1.png) + + +4. Follow user onboarding flow clicking "Next" as you move forward with set up. + +5. You'll see a pop-up in your Chrome Browser asking you to select which device +to connect. Click on your Ledger device. Then click "Connect". + + :::note + + You may need to resize the pop up window to see all buttons. + + ::: + +![Confirm your Ledger device and Import](../../images/wallet/ext/ledger2.png) + +6. Follow the next onboarding steps to upload the correct Ledger account, clicking "Confirm" when complete. + +![Confirm your account(s) from Ledger for Import](../../images/wallet/ext/ledger3.png) + +7. Use your Ledger to send, receive and stake on the Oasis Network! + +## Transfer + + + + 1. Click the avatar on the top right corner + 2. Pick an account you want to transfer tokens out of + 3. Click "Send" + 4. Type in the token amount under "Amount" + 5. Type in the Receiver’s wallet address + 6. Click "Next" + 7. Check the "Send Details"; if everything looks good to you, click "Confirm" + 8. Wait for a couple of seconds, and you’ll get a status update of your transaction + 9. Go back to the Account page, and you’ll see the transfer has gone through + + + Click ‘Receive’ on the Account page, and you’ll get the QR code as well as the + wallet address in text format + + + +## Stake + +1. Click "Staking" on the Account main page +2. Go to "Validator node", and select a node you want to delegate your tokens to. +3. Click into the node you want to delegate your tokens to, and click "Add Escrow" +4. Fill in the amount you want to delegate under "Amount" and click "Next" +5. Check the "Delegate info", if everything looks good to you, click "Confirm" +6. Go to "My delegate" and you will see which node you just delegated tokens to and by how much + +## ParaTimes + +Switch to the *ParaTimes tab* to deposit and withdraw ROSE to or from the +ParaTimes. + +![The ParaTimes tab](../../images/wallet/ext/paratimes.png) + +:::tip + +At time of writing, depositing and withdrawing ROSE to and from ParaTimes +works for Oasis wallets **imported from the private key or the mnemonic only**. +If you want to use the Ledger wallet, please use the [Oasis CLI]. + +::: + + + + +For the sake of demonstration, we'll continue with the Sapphire ParaTime, but +the Emerald or Cipher ParaTimes work just as well. Under the Sapphire label +click on the "To ParaTime" button. + +Fill in the "Amount" of ROSE that you want to transfer to Sapphire and, in our +case, your Ethereum-compatible address in the "To" field you imported/created +before. Then, click "Next", review and confirm the transaction. + +![Sending ROSE to Sapphire](../../images/wallet/ext/deposit.png) + +If everything goes well, you will see a successful ParaTime transaction in your +account history. + +![Account history](../../images/wallet/ext/account_history.png) + + + +You can withdraw your ROSE from the ParaTime back to your Oasis wallet by first +selecting your ParaTime account in the *Account Management* screen. Next, switch to +ParaTimes tab and click on the "To Consensus" button near the ParaTime entry. +Fill in the "Amount" and your Bech32-encoded Oasis wallet address and confirm +the withdrawal. In a few moments you will have your ROSE accessible on the +consensus layer. + +:::danger + +If you want to transfer ROSE to an exchange and you currently have them +deposited on Sapphire, **we strongly recommend that you withdraw ROSE +to your Oasis wallet first and then perform a regular token transfer to your +Oasis address on the exchange!** The ParaTime's withdrawal procedure involves a +number of steps as described in the introduction and some exchanges may not +recognize this transaction as a valid transaction for funding your account on +the exchange. + +::: + +:::tip + +Advanced users (e.g. those running ParaTime [compute nodes]) may need to +withdraw ROSE from ParaTimes stored in their `oasis1` accounts, for example to +claim their ParaTime execution rewards. Oasis Wallet Browser Extension does not +support such withdrawals. Use the [`oasis account withdraw`] command which is +part of the [Oasis CLI] instead, for example: + +![code shell](../../../../external/cli/examples/account/withdraw.y.in) + +::: + +[compute nodes]: ../../../node/run-your-node/paratime-node.mdx +[Oasis CLI]: ../cli/README.md +[`oasis account withdraw`]: ../cli/account.md#withdraw + + + +You can check the balance of your consensus and ParaTime accounts by opening the +*Account Management* screen and selecting the corresponding account. Then click +on the back arrow. The *Wallet* tab will show you the balance on the consensus +layer and for ParaTimes navigate to the *ParaTimes tab*. There you will notice +the available amount of ROSE per each ParaTime. + +![ROSE balance in Sapphire](../../images/wallet/ext/paratimes2.png) + +For EVM-compatible ParaTimes, you can as well verify the balance in +[Metamask](../README.mdx#metamask) or a built-in wallet in the Brave browser: + +![Metamask - Received ROSE](../../images/wallet/metamask/account.png) diff --git a/docs/general/manage-tokens/oasis-wallets/web.md b/docs/general/manage-tokens/oasis-wallets/web.md deleted file mode 100644 index c190925e60..0000000000 --- a/docs/general/manage-tokens/oasis-wallets/web.md +++ /dev/null @@ -1,127 +0,0 @@ -# Web - -Oasis Foundation-managed official non-custodial web wallet for the Oasis -Network. - -## How to use the Oasis Wallet - Web - -### **Access the Oasis Wallet via your web browser** - -You can access the [Oasis Wallet - Web](https://github.com/oasisprotocol/oasis-wallet-web/) by heading to [https://wallet.oasis.io](https://wallet.oasis.io). For the best performance, we recommend using [Chrome](https://www.google.com/chrome/) or any other [Chromium](https://www.chromium.org/Home)-based browser. - -### **Create a New Wallet** - -If you do not currently have an existing Oasis wallet address, you can create a new wallet address directly from the Oasis Wallet's home screen. Click on the “Create wallet” button. - -![Home screen](../../images/wallet/web/01_home.png) - -The next page contains information about your mnemonic (an ordered list of words representing your keyphrase), which you will need in order to retrieve your wallet later. Review the information on this page very carefully. Save your mnemonic in the right order in a secure location. - -:::caution - -Your mnemonic (i.e. keyphrase) is required to access your wallet. Be sure to store it in a secure location. If you lose or forget your mnemonic, you will lose access to your wallet and any token funds contained in it. - -::: - -:::caution - -Never share your mnemonic (i.e. keyphrase). Anyone with your mnemonic can access your wallet and your tokens. - -::: - -After you’ve saved your mnemonic, click the “I saved my keyphrase” checkbox and then click on the “Open my wallet” button. - -![Create a New Wallet](../../images/wallet/web/02_this_is_your_mnemonic.png) - -Next, you will need to confirm your mnemonic by filling in some missing words. You can enter the missing word for each respective box, by clicking on the appropriate word from the list of words presented below. Be sure to enter all of the missing words in the right order. - -![Confirm your mnemonic](../../images/wallet/web/03_confirm_your_mnemonic.png) - -After you correctly enter all of the missing words, you will be taken to your Oasis Wallet home screen, containing information about your account balance and more. - -### **Access an Existing Wallet** - -If you already have an existing Oasis wallet address, you can open it in the web wallet by clicking the “Open wallet” button on the home screen. - -![Home screen](../../images/wallet/web/01_home.png) - -Next, you should select whether you want to open your wallet via a mnemonic, a private key, or a Ledger hardware wallet. Select the respective button corresponding to the retrieval method you want to use. - -![Access an Existing Wallet](../../images/wallet/web/04_how_to_open_your_wallet.png) - -#### Open Wallet via Mnemonic - -In the _Enter your keyphrase_ field, enter each word of your mnemonic separated by a space. Afterwards, hit the "Open my wallet" button. - -![Open Wallet via Mnemonic](../../images/wallet/web/05.1_open_with_mnemonics.png) - -:::info - -Oasis Wallet - Web uses English mnemonic phrase words as defined in [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). You can find a complete list of all valid phrase words [here](https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt). If you misspelled a word, the wallet will warn you. - -::: - -:::caution - -Oasis Wallet mnemonics are incompatible with BitPie mnemonics. Check our [FAQ](../faq.mdx#how-can-i-transfer-rose-tokens-from-my-bitpie-wallet-to-my-oasis-wallet) for more information. - -::: - -#### Open Wallet via Private Key - -Paste your Base64-encoded Ed25519 private key in the _Enter your private key_ field and then click on the "Open my wallet" button. - -![Open Wallet via Private Key](../../images/wallet/web/05.2_open_with_private_key.png) - -:::info - -The Ed25519 private key format that is used is 64 bytes long and consists of two 32-byte parts: - -1. First 32 bytes are the **private key seed** which is used to derive the private key that is then used for signing the transactions (i.e. sending tokens from your wallet). -2. Last 32 bytes are the **public key** which is used to compute your account's address of the form `oasis1...`. - -::: - -:::danger - -If you typed in the private key manually, make sure you do not mix similar characters like the big O and 0 or big I and 1! - -Currently, there is no error detection on the inputted private key, so the wallet cannot warn you of a mistyped character. **It is imperative that you correctly input the private key, otherwise you will not be able to access your funds!** - -We suggest that you perform a test transaction the first time you import your wallet from the private key so you can rest assured the key is valid. - -::: - -#### Open wallet with Ledger - -To open your wallet via a Ledger hardware wallet, make sure you have your Ledger device readily available and have familiarized yourself with the [Oasis-specific Ledger usage instructions](../holding-rose-tokens/ledger-wallet.md). - -Follow the instructions on the screens that follow to open your existing wallet address. - -:::caution - -To date, only Chromium-based browsers support WebUSB component which is required to access your Ledger device. - -::: - -After you complete the instructions, you will be taken to your Oasis Wallet home screen, containing information about your account balance and more. - -### **Toggle between light mode and dark mode** - -If you are in night mode, you can click on the sun icon near the lower left corner of the screen to switch to light mode. - -![Toggle between light mode and dark mode](../../images/wallet/web/06_toogle_between_light_and_dark_mode.png) - -If you are in light mode, you can click on the moon icon near the lower left corner of the screen to switch to dark mode. - -![Light mode](../../images/wallet/web/07_light_mode.png) - -### **Select a language for the web wallet interface** - -To select a language, you can click the globe icon near the lower left corner of the screen. Currently, you can select either English or French. - -![Select a language](../../images/wallet/web/08_select_language.png) - -## **Share your feedback with us** - -If you have any questions or issues using the [Oasis Wallet - Web](https://github.com/oasisprotocol/oasis-wallet-web/), you can [submit a GitHub issue](https://github.com/oasisprotocol/oasis-wallet-web/issues) and the dev team will take a look. You can also connect with us to share your feedback via [Discord](https://oasis.io/discord) or [Telegram](https://t.me/oasisprotocolcommunity). diff --git a/docs/general/manage-tokens/oasis-wallets/web.mdx b/docs/general/manage-tokens/oasis-wallets/web.mdx new file mode 100644 index 0000000000..a6f63ed75a --- /dev/null +++ b/docs/general/manage-tokens/oasis-wallets/web.mdx @@ -0,0 +1,391 @@ +--- +description: The Oasis Foundation-managed non-custodial web wallet +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Oasis ROSE Wallet - Web + +This is the Oasis Foundation-managed non-custodial web wallet for the Oasis +Network. You can access it by visiting **[wallet.oasis.io](https://wallet.oasis.io)**. + +![Home screen](../../images/wallet/web/home.png) + +:::note + +The wallet was designed to work with any modern browser. In order to use the +[Ledger hardware wallet](../holding-rose-tokens/ledger-wallet.md) though, **you +will need the WebUSB support**. At time of writing, this was only available in +[Chrome](https://www.google.com/chrome/) and other +[Chromium](https://www.chromium.org/Home)-based browsers. + +::: + +Opening the wallet for the first time will show the *Home screen* where you can +choose to [create a new account](#create-a-new-account) or +[open an existing one](#import-an-existing-account). + + +## Create a New Account + +The next screen is devoted to your mnemonic—**a unique list of +words representing your account(s)**. Review the information on this page very +carefully. Save your +mnemonic in the right order in a secure location. + +:::caution + +Your mnemonic (i.e. keyphrase) is required to access your wallet. Be sure to +store it in a secure location. If you lose or forget your mnemonic, you will +lose access to your wallet and any token funds contained in it. + +::: + +:::danger Never share your mnemonic (i.e. keyphrase)! + +Anyone with your mnemonic can access your wallet and your tokens. + +::: + +After you’ve saved your mnemonic, click the “I saved my keyphrase” checkbox and +then click on the “Import my wallet” button. + +![Create a New Wallet](../../images/wallet/web/create_new_wallet_mnemonic1.png) + +Next, you will need to confirm your mnemonic by writing the mnemonic into the +text area. The Oasis wallet will check for any typos and missing words. When +done click the "Import my wallet" button. + +![Confirm your mnemonic](../../images/wallet/web/create_new_wallet_mnemonic2.png) + +### Account Derivation + +If you correctly entered the mnemonic the **account derivation popup** +will appear containing a list of `oasis1` addresses with their +balances on the right. These are the accounts derived from your +mnemonic based on the [ADR-8 derivation scheme][adr8]. Select one or more +accounts and click the "Open" button to import them into your wallet. + +![Account derivation popup](../../images/wallet/web/create_new_wallet_select_accounts.png) + +### User Profile + +If you want to permanently store the keys of selected accounts, select the +"Store private keys locally, protected by a password" box. After entering a +password below, this will **instantiate a profile inside the local store of your +browser to safely store your keys**. To access them, you will need to enter the correct +password each time you will open the Oasis Wallet - Web. + +Finally, you will be taken to the *Wallet screen*, containing +information about your account balance, recent transactions and more. + +![The Wallet screen](../../images/wallet/web/wallet.png) + +[adr8]: ../../../adrs/0008-standard-account-key-generation.md + +## Import an Existing Account + +On the "Open wallet" page select whether you want to open your +wallet via a mnemonic, a private key, or a Ledger hardware wallet. + +![Access an Existing Wallet](../../images/wallet/web/import_wallet.png) + + + + + +In the "Enter your keyphrase here" field, enter each word of your mnemonic +separated by a space. Then, hit the "Import my wallet" button. + +![Open Wallet via Mnemonic](../../images/wallet/web/import_wallet_mnemonic.png) + +The [account derivation popup](#account-derivation) will be shown where +you can pick one or more derived accounts to import. + +:::info + +Oasis Wallet - Web uses English mnemonic phrase words as defined in +[BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). +You can find a complete list of all valid phrase words +[here](https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt). +If you misspelled a word, the wallet will warn you. + +::: + + + + + +Paste your Base64-encoded Ed25519 private key in the "Enter your private key +here" field and then click on the "Import my wallet" button. + +![Open Wallet via Private Key](../../images/wallet/web/import_wallet_private_key.png) + +Selecting "Store private keys locally, protected by a password" will instantiate +the [user's profile](#user-profile). + +:::tip + +The 64 bytes long keypair is the preferred format for importing your account. It +consists of **two 32-byte parts**: + +1. The first part is the **private key** used for signing the transactions + (e.g. for sending tokens from your account). +2. The second part is a **public key** used to verify the signatures + of your transactions and also derive your account's address of the form + `oasis1...`. + +::: + +:::caution + +If you entered the 64-byte keypair then the wallet checks whether the public +key corresponds to its private counterpart. **If you mistyped any character, the +wallet will not allow you to proceed.** + +However, if you only typed in the first 32-byte part there is **no error +detection possible. It is imperative that you **correctly input all characters** +and not mix similar characters like the big O and 0 or big I and 1! If unsure, +we suggest that you perform a test transaction the first time you import your +wallet from the private key so you can rest assured the key is valid. + +::: + + + + +To use the Ledger hardware wallet, make sure you have your Ledger device readily +available and have familiarized yourself with the [Oasis-specific Ledger usage instructions](../holding-rose-tokens/ledger-wallet.md). + +Next, click on the "Select accounts to open". If this is the first time you're +using Ledger with your browser, a system popup will appear showing the list of +Ledger devices connected to your computer and requesting permission to use it. +Select one and then click the "Connect" button. + +![Open Wallet via Ledger](../../images/wallet/web/import_wallet_ledger.png) + +The [account derivation popup](#account-derivation) will be shown next, +where you can pick one or more derived accounts to import. + +:::warning + +To date, only Chromium-based browsers support WebUSB component which is required +to access your Ledger device. + +::: + + + + +Finally, you will be taken to your *Wallet screen*, containing information about +your account balance, recent transactions and more. + +## Transfer + + + + + +To transfer tokens, open the *Wallet screen*. Fill in the "Recipient" and +"Amount" fields and click "Send". A confirmation popup will appear showing +transaction details. Carefully review the transaction and click the "Confirm" +button. + +![Transfer confirmation dialog](../../images/wallet/web/transfer.png) + + + + +To receive tokens, open the *Wallet screen* and copy the `oasis1` account +address at the top. You can also scan or store a QR code corresponding to your +account on the right side of the screen. + +![The Wallet screen](../../images/wallet/web/wallet.png) + + + + +## Stake + +To [stake your tokens](../staking-and-delegating.md) open the *Stake screen*. +The list of validators will appear, their status, current escrow and the +commission fee. Follow the sections below to delegate or undelegate your tokens. + +![Stake screen](../../images/wallet/web/stake.png) + + + + +1. To delegate tokens, select the preferred validator you wish to delegate your + tokens to by clicking on it. Fill in the amount and click the "Delegate" + button. + + ![Stake screen: Selected validator](../../images/wallet/web/delegate1.png) + +2. A confirmation popup will appear showing transaction details. Carefully + review the transaction and click the "Confirm" button. + + ![Delegate confirmation dialog](../../images/wallet/web/delegate2.png) + +3. In a while, your delegated tokens will appear under the "Active delegations" + tab. + + ![Active delegations](../../images/wallet/web/delegate3.png) + + + + +1. To undelegate, click on a validator in the "Active delegations" tab, enter + the amount of tokens you wish to undelegate and click "Reclaim". You can also + click the "Reclaim all" button to undelegate all delegated tokens from this + validator. + + ![Active delegations](../../images/wallet/web/undelegate1.png) + +2. A confirmation popup will appear showing transaction details. Carefully review + the transaction and click the "Confirm" button. + + ![Undelegate confirmation dialog](../../images/wallet/web/undelegate2.png) + +3. In a while, your undelegated tokens will enter the **debonding period**. You can + check out all the delegations that are in the debonding period in the "Debonding + delegations" tab. + + ![Debonding delegations](../../images/wallet/web/undelegate3.png) + + + + +## ParaTimes + +To move tokens from the consensus layer to a ParaTime (**deposit**) or the +other way around (**withdrawal**), open the *ParaTime screen*. Click on the +"Deposit to ParaTime" or "Withdraw from ParaTime" button and follow the sections +below. + +![The ParaTime screen](../../images/wallet/web/paratimes.png) + + + + +1. Select the ParaTime you wish to deposit your tokens to and click "Next". + + ![Deposit tokens: Select ParaTime](../../images/wallet/web/deposit1.png) + +2. Enter the recipient address in the ParaTime. For EVM-compatible + ParaTimes you will need to enter a hex-encoded address starting with `0x` and + for other ParaTimes the Oasis native address starting with `oasis1`. Click + "Next". + + ![Deposit tokens: Recipient address](../../images/wallet/web/deposit2.png) + +3. Enter the amount to deposit. + + The gas fee and price will automatically be computed. You can toggle the + "Advanced" button to set it manually. + + Finally, click "Next". + + ![Deposit tokens: Amount](../../images/wallet/web/deposit3.png) + +4. Review deposit details, check the "I confirm the amount and the address are + correct" and click the "Deposit" button. + + ![Deposit tokens: Review deposit](../../images/wallet/web/deposit4.png) + + Once the deposit transaction is confirmed the tokens will appear on your + ParaTime account. + + ![Deposit tokens: Deposit complete](../../images/wallet/web/deposit5.png) + + + + +1. Select the ParaTime you wish to withdraw your tokens from and click "Next". + + ![Withdraw tokens: Select ParaTime](../../images/wallet/web/withdraw1.png) + +2. Enter the recipient address on the consensus layer below. + + If the ParaTime is EVM-compatible you will also need to enter the + **hex-encoded private key** of the account on the ParaTime which you are + withdrawing from. If you are using a [profile](#user-profile), the **private + key will be stored for any future withdrawals**. For other ParaTimes, the + withdrawal transaction will be signed with the **private key of your + currently selected account in your wallet**. + + Click "Next" to continue. + + ![Withdraw tokens: Recipient address](../../images/wallet/web/withdraw2.png) + +3. Enter the amount to withdraw. + + The gas fee and price will automatically be computed. You can toggle the + "Advanced" button to set it manually. + + Finally, click "Next". + + ![Withdraw tokens: Amount](../../images/wallet/web/withdraw3.png) + +4. Review withdrawal details, check the "I confirm the amount and the address + are correct" and click the "Withdraw" button. + + ![Withdraw tokens: Review withdrawal](../../images/wallet/web/withdraw4.png) + + Once the withdrawal transaction is confirmed the tokens will appear on your + consensus account. + + ![Withdraw tokens: Withdrawal complete](../../images/wallet/web/withdraw5.png) + + + + +## Buy + +You can buy ROSE directly from within the wallet by opening the *Buy screen*. +The Oasis Wallet team integrated a 3rd party [Transak](https://transak.com/) +service which performs the necessary KYC, supports various payment methods, buys +the tokens on the market and transfers them to your currently selected account. + +![Buy tokens directly from the wallet](../../images/wallet/web/buy.png) + +## Account options + +When you have at least one account opened, click on the account jazz icon in the +top-right corner. A popup will appear. + +![Settings popup](../../images/wallet/web/settings-my-accounts.png) + +### My Accounts + +Select a different account and click "Select" to switch the current account. + +### Contacts + +Contains a list of named addresses similar to the address book. + +### Profile + +Used to change the password or delete your [profile](#user-profile). + +### Settings + +You can change the wallet language and toggle between the light and the dark +theme. + +![Account popup: Change theme](../../images/wallet/web/account-popup-theme-dark.png) + +If you do not have a profile, a sun/moon icon will be shown in the +lower-left corner. + +![Toggle between light mode and dark mode, no profile](../../images/wallet/web/no-profile-dark-theme.png) + +## Share your feedback with us + +If you have any questions or issues using the +[Oasis Wallet - Web](https://github.com/oasisprotocol/oasis-wallet-web/), you +can [submit a GitHub issue](https://github.com/oasisprotocol/oasis-wallet-web/issues), +and the dev team will take a look. You can also connect with us to share your +feedback via [Discord](https://oasis.io/discord) or +[Telegram](https://t.me/oasisprotocolcommunity). diff --git a/docs/general/manage-tokens/staking-and-delegating.md b/docs/general/manage-tokens/staking-and-delegating.md index f01b7b3051..62d1d2adaa 100644 --- a/docs/general/manage-tokens/staking-and-delegating.md +++ b/docs/general/manage-tokens/staking-and-delegating.md @@ -1,63 +1,94 @@ # Staking and Delegating -Staking and Delegation on the Oasis Network is a wonderful way to hold your ROSE -tokens. -Here are a few key resources to get started! - -## Rewards and Tokenomics - -Staking rewards vary over the course of the Network. In the first four years rewards will range between 20-2% over time. More [here](../oasis-network/token-metrics-and-distribution.mdx#staking-incentives). - -## How to Stake and Delegate - -The Oasis Network is supported by an amazing community of validators and infrastructure providers. Many provide services to help you set up your own validator node and/or make delegation easy. - -### Tools to use for Staking and Delegation - -In addition to using the [Oasis CLI](cli/README.md) for generating the `staking.AddEscrow` transaction, there are a number of wallets and custodians that support staking and delegation on the Oasis Network. Those include: - -* [Oasis Wallet - Web](oasis-wallets/web.md) -* [Oasis Wallet - Browser Extension](oasis-wallets/browser-extension.md) -* [Copper.co](#rewards-and-tokenomics) (custodian) -* [Anchorage](https://anchorage.com) (custodian) -* [Finoa](https://finoa.io) (custodian) - -You can obtain the list of active validators including their fee and contact information at the Oasis block explorers such as the [Oasis Scan](https://www.oasisscan.com/validators) or the [Oasis Monitor](https://oasismonitor.com/validators). The wallets will also obtain that list from one of the block explorers so you can easily browse through the validators and select the one that you prefer. +The Oasis Network is a proof-of-stake network. This means that the **voting +power of an entity in the network is determined by the amount of tokens staked +to that entity**. For example, this amount determines, how frequent the +validator will be elected to propose a new block. Each epoch, the staking +reward is distributed among the validators based on the amount of *staked* +tokens. You can check out the **current staking rewards** in the [Token metrics +chapter][current staking rewards]. + +But it's not just the validators that can stake. You can *delegate* your tokens +to a validator and earn **passive income**, when the validator receives the +staking reward. Of course, the validator may take their cut (the *commission +fee*) for running the validator node hardware, but in essence staking **improves +the security of the network** because paying the commission fee rewards good +validators and expels the malicious ones. Keep in mind that the validator's +misbehavior **will result in _slashing_** or even **losing a portion of the +staked tokens**! + +[current staking rewards]: ../oasis-network/token-metrics-and-distribution.mdx#staking-incentives + +When you undelegate your tokens, you will need to wait the **debonding period** +to pass in which you will not earn any rewards. Currently, this period is **336 +epochs (~14 days)**. + +## How to Delegate? + +Staking can only be performed on the **consensus layer**. Currently, the Oasis +Wallet - Web and the Browser extension require that you delegate your tokens +explicitly from your consensus account. The Oasis CLI and some dApps running in +ParaTimes also allow you to implicitly delegate tokens from your ParaTime +account. + +Check out the current validator set, their escrow of staked tokens, the +commission rate, and the availability in the [Oasis Scan explorer][explorer-validators]. + +![The validator set in the morning of March 29, 2024](../images/manage-tokens/oasisscan_validators.png) :::info -Some validators prefer anonymity and they do not list their name or any contact information. In this case only their entity's Oasis address is shown. +Some validators prefer anonymity and they do not list their name or any contact +information. In this case only their entity's Oasis address is shown. ::: -You can stop staking and reclaim your tokens at any time. This can be done with a CLI tool or any of the wallets mentioned above. After sending the corresponding `staking.ReclaimEscrow` transaction, your tokens will, to ensure the network security and robustness, enter the **debonding period** defined in the current [genesis](../../node/mainnet/README.md) document. Currently, this period is 336 epochs (around 14 days) and no staking rewards are earned for the duration of this period. Afterwards your ROSE will be free to use. - -:::danger - -**Staking your ROSE is a different transaction than sending them!** When you stake your tokens (`staking.Escrow` transaction), you can reclaim them at any time. Sending your tokens (`staking.Transfer` transaction) on the other hand means that the **receiver will own the tokens and there is no way of retrieving that tokens back by yourself**. +Regardless of which validator you pick, **you will earn the same reward as long +as the validator is online, proposes and signs valid blocks**. We recommend +that you consider delegating your tokens to the ones without the largest +delegations since this **concentrates the voting power and potentially reduces +the network security**. -If you happen to send your tokens to the validator instead of staking them, try contacting the validator via email or other channels listed on the block explorers and kindly ask them to send the tokens back to you. Know that it is completely up to them to send the tokens back and there is no other mechanism of doing it. +Once you decided which validator you want to delegate to, consult the following +sections based on your wallet for a step-by-step walkthrough: -::: +* [Oasis Wallet - Web](oasis-wallets/web.mdx#stake) +* [Oasis Wallet - Browser Extension](oasis-wallets/browser-extension.mdx#stake) +* [Oasis CLI](cli/account.md#delegate) -### Verify your Staking and Delegations +:::danger Staking your ROSE is a different transaction than sending them! -* Use the [Oasis Scan block explorer](https://www.oasisscan.com) and verify your Staking (Escrow) by entering your `oasis1` wallet address. Check the "Amount" column in the "Escrow Active" section to see all your active ROSE delegations. +When you stake your tokens (the `staking.Escrow` transaction), you can reclaim +them at any time. Sending your tokens (the `staking.Transfer` transaction) on the +other hand means that the **receiver will own the tokens and there is no way of +retrieving that tokens back by yourself**. -![Account details of entered oasis1 address in Oasis Scan](../images/manage-tokens/oasisscan_account_details.png) +If you happen to send your tokens to the validator instead of staking them, try +contacting the validator via email or other channels listed on the block +explorers and kindly ask them to send the tokens back to you. Know that it is +completely up to them to send the tokens back and there is no other mechanism of +doing it. -* Alternatively, you can use the [Oasis Web Wallet](https://wallet.oasis.io), to verify the status of your delegations. +::: -![Account details of searched oasis1 address in Official Web Wallet](../images/wallet/web/active_delegations.png) +After you delegated your tokens, [check your account balance][check-account]. +If the Escrow is correct, then congratulations, your tokens are successfully +staked! -:::info +:::tip -You don't need to open your wallet, you can just search your `oasis1` address. +Some custody providers may also allow delegation of your tokens. Check out the +[custody providers][custody-providers] chapter to learn more. ::: +[check-account]: ./README.mdx#check-your-account +[explorer-validators]: https://www.oasisscan.com/validators +## Become a validator yourself? -### Run your own Node +If you find the validator commission rates too high, you may be interested in +**running your own node and become a validator**. You can get started +[here](../../node/README.mdx). Be sure to +[join the **#node-operators** channel on Discord and sign up for the node operator mailing list](../../get-involved/README.md)! -If you're interested in running your own node and become a validator you can get started [here](../../node/README.mdx). Be sure to [join the **#node-operators** channel on Discord and sign up for the node operator mailing list](../../get-involved/README.md)! diff --git a/docs/general/manage-tokens/terminology.md b/docs/general/manage-tokens/terminology.md index 8510726b12..fbcc05a7a6 100644 --- a/docs/general/manage-tokens/terminology.md +++ b/docs/general/manage-tokens/terminology.md @@ -30,6 +30,9 @@ corresponding entity's public key, prefixed by a 1 byte address version. It uses [Bech32 encoding] for text serialization with `oasis` as its human readable part (HRP) prefix. +EVM-compatible ParaTimes running on the Oasis compute layer **may use** +EVM-compatible 20-byte addresses in hex format (starting with `0x`). + ## Delegation You can **delegate** your tokens by submitting an **escrow** transaction that diff --git a/docs/general/oasis-network/why-oasis.md b/docs/general/oasis-network/why-oasis.md index 57f1193636..4450637064 100644 --- a/docs/general/oasis-network/why-oasis.md +++ b/docs/general/oasis-network/why-oasis.md @@ -20,14 +20,45 @@ Designed for the next generation of blockchain, the Oasis Network is the first p ### Technology Highlights -* **Separates consensus and execution into two layers**, the consensus layer and The ParaTime layer, for better scalability and increased versatility. -* Separation of consensus and execution allows **multiple ParaTimes to process transactions in parallel**, meaning complex workloads processed on one ParaTime won’t slow down faster, simpler transactions on another. -* **The ParaTime layer is entirely decentralized, allowing anyone to develop and build their own ParaTime.** Each ParaTime can be developed in isolation to meet the needs of a specific application, such as confidential compute, open or closed committees, and more. -* The network’s sophisticated discrepancy detection makes **Oasis more efficient than sharding and parachains**, requiring a smaller replication factor for the same level of security. -* **There are 3 ParaTimes built by the Oasis core team already on the network.** - * **Emerald ParaTime, the EVM-Compatible ParaTime**, was built to solve the problems faced by Solidity developers. High fees and low throughput. Emerald solves both of these problems by increasing the throughput of transactions to 1,000 per second and reducing fees by 99%+ compared to Ethereum. This means more users will be able to use and build on the network. - * **Cipher ParaTime, the confidential smart contract ParaTime**, holds the features that Oasis is known for — privacy-preserving smart contracts. As with Emerald, it boasts high throughput, instant finality, and low fees with added privacy-preserving features. Cipher enables DEX’s to stop front-running transactions, NFT users to protect their assets privately, and can potentially unlock trillions in credit and lending markets from traditional finance. Cipher executes smart contracts compiled in Oasis Wasm. Currently, we offer tooling for the [Rust programming language] which is very rigorous about memory management and thus suitable for security-first apps. - * **Sapphire ParaTime, the EVM-Compatible confidential smart contract ParaTime** is the latest addition to the Oasis ecosystem. It enables confidential computation of the smart contracts written in Solidity or other EVM-compatible language. In contrast to Cipher, dApp developers can integrate Sapphire for privacy-preserving data storage, governance, and computation into their applications with little or no additional work to existing smart contracts code. +* **Separates consensus and execution into two layers**, the consensus layer and + the ParaTime layer, for better scalability and increased versatility. +* Separation of consensus and execution allows **multiple ParaTimes to process + transactions in parallel**, meaning complex workloads processed on one + ParaTime won’t slow down transactions on another. +* **The ParaTime layer is entirely decentralized, allowing anyone to register, + develop and deploy their own ParaTime.** Each ParaTime can be developed in + isolation to meet the needs of a specific application, such as confidential + compute, open or closed committees, and more. +* ParaTimes can be used as a **truly scalable and fundamentally cheaper L2 + technology** since the transaction gas fee and congestion doesn't affect the + underlying consensus layer block and the other way around. +* The network’s sophisticated discrepancy detection makes **Oasis more efficient + than sharding and parachains**, requiring a smaller replication factor for the + same level of security. +* There are **3 ParaTimes** built by the Oasis core team and currently deployed + on the network for general availability: + * **Sapphire ParaTime, the EVM-Compatible confidential smart contract ParaTime** + enables confidential computation of the smart contracts written in Solidity + or other EVM-compatible language. DApp developers can integrate Sapphire for + privacy-preserving data storage, governance, and computation into their + applications with little or no additional work to existing smart contracts + code. + * **Cipher ParaTime, the confidential smart contract ParaTime**, was the first + ParaTime deployed by the Oasis team that supports privacy-preserving smart + contracts. As with other compute ParaTimes, it boasts high throughput, + instant finality, and low fees with added privacy-preserving features. + Cipher enables DEX’s to stop front-running transactions, NFT users to + protect their assets privately, and can potentially unlock trillions in + credit and lending markets from traditional finance. Cipher executes smart + contracts compiled in **Oasis Wasm**. Currently, we offer tooling for the + [Rust programming language] which is very rigorous about memory management + and thus suitable for security-first dApps. + * **Emerald ParaTime, the EVM-Compatible ParaTime**, was built to solve the + problems faced by Solidity developers. High fees and low throughput. Emerald + solves both of these problems by increasing the throughput of transactions + to 1,000 per second and reducing fees by 99%+ compared to Ethereum. This + means more users will be able to use and build on the network. Emerald does + not support confidential computation. [Rust programming language]: https://www.rust-lang.org/ diff --git a/docs/node/mainnet/eden-upgrade.md b/docs/node/mainnet/eden-upgrade.md index 9565a84c01..3d68cbef43 100644 --- a/docs/node/mainnet/eden-upgrade.md +++ b/docs/node/mainnet/eden-upgrade.md @@ -283,7 +283,7 @@ version 11.0.0 before or soon after the network upgrade is completed. ::: [Change Log]: - https://github.com/oasisprotocol/oasis-core/blob/v23.0.x/CHANGELOG.md + https://github.com/oasisprotocol/oasis-core/blob/stable/23.0.x/CHANGELOG.md ### Data Directory Changes diff --git a/docs/node/mainnet/previous-upgrades/mainnet-upgrade.md b/docs/node/mainnet/previous-upgrades/mainnet-upgrade.md index 7cdcfc77b4..619e699651 100644 --- a/docs/node/mainnet/previous-upgrades/mainnet-upgrade.md +++ b/docs/node/mainnet/previous-upgrades/mainnet-upgrade.md @@ -23,7 +23,7 @@ In order to transition from Mainnet Beta to Mainnet, community members have coll * [x] At least one qualified custodian supports the native ROSE token. * _Currently, Anchorage and Finoa support the ROSE token. See_ [_Custody Providers_](../../../general/manage-tokens/holding-rose-tokens/custody-providers.md) _part of our docs._ * [x] At least one web wallet or hardware wallet supports native ROSE token. - * _Currently, Bitpie mobile wallet and RockX Ledger-backed web wallet are available and support ROSE token transfers. Support for staking and delegation is in development. See_ [_3rd Party Wallets_](../../../general/manage-tokens/holding-rose-tokens/) _and_ [_Oasis Wallets_](../../../general/manage-tokens/oasis-wallets/README.mdx) _parts of our docs._ + * _Currently, Bitpie mobile wallet and RockX Ledger-backed web wallet are available and support ROSE token transfers. Support for staking and delegation is in development. See_ [_3rd Party Wallets_](../../../general/manage-tokens/holding-rose-tokens/) _and_ [_Oasis Wallets_](../../../general/manage-tokens/oasis-wallets) _parts of our docs._ [archived - block explorers]: https://github.com/oasisprotocol/docs/blob/0aeeb93a6e7c9001925923661e4eb3340ec4fb4b/docs/general/community-resources/community-made-resources.md#block-explorers--validator-leaderboards-block-explorers-validator-leaderboards diff --git a/docs/node/mainnet/upgrade-log.md b/docs/node/mainnet/upgrade-log.md index bd2320dfce..3cd6f77295 100644 --- a/docs/node/mainnet/upgrade-log.md +++ b/docs/node/mainnet/upgrade-log.md @@ -75,7 +75,7 @@ network, while the other is used to bootstrap the Oasis P2P network. ::: [Change Log]: - https://github.com/oasisprotocol/oasis-core/blob/v23.0.x/CHANGELOG.md + https://github.com/oasisprotocol/oasis-core/blob/stable/23.0.x/CHANGELOG.md ### Data Directory Changes diff --git a/docs/node/run-your-node/validator-node.mdx b/docs/node/run-your-node/validator-node.mdx index 9b60103332..9bc7f7b113 100644 --- a/docs/node/run-your-node/validator-node.mdx +++ b/docs/node/run-your-node/validator-node.mdx @@ -68,7 +68,7 @@ as needed to accommodate your preferences. An entity is critical to operating nodes on the network as it controls the stake attached to a given individual or organization on the network. The entity is -represented as a consensus-layer account using the Ed25519 encryption scheme. +represented as a consensus-layer account using the Ed25519 signature scheme. To protect your entity private key, we strongly recommend using a [hardware wallet] such as [Ledger]. diff --git a/docusaurus.config.ts b/docusaurus.config.ts index fef9a26a8b..5f5b1a3864 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -209,6 +209,10 @@ const config: Config = { label: 'Discord', to: 'https://oasis.io/discord', }, + { + label: 'Telegram', + to: 'https://t.me/oasisprotocolcommunity', + }, { label: 'Youtube', to: 'https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ', diff --git a/external/sapphire-paratime b/external/sapphire-paratime index 0b8cac1670..df3c861fa0 160000 --- a/external/sapphire-paratime +++ b/external/sapphire-paratime @@ -1 +1 @@ -Subproject commit 0b8cac1670610960b2034229e74bc7854529c015 +Subproject commit df3c861fa09979c0041f5dbeabac9df4984c3e75 diff --git a/redirects.ts b/redirects.ts index 1cbb5ce7ba..9688c91522 100644 --- a/redirects.ts +++ b/redirects.ts @@ -17,7 +17,7 @@ export const redirectsOptions: Options = { ], }, { - to: '/general/manage-tokens/how-to-transfer-rose-into-paratime', + to: '/general/manage-tokens/', from: [ '/general/manage-tokens/how-to-transfer-rose-into-emerald-paratime', // #171 Add sapphire docs '/general/manage-tokens/how-to-transfer-rose-into-evm-paratime', // #200 Restructure docs @@ -165,7 +165,10 @@ export const redirectsOptions: Options = { }, { to: '/general/manage-tokens/', - from: '/general/manage-tokens/overview', // #200 Restructure docs + from: [ + '/general/manage-tokens/overview', // #200 Restructure docs + '/general/manage-tokens/how-to-transfer-rose-into-paratime', // #777 Revamp manage-tokens chapters + ] }, { to: '/general/manage-tokens/holding-rose-tokens/ledger-wallet/', diff --git a/sidebarGeneral.ts b/sidebarGeneral.ts index be5718bba6..f95e71b1e0 100644 --- a/sidebarGeneral.ts +++ b/sidebarGeneral.ts @@ -39,22 +39,31 @@ export const sidebarGeneral: SidebarsConfig = { 'general/manage-tokens/staking-and-delegating', { type: 'category', - label: 'Oasis Wallets', + label: 'Oasis ROSE Wallets', link: { - type: 'doc', - id: 'general/manage-tokens/oasis-wallets/README', + type: 'generated-index', + description: "The Oasis team developed two wallets specialized for the Oasis Network transactions. You can learn how to use them below.", + slug: 'general/manage-tokens/oasis-wallets', }, items: [ - 'general/manage-tokens/oasis-wallets/web', - 'general/manage-tokens/oasis-wallets/browser-extension', + { + type: 'doc', + label: 'Web', + id: 'general/manage-tokens/oasis-wallets/web' + }, + { + type: 'doc', + label: 'Browser Extension', + id: 'general/manage-tokens/oasis-wallets/browser-extension' + } ] }, { type: 'category', - label: '3rd Party Custody & Wallets', + label: '3rd Party Wallets and Services', link: { type: 'generated-index', - description: "This document provides an overview of 3rd party custody and wallet solutions supported by the Oasis Network for managing ROSE tokens.", + description: "There is a number of 3rd party services, tools and wallets out there which support the Oasis network. Some of them are categorized below. Keep in mind that these products were developed by 3rd parties and the Oasis Protocol Foundation cannot be held responsible for any security vulnerabilities or malicious activity.", slug: 'general/manage-tokens/holding-rose-tokens', }, items: [ @@ -62,7 +71,6 @@ export const sidebarGeneral: SidebarsConfig = { 'general/manage-tokens/holding-rose-tokens/ledger-wallet', ] }, - 'general/manage-tokens/how-to-transfer-rose-into-paratime', 'general/manage-tokens/how-to-transfer-eth-erc20-to-emerald-paratime', { type: 'category', diff --git a/src/css/custom.css b/src/css/custom.css index 438719cf3c..26f07ec68c 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -144,3 +144,10 @@ html[data-theme="dark"] { html[data-theme='dark'] main img { background-color: #fff; } + +/* Show the content of tabs slightly indented with a border on the left */ +.tabs-container > div { + margin-top: inherit !important; + padding: 1rem; + border-left: 3px solid var(--ifm-tabs-color-active-border); +}