diff --git a/docs/dapp/README.mdx b/docs/dapp/README.mdx index bf8e2f188c..806260193c 100644 --- a/docs/dapp/README.mdx +++ b/docs/dapp/README.mdx @@ -35,3 +35,41 @@ Sapphire, demonstrates best practices for writing confidential smart contracts and working examples for you to explore and extend. + +# Consensus Layer RPC endpoints + +Most dApp developers will build dApps on the ParaTime layer (the *compute* +layer) mentioned above. However, if you are building a dApp which needs to +perform consensus operations such as the consensus-layer token transfers, +ParaTime deposits and withdrawals, governance transactions and similar, you may +connect to one of the **consensus layer** endpoints below. + +:::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.md + +| Provider | Mainnet URL | Testnet URL | +|-----------------------------|----------------------|------------------------------| +| [Oasis Protocol Foundation] | `grpc.oasis.dev:443` | `testnet.grpc.oasis.dev:443` | + +[Oasis Protocol Foundation]: https://oasisprotocol.org + +:::tip + +If you are running your own Oasis client node 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/issues + +# See also + + diff --git a/docs/dapp/cipher/README.mdx b/docs/dapp/cipher/README.mdx index 2ed7041e1e..c7717481c8 100644 --- a/docs/dapp/cipher/README.mdx +++ b/docs/dapp/cipher/README.mdx @@ -4,7 +4,7 @@ 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: @@ -22,11 +22,11 @@ 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 +## Smart Contract Development -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: +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 + +Cipher endpoints share the gRPC protocol with the Oasis Core. You can use one of +the public endpoints free of charge, rent an endpoint at one of the professional +service providers or set up your own endpoint. + +:::danger + +The RPC endpoint is a *point of trust*. Beside 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 [run Cipher on your own +ParaTime client node][paratime-client-node], + +::: + +[paratime-client-node]: ../../node/run-your-node/paratime-client-node.mdx + +| Provider | Mainnet RPC URLs | Testnet RPC URLs | +|-----------------------------|----------------------|------------------------------| +| [Oasis Protocol Foundation] | `grpc.oasis.dev:443` | `testnet.grpc.oasis.dev: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 [run Emerald on your own +ParaTime client node][paratime-client-node], -### Testnet +::: + +[Web3-compatible gateway]: ../../node/web3.md +[paratime-client-node]: ../../node/run-your-node/paratime-client-node.mdx + +| Provider | Mainnet RPC URLs | Testnet RPC URLs | +|---------------------------|----------------------|------------------------| +| [Oasis Protocol Foundation] | | | + + +[Oasis Protocol Foundation]: https://oasisprotocol.org + +## Block Explorers + +| Provider | Mainnet URL | Testnet URL | +|-----------------------------|------------------------------|---------------------------------------| +| [Oasis Protocol Foundation] | [`explorer.emerald.oasis.dev`] | [`testnet.explorer.emerald.oasis.dev`] | +| [Oasis Protocol Foundation] | [`explorer.oasis.io/mainnet/emerald`] | [`explorer.oasis.io/testnet/emerald`] | + +[`explorer.emerald.oasis.dev`]: https://explorer.emerald.oasis.dev +[`testnet.explorer.emerald.oasis.dev`]: https://testnet.explorer.emerald.oasis.dev +[`explorer.oasis.io/mainnet/emerald`]: https://explorer.oasis.io/mainnet/emerald +[`explorer.oasis.io/testnet/emerald`]: https://explorer.oasis.io/testnet/emerald + +:::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/sapphire/README.mdx b/docs/dapp/sapphire/README.mdx index 17e69a0a39..ad4c9ca92e 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 EVM Compatible ParaTime providing a smart +contract development environment with EVM compatibility. As the official confidential EVM-compatible ParaTime on the Oasis Network, Sapphire allows for: @@ -21,82 +22,75 @@ 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 - -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 + +Sapphire endpoints run the Ethereum's [Web3-compatible gateway]. You can +connect to one of the public Web3 gateways free of charge, rent an endpoint at +one of the professional service providers or set up your own endpoint. + +:::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 [run Sapphire on your own +ParaTime client node][paratime-client-node], + +::: + +[Web3-compatible gateway]: ../../node/web3.md +[paratime-client-node]: ../../node/run-your-node/paratime-client-node.mdx + +| Provider | Mainnet RPC URLs | Testnet RPC URLs | Supports Confidential Queries | +|---------------------------|----------------------|------------------------|-------------------------------| +| [1RPC] | | N/A | Yes | +| [ChainStack] | [Register here][chainstack-register] | [Register here][chainstack-register] | Yes | +| [Oasis Protocol Foundation] | | | Yes | + + +[Oasis Protocol Foundation]: https://oasisprotocol.org +[1RPC]: https://www.1rpc.io/ +[ChainStack]: https://chainstack.com +[chainstack-register]: https://chainstack.com/build-better-with-oasis-sapphire/ + +## Block Explorers + +| Provider | Mainnet URL | Testnet URL | +|-----------------------------|------------------------------|---------------------------------------| +| [Oasis Protocol Foundation] | [`explorer.sapphire.oasis.io`] | [`testnet.explorer.sapphire.oasis.dev`] | +| [Oasis Protocol Foundation] | [`explorer.oasis.io/mainnet/sapphire`] | [`explorer.oasis.io/testnet/sapphire`] | + +[`explorer.sapphire.oasis.io`]: https://explorer.sapphire.oasis.io +[`testnet.explorer.sapphire.oasis.dev`]: https://testnet.explorer.sapphire.oasis.dev +[`explorer.oasis.io/mainnet/sapphire`]: https://explorer.oasis.io/mainnet/sapphire +[`explorer.oasis.io/testnet/sapphire`]: https://explorer.oasis.io/testnet/sapphire + +:::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/get-involved/run-node/paratime-node.mdx b/docs/get-involved/run-node/paratime-node.mdx index 0f47195103..b7eede5036 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-paratime) * [Testnet](../../node/testnet/README.md#sapphire-paratime) @@ -102,6 +102,15 @@ committee on Mainnet, your entity needs to: - Have a validator in the **validator set**. - Have at least **5,000,000.00 ROSE staked/delegated** to it. +### 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 3 ROSE tokens per entity per epoch. Each node has an + approximately 30% chance of being selected by the primary committee to claim + the rewards. Hence, a node entity can earn 24 ROSE tokens per day, 720 ROSE + tokens per month. + diff --git a/docs/node/mainnet/README.md b/docs/node/mainnet/README.md index 4d3917a455..4c1b85497d 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]. ::: @@ -27,6 +30,7 @@ Feel free to use other seed nodes besides the one provided here. * [23.0.9](https://github.com/oasisprotocol/oasis-core/releases/tag/v23.0.9) * [Oasis Rosetta Gateway](https://github.com/oasisprotocol/oasis-rosetta-gateway) version: * [2.6.0](https://github.com/oasisprotocol/oasis-rosetta-gateway/releases/tag/v2.6.0) + * Public Rosetta endpoint: `https://rosetta.oasis.dev` :::info @@ -36,11 +40,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 @@ -61,7 +70,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). ::: @@ -78,7 +88,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/#web3-gateway) on how to access +the public Web3 gateway. ::: @@ -99,7 +110,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). ::: @@ -117,6 +129,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/src/AddToMetaMask.tsx b/src/AddToMetaMask.tsx new file mode 100644 index 0000000000..feba550246 --- /dev/null +++ b/src/AddToMetaMask.tsx @@ -0,0 +1,92 @@ +import React from 'react'; +import PlotlyChart from "@site/src/PlotlyChart"; + +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.sapphire.oasis.io'], + }); +}; + +export const AddSapphireTestnetToMetaMask = (props: { + rpcs: string[], +}) => { + return AddToMetaMask({ + name: 'Oasis Sapphire Testnet', + chainId: '0x5aff', + token: 'TEST', + rpcs: props.rpcs, + be: ['https://testnet.explorer.sapphire.oasis.dev'], + }); +}; + +export const AddEmeraldToMetaMask = (props: { + rpcs: string[], +}) => { + return AddToMetaMask({ + name: 'Oasis Emerald', + chainId: '0xa516', + token: 'ROSE', + rpcs: props.rpcs, + be: ['https://explorer.emerald.oasis.dev'], + }); +}; + +export const AddEmeraldTestnetToMetaMask = (props: { + rpcs: string[], +}) => { + return AddToMetaMask({ + name: 'Oasis Emerald Testnet', + chainId: '0xa515', + token: 'TEST', + rpcs: props.rpcs, + be: ['https://testnet.explorer.emerald.oasis.dev'], + }); +};