Skip to content

Commit a0042e3

Browse files
authored
Merge pull request #1456 from oasisprotocol/matevz/docs/rofl-build-revamp2
New Build->ROFL structure, Learn and Landing page
2 parents 839a1fb + eace4eb commit a0042e3

38 files changed

+899
-257
lines changed

docs/README.mdx

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import NodesSvg from "@site/static/img/NodesGraphic.svg?react";
2020
"/build/rofl/",
2121
"/build/sapphire/",
2222
"/build/opl/",
23-
"/build/tools/",
2423
]}
2524
svg={<BuildSvg className="animatedSvg" />}
2625
>
@@ -40,42 +39,35 @@ import NodesSvg from "@site/static/img/NodesGraphic.svg?react";
4039
</DocCardSection>
4140

4241
<DocCardSection
43-
title="Use Oasis"
42+
title="Learn"
4443
path="/general/"
4544
itemPaths={[
4645
"/general/oasis-network/",
4746
"/general/manage-tokens/",
48-
"/general/manage-tokens/cli/",
4947
]}
5048
svg={
5149
<OasisSvg className="animatedSvg" />
5250
}
5351
>
54-
This introductory part contains general overview of the Oasis Network such as
55-
the distinction between the consensus layer and different ParaTimes. It
56-
also covers wallets and other tools for managing your assets across the Oasis
57-
chains and how to use unique Oasis features.
52+
Learn the fundamentals of Oasis architecture, wallets, and unique privacy
53+
features.
5854
</DocCardSection>
5955

6056
<DocCardSection
6157
title="Get Involved"
6258
path="/get-involved/"
6359
itemPaths={[
6460
"/get-involved/",
65-
"https://oasisrose.garden",
66-
"/get-involved/run-node",
67-
"/get-involved/oasis-core",
6861
]}
6962
svg={<GetInvolvedSvg className="animatedSvg" />}
7063
>
71-
Contains information on official channels to get in touch with the Oasis Network developers and how to contribute to the network.
64+
Connect with developers, run infrastructure, and contribute to the future of Oasis.
7265
</DocCardSection>
7366

7467
<DocCardSection
7568
title="Run Node"
7669
path="/node/"
7770
itemPaths={[
78-
"/node/",
7971
"/node/network/mainnet",
8072
"/node/network/testnet",
8173
"/node/run-your-node/",
@@ -89,7 +81,8 @@ import NodesSvg from "@site/static/img/NodesGraphic.svg?react";
8981
title="Develop Core"
9082
path="/core/"
9183
itemPaths={[
92-
"/core/",
84+
"/core/consensus/",
85+
"/core/runtime/",
9386
"/adrs",
9487
]}
9588
svg={<DevelopCoreSvg className="animatedSvg" />}

docs/build/README.mdx

Lines changed: 36 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -8,115 +8,55 @@ import {findSidebarItem} from '@site/src/sidebarUtils';
88

99
# Build on Oasis
1010

11-
![Oasis architectural design including ParaTime and consensus layers](../general/images/architecture/technology_scalability.svg)
11+
The best way to start learning is by example! If you want to jumpstart
12+
right into it, check out our use cases that combine TEE and blockchain to
13+
build trustless distributed apps.
1214

13-
## ROFL
15+
<DocCardList items={[
16+
findSidebarItem('/build/use-cases/price-oracle'),
17+
findSidebarItem('/build/use-cases/tgbot'),
18+
]} />
1419

15-
Runtime OFfchain Logic (ROFL) enables you to build secure applications running
16-
offchain in a trusted environment (TEE) containers. This is ideal for trusted
17-
oracles, compute-expensive tasks in AI or as a backend for interactive games.
18-
ROFL apps can seamlessly sign transactions running on [Sapphire].
20+
## The Oasis SDK
1921

20-
<DocCard item={findSidebarItem('/build/rofl/')} />
21-
22-
## Sapphire
23-
24-
[Sapphire] is an EVM-compatible Layer 1 blockchain that allows you to
25-
write both confidential and non-confidential smart contracts. The transactions
26-
can also be end-to-end encrypted and stored on the blockchain ledger.
27-
28-
Sapphire is just one of the ParaTimes running on the Oasis platform. For an
29-
overview of other ParaTimes, refer to the [Other ParaTimes] chapter.
30-
31-
<DocCard item={findSidebarItem('/build/sapphire/')} />
32-
33-
[Oasis architecture]: ../general/oasis-network/README.mdx
34-
[Sapphire]: https://github.com/oasisprotocol/docs/blob/main/docs/build/sapphire/README.mdx
35-
[Other ParaTimes]: ./tools/other-paratimes/README.mdx
36-
37-
## Oasis Privacy Layer (OPL)
38-
39-
In addition to building fully native dApps running on one of the Oasis
40-
ParaTimes, you can also add privacy to your existing dApps running on other,
41-
non-confidential chains, and only use Oasis as a *privacy service*.
42-
43-
The Oasis team prepared a rich cross-chain toolkit called the
44-
[**Oasis Privacy Layer**](opl/README.mdx). It consists of solidity precompiles
45-
integrating bridges and wrapping the OpenZeppelin ERC2771 contract on top of
46-
Sapphire, demonstrates best practices for writing confidential smart contracts
47-
and working examples for you to explore and extend.
48-
49-
<DocCard item={findSidebarItem('/build/opl/')} />
50-
51-
## Consensus Network Information
22+
![Oasis architectural design including ParaTime and consensus layers](./images/oasis-sdk.svg)
5223

53-
### RPC Endpoints
24+
### ROFL-Powered Apps
5425

55-
:::danger
26+
[Runtime off-chain logic (ROFL)][rofl] enables you to wrap applications in
27+
trusted environment (TEE) containers managed through [Sapphire]. This
28+
framework is ideal for deploying provably trusted oracles, compute-expensive
29+
tasks in AI or a backend for interactive games.
5630

57-
The RPC endpoint is a **point of trust**. Beside rate limiting, it can also
58-
perform censorship or even man-in-the-middle attack. If you have security
59-
considerations, we strongly recommend that you [run your own client
60-
node][non-validator-node],
61-
62-
:::
63-
64-
[non-validator-node]: ../node/run-your-node/non-validator-node.mdx
65-
66-
Most dApp developers will build dApps on the ParaTime layer (the *compute*
67-
layer) depicted above. For Sapphire and Emerald which are EVM-compatible chains,
68-
those dApps connect directly to an [EVM-compatible Web3 endpoint][web3].
69-
However, if you are building a dApp for Cipher or the one that needs to
70-
perform consensus operations such as the consensus-layer token transfers,
71-
governance transactions, cross-chain ParaTime deposits and withdrawals and
72-
similar, you will need to connect to the one of the endpoints speaking
73-
[Oasis gRPC][grpc].
74-
75-
Public gRPC endpoints (in alphabetic order):
76-
77-
| Provider | Mainnet URL | Testnet URL |
78-
|----------|---------------------|-----------------------------|
79-
| [Oasis] | `grpc.oasis.io:443` | `testnet.grpc.oasis.io:443` |
80-
81-
[Oasis]: https://oasis.net
82-
[web3]: ../node/web3.mdx
83-
[grpc]: ../node/grpc.mdx
84-
85-
### Block Explorers
86-
87-
| Name (Provider) | Mainnet URL | Testnet URL |
88-
|--------------------------|-----------------------------------------------|---------------------------------------------|
89-
| Oasis Explorer ([Oasis]) | https://explorer.oasis.io/mainnet/consensus | https://explorer.oasis.io/testnet/consensus |
90-
| Oasis Scan ([Bit Cat]) | https://www.oasisscan.com | https://testnet.oasisscan.com |
91-
92-
[Bit Cat]: https://www.bitcat365.com/
93-
94-
### Indexers
31+
<DocCard item={findSidebarItem('/build/rofl/')} />
9532

96-
| Name (Provider) | Mainnet URL | Testnet URL | Documentation |
97-
|------------------------|----------------------------------------|----------------------------------------|--------------------------------------------|
98-
| Oasis Nexus ([Oasis]) | `https://nexus.oasis.io/v1` | `https://testnet.nexus.oasis.io/v1` | [API][Nexus-docs] |
99-
| Oasis Scan ([Bit Cat]) | `https://api.oasisscan.com/v2/mainnet` | `https://api.oasisscan.com/v2/testnet` | [API][OasisScan-docs] |
33+
### Smart Contracts
10034

101-
[Nexus-docs]: https://nexus.oasis.io/v1/spec/v1.html
102-
[OasisScan-docs]: https://api.oasisscan.com/v2/swagger/
35+
Smart Contracts are deployed to [Sapphire], an EVM-compatible Layer 1
36+
blockchain assuring confidential smart contract state. Extra on-chain
37+
features in your contracts such as the random number generator, cryptography,
38+
a cross-chain [privacy layer](opl/README.mdx) and ROFL verification are
39+
supported.
10340

104-
### Rosetta Endpoints
41+
<DocCard item={findSidebarItem('/build/sapphire/')} />
10542

106-
| Provider | Mainnet URL | Testnet URL |
107-
|----------|-------------------------------------------|-------------------------------------------|
108-
| [Oasis] | `https://rosetta.oasis.io/api/mainnet/v1` | `https://rosetta.oasis.io/api/testnet/v1` |
43+
[rofl]: ./rofl/README.mdx
44+
[Sapphire]: ./sapphire/README.mdx
10945

110-
:::note
46+
### Web Browser
11147

112-
If you are running your own Oasis client node endpoint, a block explorer, an
113-
indexer, or the Rosetta gateway and wish to be added to these docs, open an
114-
issue at [github.com/oasisprotocol/docs].
48+
Sapphire supports optional encrypted transactions and queries through
49+
client-side end-to-end encryption. Modern Web3 libraries running in a [web
50+
browser] are supported.
11551

116-
:::
52+
[web browser]: ./sapphire/develop/browser.md
53+
<DocCard item={findSidebarItem('/build/sapphire/develop/browser')} />
11754

118-
[github.com/oasisprotocol/docs]: https://github.com/oasisprotocol/docs/issues
55+
### Server-Side Apps
11956

120-
## See also
57+
End-to-end encrypted transactions and queries are often required by server-side
58+
applications running either inside ROFL or outside of the TEE. Check out our
59+
comprehensive [API reference guide] for your preferred programming language to
60+
learn how to integrate with Oasis network.
12161

122-
<DocCardList items={[findSidebarItem('https://api.docs.oasis.io/js/client'), findSidebarItem('https://pkg.go.dev/github.com/oasisprotocol/oasis-core/go')]} />
62+
[API reference guide]: https://api.docs.oasis.io

docs/build/images/oasis-sdk.svg

Lines changed: 4 additions & 0 deletions
Loading
168 KB
Loading
359 KB
Loading
File renamed without changes.

docs/build/tools/other-paratimes/README.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import DocCard from '@theme/DocCard';
55
import DocCardList from '@theme/DocCardList';
66
import {findSidebarItem} from '@site/src/sidebarUtils';
77

8-
# Other ParaTimes
8+
# Consensus Layer and Other ParaTimes
99

1010
In addition to our primary ParaTime, [Sapphire], several additional ParaTimes
11-
are running on top of the consensus layer.
11+
are running on top of the [consensus layer].
1212
DApp developers can choose a Paratime to build on according to their
1313
specific requirements, such as confidentiality and EVM compatibility.
1414

@@ -19,4 +19,5 @@ Learn more by exploring the ParaTimes below!
1919
| **Confidential** | <DocCard item={findSidebarItem('/build/sapphire/')} /> | <DocCard item={findSidebarItem('/build/tools/other-paratimes/cipher/')} /> |
2020
| **Non-Confidential** | <DocCard item={findSidebarItem('/build/tools/other-paratimes/emerald/')} /> | |
2121

22+
[consensus layer]: ./network.md
2223
[Sapphire]: https://github.com/oasisprotocol/docs/blob/main/docs/build/sapphire/README.mdx

docs/build/tools/other-paratimes/cipher/network.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ Cipher transactions with the [`oasis paratime show`] command using the
4242

4343
:::
4444

45-
[`oasis paratime show`]: ../../../../general/manage-tokens/cli/paratime.md#show
46-
[Oasis CLI]: ../../../../general/manage-tokens/cli/README.md
45+
[`oasis paratime show`]: ../../../../build/tools/cli/paratime.md#show
46+
[Oasis CLI]: ../../../../build/tools/cli/README.md
4747

4848
## Indexers
4949

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
description: Detailed information for the consensus layer about RPCs, block explorers and indexers
3+
---
4+
5+
# Consensus network information
6+
7+
## RPC Endpoints
8+
9+
:::danger
10+
11+
The RPC endpoint is a **point of trust**. Beside rate limiting, it can also
12+
perform censorship or even man-in-the-middle attack. If you have security
13+
considerations, we strongly recommend that you [run your own client
14+
node][non-validator-node],
15+
16+
:::
17+
18+
[non-validator-node]: ../../../node/run-your-node/non-validator-node.mdx
19+
20+
Most dApp developers will build dApps on the ParaTime layer (the *compute*
21+
layer). For Sapphire and Emerald which are EVM-compatible chains,
22+
those dApps connect directly to an [EVM-compatible Web3 endpoint][web3].
23+
However, if you are building a dApp for Cipher or the one that needs to
24+
perform consensus operations such as the consensus-layer token transfers,
25+
governance transactions, cross-chain ParaTime deposits and withdrawals and
26+
similar, you will need to connect to the one of the endpoints speaking
27+
[Oasis gRPC][grpc].
28+
29+
Public gRPC endpoints (in alphabetic order):
30+
31+
| Provider | Mainnet URL | Testnet URL |
32+
|----------|---------------------|-----------------------------|
33+
| [Oasis] | `grpc.oasis.io:443` | `testnet.grpc.oasis.io:443` |
34+
35+
[Oasis]: https://oasis.net
36+
[web3]: ../../../node/web3.mdx
37+
[grpc]: ../../../node/grpc.mdx
38+
39+
## Block Explorers
40+
41+
| Name (Provider) | Mainnet URL | Testnet URL |
42+
|--------------------------|-----------------------------------------------|---------------------------------------------|
43+
| Oasis Explorer ([Oasis]) | https://explorer.oasis.io/mainnet/consensus | https://explorer.oasis.io/testnet/consensus |
44+
| Oasis Scan ([Bit Cat]) | https://www.oasisscan.com | https://testnet.oasisscan.com |
45+
46+
[Bit Cat]: https://www.bitcat365.com/
47+
48+
## Indexers
49+
50+
| Name (Provider) | Mainnet URL | Testnet URL | Documentation |
51+
|------------------------|----------------------------------------|----------------------------------------|--------------------------------------------|
52+
| Oasis Nexus ([Oasis]) | `https://nexus.oasis.io/v1` | `https://testnet.nexus.oasis.io/v1` | [API][Nexus-docs] |
53+
| Oasis Scan ([Bit Cat]) | `https://api.oasisscan.com/v2/mainnet` | `https://api.oasisscan.com/v2/testnet` | [API][OasisScan-docs] |
54+
55+
[Nexus-docs]: https://nexus.oasis.io/v1/spec/v1.html
56+
[OasisScan-docs]: https://api.oasisscan.com/v2/swagger/
57+
58+
## Rosetta Endpoints
59+
60+
| Provider | Mainnet URL | Testnet URL |
61+
|----------|-------------------------------------------|-------------------------------------------|
62+
| [Oasis] | `https://rosetta.oasis.io/api/mainnet/v1` | `https://rosetta.oasis.io/api/testnet/v1` |
63+
64+
:::note
65+
66+
If you are running your own Oasis client node endpoint, a block explorer, an
67+
indexer, or the Rosetta gateway and wish to be added to these docs, open an
68+
issue at [github.com/oasisprotocol/docs].
69+
70+
:::
71+
72+
[github.com/oasisprotocol/docs]: https://github.com/oasisprotocol/docs/issues

0 commit comments

Comments
 (0)