diff --git a/docs/dapp/README.mdx b/docs/dapp/README.mdx
index bf8e2f188c..c483db2237 100644
--- a/docs/dapp/README.mdx
+++ b/docs/dapp/README.mdx
@@ -35,3 +35,65 @@ Sapphire, demonstrates best practices for writing confidential smart contracts
and working examples for you to explore and extend.
+
+# Consensus Layer RPC Endpoints
+
+:::danger
+
+The RPC endpoint is a **point of trust**. Beside rate limiting, it can also
+perform censorship or even man-in-the-middle attack. If you have security
+considerations, we strongly recommend that you [run your own client
+node][non-validator-node],
+
+:::
+
+[non-validator-node]: ../node/run-your-node/non-validator-node.mdx
+
+Most dApp developers will build dApps on the ParaTime layer (the *compute*
+layer) depicted above. For Sapphire and Emerald which are EVM-compatible chains,
+those dApps connect directly to an [EVM-compatible Web3 endpoint][web3].
+However, if you are building a dApp for Cipher or the one that needs to
+perform consensus operations such as the consensus-layer token transfers,
+governance transactions, cross-chain ParaTime deposits and withdrawals and
+similar, you will need to connect to the one of the endpoints speaking
+[Oasis gRPC][grpc].
+
+Public gRPC endpoints (in alphabetic order):
+
+| Provider | Mainnet URL | Testnet URL |
+|-----------------------------|---------------------|-----------------------------|
+| [Oasis Protocol Foundation] | `grpc.oasis.io:443` | `testnet.grpc.oasis.io:443` |
+
+[Oasis Protocol Foundation]: https://oasisprotocol.org
+[web3]: ../node/web3.mdx
+[grpc]: ../node/grpc.mdx
+
+## Consensus Layer Block Explorers
+
+| Provider | Mainnet URL | Testnet URL |
+|-----------------------------|---------------------------|-------------------------------|
+| [Bit Cat] | https://www.oasisscan.com | https://testnet.oasisscan.com |
+| [Oasis Protocol Foundation] | *Coming soon* | *Coming soon* |
+
+[Bit Cat]: https://www.bitcat365.com/
+
+## Rosetta Endpoints
+
+| Provider | Mainnet URL | Testnet URL |
+|-----------------------------|-------------------------------------------|-------------------------------------------|
+| [Oasis Protocol Foundation] | `https://rosetta.oasis.io/api/mainnet/v1` | `https://rosetta.oasis.io/api/testnet/v1` |
+
+
+:::tip
+
+If you are running your own Oasis client node endpoint, a block explorer or the
+Rosetta gateway and you wish to be added to the public list above, open an issue
+at [github.com/oasisprotocol/docs].
+
+:::
+
+[github.com/oasisprotocol/docs]: https://github.com/oasisprotocol/docs/issues
+
+# See also
+
+
diff --git a/docs/dapp/cipher/README.mdx b/docs/dapp/cipher/README.mdx
index 2ed7041e1e..561f6c63b6 100644
--- a/docs/dapp/cipher/README.mdx
+++ b/docs/dapp/cipher/README.mdx
@@ -4,29 +4,32 @@ import {findSidebarItem} from '@site/src/sidebarUtils';
# Cipher ParaTime
-The Cipher ParaTime is a Confidential ParaTime for executing Wasm smart contracts.
+Cipher is a confidential ParaTime for executing Wasm smart contracts.
As the officially supported ParaTime by the Oasis Protocol Foundation, Cipher
allows for:
-* Flexibility — Developer can define which data to store in a public
+* Flexibility: developer can define which data to store in a public
and which data in the (more expensive) confidential storage
-* Security — Rust language primarily used for writing Wasm smart contracts is
- known for its strict memory management and was developed specifically to
+* Security: the [rust language] primarily used for writing Wasm smart contracts
+ is known for its strict memory management and was developed specifically to
avoid memory leaks
-* Scalability — increased throughput of transactions
-* Low-cost — 99%+ lower fees than Ethereum
+* Scalability: increased throughput of transactions
+* Low-cost: 99%+ lower fees than Ethereum
+* 6 second finality (1 block)
* Cross-chain bridge to enable cross-chain interoperability (upcoming)
If you're looking for EVM-compatible ParaTimes, check out the
[Emerald](../emerald/README.mdx) and the confidential
[Sapphire](../sapphire/README.mdx) paratimes.
-## Smart Contracts Development
+[rust language]: https://www.rust-lang.org/
-The Cipher ParaTime implements the [Oasis Contract SDK] API. To learn how to
-write a confidential smart contract in Rust and deploy it on the Oasis Cipher
-ParaTime, read the related Oasis Contract SDK chapters:
+## Smart Contract Development
+
+Cipher implements the [Oasis Contract SDK] API. To learn how to write a
+confidential smart contract in Rust and deploy it on Cipher, read the related
+Oasis Contract SDK chapters:
+## RPC Endpoints
+
+:::danger
+
+The RPC endpoint is a *point of trust*. Beside traffic rate limiting, it can
+also perform censorship or even a man-in-the-middle attack. If you have security
+considerations, we strongly recommend that you set up your own [ParaTime client
+node][paratime-client-node].
+
+:::
+
+Cipher endpoints share the gRPC protocol with the Oasis Core. You can connect to
+one of the public endpoints below (in alphabetic order):
+
+[paratime-client-node]: ../../node/run-your-node/paratime-client-node.mdx
+
+| Provider | Mainnet RPC URLs | Testnet RPC URLs |
+|-----------------------------|---------------------|-----------------------------|
+| [Oasis Protocol Foundation] | `grpc.oasis.io:443` | `testnet.grpc.oasis.io:443` |
+
+[Oasis Protocol Foundation]: https://oasisprotocol.org
+
+## Block Explorers
+
+No block explorers are available for Cipher yet. Consider debugging the Cipher
+blocks using the [`oasis paratime show`] command in [Oasis CLI].
+
+[`oasis paratime show`]: ../../general/manage-tokens/cli/paratime.md#show
+[Oasis CLI]: ../../general/manage-tokens/cli/README.md
+
+:::tip
+
+If you are running your own Cipher endpoint and you wish to be added to the
+public list above, open an issue at [github.com/oasisprotocol/docs].
+
+:::
+
+[github.com/oasisprotocol/docs]: https://github.com/oasisprotocol/docs
+
## See also
{
- if (!window.ethereum?.request) {
- return alert('Have you installed MetaMask yet? If not, please do so.\n\nComputer: Once it is installed, you will be able to add the ParaTime to your MetaMask.\n\nPhone: Open the website through your MetaMask Browser to add the ParaTime.')
- }
- window.ethereum.request({
- method: 'wallet_addEthereumChain',
- params: [
- {
- chainId: '0xa516',
- chainName: 'Oasis Emerald',
- nativeCurrency: {
- name: 'Emerald Rose',
- symbol: 'ROSE',
- decimals: 18,
- },
- rpcUrls: ['https://emerald.oasis.dev', 'wss://emerald.oasis.dev/ws'],
- blockExplorerUrls: ['https://explorer.emerald.oasis.dev'],
- },
- ],
- })
- }}
->
- Click here to register Emerald Mainnet to your MetaMask or Brave Wallet
-
+The RPC endpoint is a *point of trust*. Beside traffic rate limiting, it can
+also perform censorship or even a man-in-the-middle attack. If you have security
+considerations, we strongly recommend that you set up your own [ParaTime client
+node][paratime-client-node] and the [Web3-compatible gateway].
-### Testnet
+:::
+
+
+[Web3-compatible gateway]: ../../node/web3.mdx
+[paratime-client-node]: ../../node/run-your-node/paratime-client-node.mdx
+
+You can connect to one of the public Web3 gateways below (in alphabetic order):
+
+| Provider | Mainnet RPC URLs | Testnet RPC URLs |
+|-----------------------------|-------------------------------------------------------------------------|------------------------------------------------------------------------------------------|
+| [1RPC] | | N/A |
+| [Oasis Protocol Foundation] | | |
+
+[Oasis Protocol Foundation]: https://oasisprotocol.org
+
+Public RPCs may have rate limits or traffic restrictions. For professional,
+dedicated RPC endpoints, consider the following providers (in alphabetic order):
+
+| Provider | Instructions | Pricing |
+|---------------------------|---------------------------|-------------------------|
+| [1RPC] | [docs.1rpc.io][1RPC-docs] | [Pricing][1RPC-pricing] |
+
+
+[1RPC]: https://www.1rpc.io/
+[1RPC-docs]: https://docs.1rpc.io/guide/how-to-use-1rpc
+[1RPC-pricing]: https://www.1rpc.io/#pricing
+
+## Block Explorers
+
+| Provider | Mainnet URL | Testnet URL | EIP-3091 compatible |
+|-----------------------------|-------------------------------------------|-------------------------------------------|---------------------|
+| [Oasis Protocol Foundation] | https://explorer.oasis.io/mainnet/emerald | https://explorer.oasis.io/testnet/emerald | Yes |
+
+:::tip
+
+If you are running your own Emerald endpoint or a block explorer, and you wish
+to be added to the public list above, open an issue at
+[github.com/oasisprotocol/docs].
-* RPC HTTP endpoint: `https://testnet.emerald.oasis.dev`
-* RPC WebSockets endpoint: `wss://testnet.emerald.oasis.dev/ws`
-* Chain ID:
- * Hex: 0xa515
- * Decimal: 42261
-* Block explorer: [https://testnet.explorer.emerald.oasis.dev](https://testnet.explorer.emerald.oasis.dev)
-
-
+:::
+[github.com/oasisprotocol/docs]: https://github.com/oasisprotocol/docs
## See also
diff --git a/docs/dapp/emerald/integrating-band-oracle-smart-contract.md b/docs/dapp/emerald/integrating-band-oracle-smart-contract.md
index 16f861e0b7..dcbe88855f 100644
--- a/docs/dapp/emerald/integrating-band-oracle-smart-contract.md
+++ b/docs/dapp/emerald/integrating-band-oracle-smart-contract.md
@@ -44,7 +44,7 @@ The `savePrice` function will save any base/quote rate that is passed to it in t
### Mainnet Reference Data Contract
-You can access the reference data aggregator contract on mainnet at [0xDA7a001b254CD22e46d3eAB04d937489c93174C3](https://explorer.emerald.oasis.dev/address/0xDA7a001b254CD22e46d3eAB04d937489c93174C3/transactions).
+You can access the reference data aggregator contract on Mainnet at [0xDA7a001b254CD22e46d3eAB04d937489c93174C3](https://explorer.oasis.io/mainnet/emerald/address/0xDA7a001b254CD22e46d3eAB04d937489c93174C3).
### Available Reference Data
diff --git a/docs/dapp/emerald/writing-dapps-on-emerald.mdx b/docs/dapp/emerald/writing-dapps-on-emerald.mdx
index 116b4b8309..da29b0cc2a 100644
--- a/docs/dapp/emerald/writing-dapps-on-emerald.mdx
+++ b/docs/dapp/emerald/writing-dapps-on-emerald.mdx
@@ -41,7 +41,7 @@ ParaTime][how-to-deposit-rose] chapter to learn more.
[Ed25519]: https://en.wikipedia.org/wiki/EdDSA#Ed25519
[ECDSA]: https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm
[how-to-deposit-rose]: ../../general/manage-tokens/how-to-transfer-rose-into-paratime.mdx
-[Testnet faucet]: https://faucet.testnet.oasis.dev/
+[Testnet faucet]: https://faucet.testnet.oasis.io/
## Testnet and Mainnet
@@ -231,12 +231,12 @@ networks: {
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
emerald_testnet: {
- url: "https://testnet.emerald.oasis.dev",
+ url: "https://testnet.emerald.oasis.io",
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
emerald_mainnet: {
- url: "https://emerald.oasis.dev",
+ url: "https://emerald.oasis.io",
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
@@ -433,7 +433,7 @@ error description, for example:
-[mainnet-explorer]: https://explorer.emerald.oasis.dev
-[testnet-explorer]: https://testnet.explorer.emerald.oasis.dev
+[mainnet-explorer]: https://explorer.oasis.io/mainnet/emerald
+[testnet-explorer]: https://explorer.oasis.io/testnet/emerald
[mainnet-oasisscan]: https://oasisscan.com
[testnet-oasisscan]: https://testnet.oasisscan.com
diff --git a/docs/dapp/opl/build.md b/docs/dapp/opl/build.md
index 5fd1157561..c5920ed90a 100644
--- a/docs/dapp/opl/build.md
+++ b/docs/dapp/opl/build.md
@@ -90,7 +90,7 @@ index cd8df42..0875e8e 100644
+ accounts,
+ },
+ 'sapphire-testnet': {
-+ url: 'https://testnet.sapphire.oasis.dev',
++ url: 'https://testnet.sapphire.oasis.io',
+ chainId: 0x5aff,
+ accounts,
+ },
@@ -131,7 +131,7 @@ We can likewise deploy to [Testnet](../../dapp/sapphire/guide#testnet-and-mainne
with Sapphire.
In this case, we should prepare a wallet with Testnet tokens on both BNB Smart
-Chain [Faucet](https://testnet.bnbchain.org/faucet-smart) and Sapphire [faucet](https://faucet.testnet.oasis.dev).
+Chain [Faucet](https://testnet.bnbchain.org/faucet-smart) and Sapphire [faucet](https://faucet.testnet.oasis.io).
We will use a common private key for both the host and enclave smart contracts.
diff --git a/docs/dapp/sapphire/README.mdx b/docs/dapp/sapphire/README.mdx
index 4a2b0e858b..7aac65f0eb 100644
--- a/docs/dapp/sapphire/README.mdx
+++ b/docs/dapp/sapphire/README.mdx
@@ -1,10 +1,11 @@
import DocCardList from '@theme/DocCardList';
import {findSidebarItem} from '@site/src/sidebarUtils';
+import {AddSapphireToMetaMask as S, AddSapphireTestnetToMetaMask as ST} from '@site/src/AddToMetaMask';
# Sapphire ParaTime
-The Sapphire ParaTime is our official confidential EVM Compatible ParaTime
-providing a smart contract development environment with EVM compatibility.
+Sapphire is our official confidential ParaTime providing a smart contract
+development environment with [Ethereum Virtual Machine (EVM)] compatibility.
As the official confidential EVM-compatible ParaTime on the Oasis Network,
Sapphire allows for:
@@ -13,8 +14,8 @@ Sapphire allows for:
* EVM compatibility
* Easy integration with EVM-based dApps, such as DeFi, NFT, Metaverse and
crypto gaming
-* Scalability — increased throughput of transactions
-* Low-cost — 99%+ lower fees than Ethereum
+* Scalability: increased throughput of transactions
+* Low-cost: 99%+ lower fees than Ethereum
* 6 second finality (1 block)
* Cross-chain bridge to enable cross-chain interoperability (upcoming)
@@ -22,82 +23,80 @@ If you are not bound to EVM and you wish to develop dApps with more
fine-grained confidentiality, check out the
[Cipher ParaTime](../cipher/README.mdx).
-## Web3 Gateway
+[Ethereum Virtual Machine (EVM)]: https://ethereum.org/en/developers/docs/evm/
-To get started building on our Sapphire ParaTime, you can use our public Web3
-gateway, fully compatible with Ethereum's Web3 gateway.
+## Chain Information
### Mainnet
-* RPC HTTP endpoint: `https://sapphire.oasis.io`
-* RPC WebSockets endpoint: `wss://sapphire.oasis.io/ws`
-* Chain ID:
- * Hex: 0x5afe
- * Decimal: 23294
-* Block explorer: [https://explorer.sapphire.oasis.io](https://explorer.sapphire.oasis.io)
-
-
+- Network name: `sapphire`
+- Long network name: `Oasis Sapphire`
+- Chain ID:
+ - Hex: `0x5afe`
+ - Decimal: `23294`
### Testnet
-* RPC HTTP endpoint: `https://testnet.sapphire.oasis.dev`
-* RPC WebSockets endpoint: `wss://testnet.sapphire.oasis.dev/ws`
-* Chain ID:
- * Hex: 0x5aff
- * Decimal: 23295
-* Block explorer: [https://testnet.explorer.sapphire.oasis.dev](https://testnet.explorer.sapphire.oasis.dev)
-
-
+- Network name: `sapphire-testnet`
+- Long network name: `Oasis Sapphire Testnet`
+- Chain ID:
+ - Hex: `0x5aff`
+ - Decimal: `23295`
+
+## RPC Endpoints
+
+:::danger
+
+The RPC endpoint is a *point of trust*. Beside traffic rate limiting, it can
+also perform censorship or even a man-in-the-middle attack. If you have security
+considerations, we strongly recommend that you set up your own [ParaTime client
+node][paratime-client-node] and the [Web3-compatible gateway].
+
+:::
+
+[Web3-compatible gateway]: ../../node/web3.mdx
+[paratime-client-node]: ../../node/run-your-node/paratime-client-node.mdx
+
+You can connect to one of the public Web3 gateways below (in alphabetic order):
+
+| Provider | Mainnet RPC URLs | Testnet RPC URLs | Supports Confidential Queries |
+|-----------------------------|-------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|-------------------------------|
+| [1RPC] | | N/A | Yes |
+| [Oasis Protocol Foundation] | | | Yes |
+
+[Oasis Protocol Foundation]: https://oasisprotocol.org
+
+Public RPCs may have rate limits or traffic restrictions. For professional,
+dedicated RPC endpoints, consider the following providers (in alphabetic order):
+
+| Provider | Instructions | Pricing | Supports Confidential Queries |
+|--------------|----------------------------------------|-------------------------------|-------------------------------|
+| [1RPC] | [docs.1rpc.io][1RPC-docs] | [Pricing][1RPC-pricing] | Yes |
+| [Chainstack] | [docs.chainstack.com][Chainstack-docs] | [Pricing][Chainstack-pricing] | Yes |
+
+
+[1RPC]: https://www.1rpc.io/
+[1RPC-docs]: https://docs.1rpc.io/guide/how-to-use-1rpc
+[1RPC-pricing]: https://www.1rpc.io/#pricing
+[Chainstack]: https://chainstack.com/build-better-with-oasis-sapphire/
+[Chainstack-docs]: https://docs.chainstack.com/docs/oasis-sapphire-tooling
+[Chainstack-pricing]: https://chainstack.com/pricing/
+
+## Block Explorers
+
+| Provider | Mainnet URL | Testnet URL | EIP-3091 compatible |
+|-----------------------------|--------------------------------------------|--------------------------------------------|---------------------|
+| [Oasis Protocol Foundation] | https://explorer.oasis.io/mainnet/sapphire | https://explorer.oasis.io/testnet/sapphire | Yes |
+
+:::tip
+
+If you are running your own Sapphire endpoint or a block explorer, and you wish
+to be added to the public list above, open an issue at
+[github.com/oasisprotocol/docs].
+
+:::
+
+[github.com/oasisprotocol/docs]: https://github.com/oasisprotocol/docs
## See also
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 c3ac37957f..5584782b4e 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
@@ -93,6 +93,6 @@ Now you can start using that wrapped assets across new Oasis dApps like the firs
:::info
Make sure that your MetaMask is connected to the Emerald Mainnet chain. You
-can find the network parameters [here](../../dapp/emerald/README.mdx#web3-gateway).
+can find the network parameters [here](../../dapp/emerald/README.mdx#rpc-endpoints).
:::
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
index a74ed206af..5e31d374b3 100644
--- a/docs/general/manage-tokens/how-to-transfer-rose-into-paratime.mdx
+++ b/docs/general/manage-tokens/how-to-transfer-rose-into-paratime.mdx
@@ -158,8 +158,8 @@ 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/#web3-gateway) and/or
- [Emerald](/dapp/emerald/#web3-gateway) networks to Metamask. You can either
+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.
@@ -236,7 +236,7 @@ destination consensus address, and **amount** of ROSE transferred.
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.sapphire.oasis.dev).
+[Sapphire Blockchain Explorer](https://explorer.oasis.io/mainnet/sapphire).
:::
diff --git a/docs/general/oasis-network/token-metrics-and-distribution.mdx b/docs/general/oasis-network/token-metrics-and-distribution.mdx
index 7ea22d352d..95b22c56f8 100644
--- a/docs/general/oasis-network/token-metrics-and-distribution.mdx
+++ b/docs/general/oasis-network/token-metrics-and-distribution.mdx
@@ -1,6 +1,6 @@
-import FinalDistributionPieChart from './token_distribution/pie/Chart.tsx';
-import TokenDistributionChart from './token_distribution/Chart.tsx';
-import StakingRewardsChart from './staking_rewards/Chart.tsx';
+import FinalDistributionPieChart from '@site/src/token_distribution/pie/Chart.tsx';
+import TokenDistributionChart from '@site/src/token_distribution/Chart.tsx';
+import StakingRewardsChart from '@site/src/staking_rewards/Chart.tsx';
# Token Metrics and Distribution
@@ -50,7 +50,7 @@ The remaining allocations will be disbursed according to the following release s
-Alternative formats: [CSV](./token_distribution/data.csv)
+Alternative formats: [CSV](../../../src/token_distribution/data.csv), [JSON](../../../src/token_distribution/data.json)
## Fundraising History
@@ -72,7 +72,7 @@ Given the Oasis Network’s founding vision to become a world-class, public, per
-Alternative formats: [CSV](./staking_rewards/data.csv)
+Alternative formats: [CSV](../../../src/staking_rewards/data.csv), [JSON](../../../src/staking_rewards/data.json)
## Delegation Policy
diff --git a/docs/get-involved/run-node/paratime-node.mdx b/docs/get-involved/run-node/paratime-node.mdx
index 58b3dcc62c..b4e6413a64 100644
--- a/docs/get-involved/run-node/paratime-node.mdx
+++ b/docs/get-involved/run-node/paratime-node.mdx
@@ -49,7 +49,7 @@ the use of EVM smart contracts on the Oasis network.
* **Testnet Launch Date:** July 2022
* **Mainnet Launch Date:** Dec 2022
* **Discord Channel:** [#node-operators][connect-with-us]
-* **Requires SGX:** yes
+* **Requires SGX:** Yes
* **Parameters:**
* [Mainnet](../../node/mainnet/README.md#sapphire)
* [Testnet](../../node/testnet/README.md#sapphire)
@@ -136,17 +136,6 @@ committee on Mainnet, your entity needs to:
- Have a validator in the **validator set**.
-### Rewards
-
-* The ParaTime will release tokens on-chain to reward nodes for participation.
-* The reward program is 2 years long, and tokens will be released per epoch.
-* The reward will be 10\~20 ROSE tokens per entity per epoch, where the Oasis
- Protocol Foundation will make the final decision on the reward size upon the
- Cipher's Mainnet launch.
-* Incentivized Testnet with ROSE tokens delegated by the Oasis Protocol
- Foundation to Testnet participants based on performance (rewards can be found
- [here](https://oasis-foundation.medium.com/oasis-cipher-paratime-c9f40ae64946)).
-
diff --git a/docs/node/mainnet/README.md b/docs/node/mainnet/README.md
index ffa7f86eac..56ce302b4d 100644
--- a/docs/node/mainnet/README.md
+++ b/docs/node/mainnet/README.md
@@ -1,5 +1,7 @@
# Mainnet
+## Network Parameters
+
These are the current parameters for the Mainnet:
* [Genesis file](https://github.com/oasisprotocol/mainnet-artifacts/releases/download/2023-11-29/genesis.json):
@@ -7,7 +9,8 @@ These are the current parameters for the Mainnet:
:::info
-Genesis file is signed by [network's current maintainers](https://github.com/oasisprotocol/mainnet-artifacts/blob/master/README.md#pgp-keys-of-current-maintainers). To verify its authenticity, follow the [PGP verification instructions](https://github.com/oasisprotocol/mainnet-artifacts/blob/master/README.md#verifying-genesis-file-signatures).
+Genesis file is signed by [network's current maintainers]. To verify its
+authenticity, follow the [PGP verification instructions].
:::
@@ -36,11 +39,16 @@ The Oasis Node is part of the Oasis Core release.
:::danger
-Do not use a newer version of Oasis Core since it likely contains changes that are incompatible with the version of Oasis Core used by other nodes.
+Do not use a newer version of Oasis Core since it likely contains changes that
+are incompatible with the version of Oasis Core used by other nodes.
:::
-If you want to join our Testnet, see the [Testnet](../testnet/README.md) docs for the current Testnet parameters.
+If you want to join our Testnet, see the [Testnet](../testnet/README.md) docs
+for the current Testnet parameters.
+
+[network's current maintainers]: https://github.com/oasisprotocol/mainnet-artifacts/blob/master/README.md#pgp-keys-of-current-maintainers
+[PGP verification instructions]: https://github.com/oasisprotocol/mainnet-artifacts/blob/master/README.md#verifying-genesis-file-signatures
## ParaTimes
@@ -60,7 +68,8 @@ This section contains parameters for various ParaTimes known to be deployed on t
:::tip
-Feel free to use other IAS proxies besides the one provided here or [run your own](../../node/run-your-node/ias-proxy.md).
+Feel free to use other IAS proxies besides the one provided here or
+[run your own](../../node/run-your-node/ias-proxy.md).
:::
@@ -77,7 +86,8 @@ Feel free to use other IAS proxies besides the one provided here or [run your ow
:::info
-Check the [Emerald ParaTime page](/dapp/emerald/#web3-gateway) on how to access the public Web3 gateway.
+Check the [Emerald ParaTime page](/dapp/emerald/#rpc-endpoints) on how to access
+the public Web3 endpoint.
:::
@@ -97,7 +107,8 @@ Check the [Emerald ParaTime page](/dapp/emerald/#web3-gateway) on how to access
:::tip
-Feel free to use other IAS proxies besides the one provided here or [run your own](../../node/run-your-node/ias-proxy.md).
+Feel free to use other IAS proxies besides the one provided here or
+[run your own](../../node/run-your-node/ias-proxy.md).
:::
@@ -115,6 +126,7 @@ Feel free to use other IAS proxies besides the one provided here or [run your ow
:::tip
-Feel free to use other IAS proxies besides the one provided here or [run your own](../../node/run-your-node/ias-proxy.md).
+Feel free to use other IAS proxies besides the one provided here or
+[run your own](../../node/run-your-node/ias-proxy.md).
:::
diff --git a/docs/node/mainnet/upgrade-log.md b/docs/node/mainnet/upgrade-log.md
index 4ee3de1495..bd2320dfce 100644
--- a/docs/node/mainnet/upgrade-log.md
+++ b/docs/node/mainnet/upgrade-log.md
@@ -395,7 +395,7 @@ If the previous behavior is required, the binary must be run in unsafe/debug
mode (via the intentionally undocumented flag), and `debug.allow_root` must also
be set.
-[change-to-non-root]: ../run-your-node/prerequisites/system-configuration.mdx#change-to-non-root
+[change-to-non-root]: ../run-your-node/prerequisites/system-configuration.mdx#create-a-user
### Instructions - Upgrade day
@@ -753,7 +753,7 @@ oasis-node consensus submit_tx \
* This upgrade will upgrade **Oasis Core** to version **21.2.8** which:
* Upgrades the BadgerDB database backend from v2 to v3. See [**BadgerDB v2 to v3 Migration**](upgrade-log.md#badgerdb-v2-to-v3-migration) section for required steps to be done before upgrade.
- * Has a check that makes sure the **file descriptor limit** is set to an appropriately high value (at least 50000). While previous versions only warned in case the limit was set too low, this version will refuse to start. Follow the [File Descriptor Limit](../run-your-node/prerequisites/system-configuration.mdx#file-descriptor-limit) documentation page for details on how to increase the limit on your system.
+ * Has a check that makes sure the **file descriptor limit** is set to an appropriately high value (at least 50000). While previous versions only warned in case the limit was set too low, this version will refuse to start. Follow the [File Descriptor Limit](../run-your-node/prerequisites/system-configuration.mdx#increase-file-descriptor-limit) documentation page for details on how to increase the limit on your system.
* Stop your node, replace the old version of Oasis Node with version [21.2.8](https://github.com/oasisprotocol/oasis-core/releases/tag/v21.2.8) and restart your node.
:::tip
diff --git a/docs/node/run-your-node/advanced/remote-signer.mdx b/docs/node/run-your-node/advanced/remote-signer.mdx
index 62a651b4ff..786dfb2c5c 100644
--- a/docs/node/run-your-node/advanced/remote-signer.mdx
+++ b/docs/node/run-your-node/advanced/remote-signer.mdx
@@ -139,7 +139,7 @@ We recommend you configure and use it with a process manager like [systemd] or
[systemd]: https://github.com/systemd/systemd
[Supervisor]: http://supervisord.org
-[System Configuration]: ../prerequisites/system-configuration.mdx#change-to-non-root
+[System Configuration]: ../prerequisites/system-configuration.mdx#create-a-user
### Copy Remote Signer Certificate, Client Key and Certificate
diff --git a/docs/node/run-your-node/advanced/sync-node-using-state-sync.md b/docs/node/run-your-node/advanced/sync-node-using-state-sync.md
index 6b81b92c45..7e5218a3c4 100644
--- a/docs/node/run-your-node/advanced/sync-node-using-state-sync.md
+++ b/docs/node/run-your-node/advanced/sync-node-using-state-sync.md
@@ -131,7 +131,7 @@ Query our public Rosetta Gateway instance and obtain the trusted height and hash
there (replace the `` with the value obtained in the previous step):
```bash
-curl -X POST https://rosetta.oasis.dev/api/block \
+curl -X POST https://rosetta.oasis.io/api/block \
-H "Content-Type: application/json" \
-d '{
"network_identifier": {
diff --git a/docs/node/run-your-node/prerequisites/oasis-node.md b/docs/node/run-your-node/prerequisites/oasis-node.md
index 61885b1a4f..6d1b1b6bfe 100644
--- a/docs/node/run-your-node/prerequisites/oasis-node.md
+++ b/docs/node/run-your-node/prerequisites/oasis-node.md
@@ -12,7 +12,7 @@ The Oasis Node is currently only supported on x86_64 Linux systems.
[Oasis Core]: https://github.com/oasisprotocol/oasis-core
[`go/`]: https://github.com/oasisprotocol/oasis-core/tree/master/go
-[roles]: ../../README.mdx#node-roles
+[roles]: ../../README.mdx#validator-and-paratime-nodes
## Set up the Oasis Node's Working Directory
diff --git a/docs/node/run-your-node/prerequisites/stake-requirements.md b/docs/node/run-your-node/prerequisites/stake-requirements.md
index 677d294cd5..067d53e83d 100644
--- a/docs/node/run-your-node/prerequisites/stake-requirements.md
+++ b/docs/node/run-your-node/prerequisites/stake-requirements.md
@@ -55,5 +55,5 @@ number of TEST by using our [Oasis Network Testnet Faucet][faucet-testnet]. For
more tokens please contact us at our official [Discord #testnet
channel][discord-testnet].
-[faucet-testnet]: https://faucet.testnet.oasis.dev/
+[faucet-testnet]: https://faucet.testnet.oasis.io/
[discord-testnet]: https://oasis.io/discord
diff --git a/docs/node/run-your-node/validator-node.mdx b/docs/node/run-your-node/validator-node.mdx
index 63711571e5..0c0326605e 100644
--- a/docs/node/run-your-node/validator-node.mdx
+++ b/docs/node/run-your-node/validator-node.mdx
@@ -280,7 +280,7 @@ fully implemented, keep the keys on the `server` as secure as possible.
:::
-[System Configuration]: prerequisites/system-configuration.mdx#change-to-non-root
+[System Configuration]: prerequisites/system-configuration.mdx#create-a-user
### Ensuring Proper Permissions
diff --git a/docs/node/testnet/README.md b/docs/node/testnet/README.md
index 7f52c69e3e..4300968c1f 100644
--- a/docs/node/testnet/README.md
+++ b/docs/node/testnet/README.md
@@ -17,7 +17,7 @@ confidential ParaTimes.
:::info
-On the Testnet, TEST tokens are in use -- if you need some to test your clients, nodes or paratimes, feel free to use our [Testnet Faucet](https://faucet.testnet.oasis.dev). Note that these are test-only tokens and account balances, as any other state, may be frequently reset.
+On the Testnet, TEST tokens are in use -- if you need some to test your clients, nodes or paratimes, feel free to use our [Testnet Faucet](https://faucet.testnet.oasis.io). Note that these are test-only tokens and account balances, as any other state, may be frequently reset.
:::
diff --git a/docs/node/testnet/upgrade-log.md b/docs/node/testnet/upgrade-log.md
index a361e825f7..bdbc26bb98 100644
--- a/docs/node/testnet/upgrade-log.md
+++ b/docs/node/testnet/upgrade-log.md
@@ -710,7 +710,7 @@ The [Oasis Core 21.2.8](https://github.com/oasisprotocol/oasis-core/releases/tag
### Instructions - Before Upgrade System Preparation
* This upgrade will upgrade **Oasis Core** to version **21.2.8** which:
- * Has a check that makes sure the **file descriptor limit** is set to an appropriately high value (at least 50000). While previous versions only warned in case the limit was set too low, this version will refuse to start. Follow the [File Descriptor Limit](../run-your-node/prerequisites/system-configuration.mdx#file-descriptor-limit) documentation page for details on how to increase the limit on your system.
+ * Has a check that makes sure the **file descriptor limit** is set to an appropriately high value (at least 50000). While previous versions only warned in case the limit was set too low, this version will refuse to start. Follow the [File Descriptor Limit](../run-your-node/prerequisites/system-configuration.mdx#increase-file-descriptor-limit) documentation page for details on how to increase the limit on your system.
* Stop your node, replace the old version of Oasis Node with version [21.2.8](https://github.com/oasisprotocol/oasis-core/releases/tag/v21.2.8) and restart your node.
:::tip
diff --git a/docs/node/web3.mdx b/docs/node/web3.mdx
index e3b7e2da49..251ac03192 100644
--- a/docs/node/web3.mdx
+++ b/docs/node/web3.mdx
@@ -271,7 +271,7 @@ extended downtime while the Web3 Gateway is reindexing the blocks.
[README.md]: https://github.com/oasisprotocol/oasis-web3-gateway/blob/main/README.md#building-and-testing
[Sapphire]: ../dapp/sapphire/README.mdx
[sapphire-testnet]: ../dapp/sapphire/README.mdx#testnet
-[system service]: run-your-node/prerequisites/system-configuration.mdx#non-root
+[system service]: run-your-node/prerequisites/system-configuration.mdx#create-a-user
[Testnet]: testnet/README.md
[testnet-emerald]: testnet/README.md#emerald
[testnet-sapphire]: testnet/README.md#sapphire
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index d7b5c00aa7..8cb2a78659 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -23,6 +23,9 @@ const config: Config = {
locales: ['en'],
},
+ onBrokenAnchors: 'throw',
+ onBrokenMarkdownLinks: 'throw',
+
presets: [
[
'classic',
@@ -91,7 +94,7 @@ const config: Config = {
src: 'img/logo.png',
// Uncomment src and style below to enable christmas mode ;)
//src: 'img/logo_christmas.png',
- //style: {height: '48px', 'max-width': '58px', 'margin-top': '-15px', 'margin-left': '-15px'},
+ //style: {height: '48px', maxWidth: '58px', marginTop: '-15px', marginLeft: '-15px'},
},
items: [
{
@@ -174,7 +177,7 @@ const config: Config = {
items: [
{
label: 'Testnet Faucet',
- to: 'https://faucet.testnet.oasis.dev/',
+ to: 'https://faucet.testnet.oasis.io/',
},
{
label: 'Playground',
diff --git a/external/sapphire-paratime b/external/sapphire-paratime
index 94dd75ba71..06fe637127 160000
--- a/external/sapphire-paratime
+++ b/external/sapphire-paratime
@@ -1 +1 @@
-Subproject commit 94dd75ba71061982ec46f4ad43fe0f2400885050
+Subproject commit 06fe6371272f681e1f0d7526e1e14223a1784c21
diff --git a/src/AddToMetaMask.tsx b/src/AddToMetaMask.tsx
new file mode 100644
index 0000000000..a1605dc540
--- /dev/null
+++ b/src/AddToMetaMask.tsx
@@ -0,0 +1,91 @@
+import React from 'react';
+
+const AddToMetaMask = (props: {
+ name: string,
+ chainId: string,
+ token: string,
+ rpcs: string[],
+ be: string[],
+}) => {
+ return (
+
+ {props.rpcs.map(item => (
+ {item}
+ ))}
+
+
+ );
+};
+
+export const AddSapphireToMetaMask = (props: {
+ rpcs: string[],
+}) => {
+ return AddToMetaMask({
+ name: 'Oasis Sapphire',
+ chainId: '0x5afe',
+ token: 'ROSE',
+ rpcs: props.rpcs,
+ be: ['https://explorer.oasis.io/mainnet/sapphire'],
+ });
+};
+
+export const AddSapphireTestnetToMetaMask = (props: {
+ rpcs: string[],
+}) => {
+ return AddToMetaMask({
+ name: 'Oasis Sapphire Testnet',
+ chainId: '0x5aff',
+ token: 'TEST',
+ rpcs: props.rpcs,
+ be: ['https://explorer.oasis.io/testnet/sapphire'],
+ });
+};
+
+export const AddEmeraldToMetaMask = (props: {
+ rpcs: string[],
+}) => {
+ return AddToMetaMask({
+ name: 'Oasis Emerald',
+ chainId: '0xa516',
+ token: 'ROSE',
+ rpcs: props.rpcs,
+ be: ['https://explorer.oasis.io/mainnet/emerald'],
+ });
+};
+
+export const AddEmeraldTestnetToMetaMask = (props: {
+ rpcs: string[],
+}) => {
+ return AddToMetaMask({
+ name: 'Oasis Emerald Testnet',
+ chainId: '0xa515',
+ token: 'TEST',
+ rpcs: props.rpcs,
+ be: ['https://explorer.oasis.io/testnet/emerald'],
+ });
+};
diff --git a/docs/general/oasis-network/staking_rewards/Chart.tsx b/src/staking_rewards/Chart.tsx
similarity index 100%
rename from docs/general/oasis-network/staking_rewards/Chart.tsx
rename to src/staking_rewards/Chart.tsx
diff --git a/docs/general/oasis-network/staking_rewards/data.csv b/src/staking_rewards/data.csv
similarity index 100%
rename from docs/general/oasis-network/staking_rewards/data.csv
rename to src/staking_rewards/data.csv
diff --git a/docs/general/oasis-network/staking_rewards/data.json b/src/staking_rewards/data.json
similarity index 100%
rename from docs/general/oasis-network/staking_rewards/data.json
rename to src/staking_rewards/data.json
diff --git a/docs/general/oasis-network/staking_rewards/fallback.svg b/src/staking_rewards/fallback.svg
similarity index 100%
rename from docs/general/oasis-network/staking_rewards/fallback.svg
rename to src/staking_rewards/fallback.svg
diff --git a/docs/general/oasis-network/token_distribution/Chart.tsx b/src/token_distribution/Chart.tsx
similarity index 100%
rename from docs/general/oasis-network/token_distribution/Chart.tsx
rename to src/token_distribution/Chart.tsx
diff --git a/docs/general/oasis-network/token_distribution/data.csv b/src/token_distribution/data.csv
similarity index 100%
rename from docs/general/oasis-network/token_distribution/data.csv
rename to src/token_distribution/data.csv
diff --git a/docs/general/oasis-network/token_distribution/data.json b/src/token_distribution/data.json
similarity index 100%
rename from docs/general/oasis-network/token_distribution/data.json
rename to src/token_distribution/data.json
diff --git a/docs/general/oasis-network/token_distribution/fallback.svg b/src/token_distribution/fallback.svg
similarity index 100%
rename from docs/general/oasis-network/token_distribution/fallback.svg
rename to src/token_distribution/fallback.svg
diff --git a/docs/general/oasis-network/token_distribution/monthly_data.json b/src/token_distribution/monthly_data.json
similarity index 100%
rename from docs/general/oasis-network/token_distribution/monthly_data.json
rename to src/token_distribution/monthly_data.json
diff --git a/docs/general/oasis-network/token_distribution/pie/Chart.tsx b/src/token_distribution/pie/Chart.tsx
similarity index 100%
rename from docs/general/oasis-network/token_distribution/pie/Chart.tsx
rename to src/token_distribution/pie/Chart.tsx
diff --git a/docs/general/oasis-network/token_distribution/pie/fallback.svg b/src/token_distribution/pie/fallback.svg
similarity index 100%
rename from docs/general/oasis-network/token_distribution/pie/fallback.svg
rename to src/token_distribution/pie/fallback.svg