Skip to content

Commit

Permalink
docs: Add 3rd party RPC endpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
matevz committed Dec 5, 2023
1 parent dd46b4a commit c00bf4b
Show file tree
Hide file tree
Showing 7 changed files with 346 additions and 165 deletions.
56 changes: 56 additions & 0 deletions docs/dapp/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,59 @@ Sapphire, demonstrates best practices for writing confidential smart contracts
and working examples for you to explore and extend.

<DocCard item={findSidebarItem('/dapp/opl/')} />

# 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.md

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 (in alphabetic order):

| Provider | Mainnet URL | Testnet URL |
|-----------------------------|----------------------|------------------------------|
| [Oasis Protocol Foundation] | `grpc.oasis.dev:443` | `testnet.grpc.oasis.dev:443` |

[Oasis Protocol Foundation]: https://oasisprotocol.org

## Consensus Layer Block Explorers

| Provider | Mainnet URL | Testnet URL |
|-----------------------------|------------------------------|---------------------------------------|
| [Everstake] | https://oasismonitor.com/ | https://testnet.oasismonitor.com/ |
| [Oasis Protocol Foundation] | https://explorer.oasis.io/mainnet | https://explorer.oasis.io/testnet |
| [Bit Cat] | https://www.oasisscan.com | https://testnet.oasisscan.com |

[Everstake]: https://everstake.one/
[Bit Cat]: https://www.bitcat365.com/

## Rosetta Endpoints

| Provider | Mainnet URL | Testnet URL |
|-----------------------------|------------------------------|---------------------------------------|
| [Oasis Protocol Foundation] | `https://rosetta.oasis.dev/api/mainnet` | `https://rosetta.oasis.dev/api/testnet` |


:::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

<DocCardList items={[findSidebarItem('https://api.docs.oasis.io/js/client'), findSidebarItem('https://pkg.go.dev/github.com/oasisprotocol/oasis-core/go')]} />
49 changes: 44 additions & 5 deletions docs/dapp/cipher/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:

<DocCard item={
findSidebarItem('/dapp/cipher/prerequisites')
Expand All @@ -40,6 +40,45 @@ ParaTime, read the related Oasis Contract SDK chapters:
findSidebarItem('/dapp/cipher/confidential-smart-contract')
} />

## 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.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

<DocCardList items={[
Expand Down
142 changes: 62 additions & 80 deletions docs/dapp/emerald/README.mdx
Original file line number Diff line number Diff line change
@@ -1,107 +1,89 @@
import DocCardList from '@theme/DocCardList';
import {findSidebarItem} from '@site/src/sidebarUtils';
import {AddEmeraldToMetaMask as E, AddEmeraldTestnetToMetaMask as ET} from '@site/src/AddToMetaMask';

# Emerald ParaTime

The Emerald ParaTime is our official EVM Compatible ParaTime providing smart contract environment with full EVM compatibility.
Emerald is our official EVM Compatible ParaTime providing smart contract
environment with full EVM compatibility.

As the official EVM compatible ParaTime on the Oasis Network, Emerald allows for:
As the official EVM compatible ParaTime on the Oasis Network, Emerald allows
for:

* Full EVM compatibility
* Easy integration with EVM-based dApps, such as DeFi, NFT, Metaverse and crypto gaming
* 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
* Cross-chain bridge to enable cross-chain interoperability (upcoming)

If you're looking for EVM, but with confidentiality,
check out the [Sapphire ParaTime](../sapphire/README.mdx).
If you're looking for EVM, but with confidentiality, check out the
[Sapphire ParaTime](../sapphire/README.mdx).

## ParaTime Incentives
## Chain Information

Emerald is fully decentralized with node operators distributed globally, and Oasis ROSE will be the native token used for gas fees.
### Mainnet

The ParaTime will release tokens on-chain to reward nodes for participation. These tokens will be released, per epoch, with the reward being 3 ROSE Tokens per entity per epoch.
- Network name: `emerald`
- Long network name: `Oasis Emerald`
- Chain ID:
- Hex: `0xa516`
- Decimal: `42262`

Epochs are currently being produced at a speed of one per hour. 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.
### Testnet

The reward program is two years long.
- Network name: `emerald-testnet`
- Long network name: `Oasis Emerald Testnet`
- Chain ID:
- Hex: `0xa515`
- Decimal: `42261`

## Web3 Gateway
## RPC Endpoints

To get started building on our Emerald ParaTime, you can use our public Web3 gateway, fully compatible with Ethereum's Web3 gateway.
:::danger

### Mainnet
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].

* RPC HTTP endpoint: `https://emerald.oasis.dev`
* RPC WebSockets endpoint: `wss://emerald.oasis.dev/ws`
* Chain ID:
* Hex: 0xa516
* Decimal: 42262
* Block explorer: [https://explorer.emerald.oasis.dev](https://explorer.emerald.oasis.dev)

<button
class="button button--primary margin-bottom--md"
onClick={() => {
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
</button>
:::

### Testnet

* 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)

<button
class="button button--primary margin-bottom--md"
onClick={() => {
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: '0xa515',
chainName: 'Oasis Emerald Testnet',
nativeCurrency: {
name: 'TEST',
symbol: 'TEST',
decimals: 18,
},
rpcUrls: ['https://testnet.emerald.oasis.dev/', 'wss://testnet.emerald.oasis.dev/ws'],
blockExplorerUrls: ['https://testnet.explorer.emerald.oasis.dev'],
},
],
})
}}
>
Click here to register Emerald Testnet to your MetaMask or Brave Wallet
</button>
[Web3-compatible gateway]: ../../node/web3.md
[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] | <E rpcs={['https://1rpc.io/oasis/emerald']} /> | N/A |
| [Oasis Protocol Foundation] | <E rpcs={['https://emerald.oasis.dev','wss://emerald.oasis.dev/ws']} /> | <ET rpcs={['https://testnet.emerald.oasis.dev','wss://testnet.emerald.oasis.dev/ws']} /> |

Public RPCs may have rate limits or traffic restrictions. For professional,
dedicated RPC endpoints, consider the following providers (in alphabetic order):

- [1RPC]

[1RPC]: https://www.1rpc.io/
[Oasis Protocol Foundation]: https://oasisprotocol.org

## Block Explorers

| Provider | Mainnet URL | Testnet URL | EIP-3091 compatible |
|-----------------------------|------------------------------|---------------------------------------|---------------------|
| [Oasis Protocol Foundation] | https://explorer.emerald.oasis.dev | https://testnet.explorer.emerald.oasis.dev | Yes |
| [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].

:::

[github.com/oasisprotocol/docs]: https://github.com/oasisprotocol/docs

## See also

Expand Down
Loading

0 comments on commit c00bf4b

Please sign in to comment.