Skip to content

Commit

Permalink
docs: Add descriptions of the nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
amela committed Aug 20, 2024
1 parent 243dfed commit e09943f
Show file tree
Hide file tree
Showing 5 changed files with 129 additions and 6 deletions.
2 changes: 1 addition & 1 deletion docs/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ queries on the network.
findSidebarItem('/node/'),
findSidebarItem('/node/mainnet/'),
findSidebarItem('/node/testnet/'),
findSidebarItem('/node/run-your-node'),
findSidebarItem('/node/run-your-node/'),
]} />

## Build ParaTimes
Expand Down
2 changes: 1 addition & 1 deletion docs/node/grpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,6 @@ To make a tunneled Unix socket over SSH permanent, consider using [autossh].
## See also

<DocCardList items={[
findSidebarItem('/node/run-your-node'),
findSidebarItem('/node/run-your-node/'),
findSidebarItem('/node/web3'),
]} />
124 changes: 124 additions & 0 deletions docs/node/run-your-node/README.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
import {findSidebarItem} from '@site/src/sidebarUtils';
import DocCardList from '@theme/DocCardList';

# Run your node
The Oasis Network consists of several types of nodes, each serving distinct
roles to maintain the functionality, security, and decentralization of the
network. In this section you can find descriptions of the main types of nodes
within the Oasis Network.

## Validator Node
A Validator Node is an essential component, as Oasis Network uses proof-of-stake
(PoS) consensus mechanisms. It is responsible for verifying transactions and
proposing new blocks to be added to the blockchain. Validator nodes operate on
the consensus layer by staking the network's tokens, which grants them the right
to participate in the consensus process. This process involves validating
transactions, signing blocks, and ensuring the integrity of the blockchain.

## Compute Nodes
Compute Nodes are responsible for executing smart contracts and processing
transactions within a specific ParaTime (Parallel Runtime). These nodes handle
the actual computation tasks, such as running decentralized applications
(dApps), performing data processing, and executing privacy-preserving smart
contracts.

- **Sapphire Compute Node** is responsible for executing EVM-compatible
privacy-preserving smart contracts and processing transactions within the
Sapphire ParaTime. These nodes validate and execute transactions while
maintaining the confidentiality of sensitive data, which is a crucial aspect
of applications that handle private information or require enhanced security.
This is achieved through trusted execution environments (TEEs) that ensure
data remains encrypted and confidential, even while being processed.

- **Cipher Compute Node** is responsible for executing privacy-preserving smart
contracts and processing transactions within the Cipher ParaTime. These nodes
validate and execute transactions while maintaining the confidentiality of
sensitive data, which is a crucial aspect of applications that handle private
information or require enhanced security. This is achieved through trusted
execution environments (TEEs) that ensure data remains encrypted and
confidential, even while being processed.

- **Emerald Compute Node** is responsible for executing EVM-compatible smart
contracts and processing transactions within the Emerald ParaTime. It performs
tasks such as validating transactions, running EVM-based smart contracts, and
ensuring that the operations within the Emerald ParaTime are carried out
efficiently.

## Client Nodes
A Client Node is a type of node within the Oasis Network that serves as
an interface for users or other applications to interact with the blockchain.
Unlike compute nodes, which handle transaction processing and smart contract
execution, client nodes are primarily responsible for tasks such as querying
the blockchain, submitting transactions, and retrieving data from the network.

- **Non-Validator Node** is a type of node in the Oasis Network that does not
participate in the consensus process of validating and proposing new blocks.
Instead, it has client node functions that support the network's operations and
decentralization.

- **Sapphire Client Node** is a specific type of client node within the Oasis
Network that interacts with the Sapphire ParaTime. The Sapphire ParaTime is
designed to support EVM-compatible confidential smart contracts and
privacy-preserving decentralized applications (dApps) with strong privacy
features and high performance.

- **Cipher Client Node** is a type of node within the Oasis Network designed
to interact specifically with the Cipher ParaTime. The Cipher ParaTime is known
for its strong privacy features, allowing for the execution of confidential
smart contracts and the development of privacy-preserving decentralized
applications (dApps).

- **Emerald Client Node** is a specific type of client node within the Oasis
Network, designed to interact with the Emerald ParaTime. The Emerald ParaTime is
an Ethereum-compatible environment on the Oasis Network, allowing developers
to deploy and manage decentralized applications (dApps) that utilize the
Ethereum Virtual Machine (EVM).

## Rosetta Gateway
A Rosetta Gateway service is a specialized service within the Oasis
Network that implements the Rosetta API to provide a standardized and simplified
interface for interacting with the blockchain. This service is crucial for
enabling seamless integration between the Oasis Network and various external
platforms, such as exchanges, wallets, custodians, and blockchain-based
applications.

## Public gRPC
An Oasis Public gRPC is a public API endpoint that allows developers to interact
with the Oasis Network using the gRPC protocol, enabling efficient, real-time,
and cross-platform communication with the blockchain.

## Web3 Gateway
A Web3 Gateway enables interaction with the Oasis Network using standard
Web3 protocols, which are widely used in the Ethereum ecosystem. It acts as a
bridge between Web3-based applications and the Oasis Network, allowing
developers to leverage the tools, libraries, and practices familiar in
Ethereum development while benefiting from the unique features of the Oasis
Network, such as privacy and confidentiality.

## Archive Node
An Archive Node is a specialized node within the Oasis Network that stores the
entire blockchain history, making it a crucial tool for in-depth analysis,
development, and ensuring that the network's past states remain accessible.

## Seed Node
A Seed Node is a type of node in the Oasis Network that serves a critical role
in helping other nodes discover peers and join the network. Unlike validator
nodes, which participate in the consensus process, Seed Nodes do not play a
direct role in consensus.

## Key Manager Node
As Key Manager Node is a specialized node in the Oasis Network responsible for
securely managing cryptographic keys used in confidential computing. These nodes
are crucial for the network's privacy-preserving features, enabling secure
encryption and decryption of data processed within Trusted Execution
Environments (TEEs). They play a vital role in enabling the Oasis Network's
secure, decentralized, and privacy-focused operations.

<DocCardList items={[
findSidebarItem('/node/run-your-node/prerequisites'),
findSidebarItem('/node/run-your-node/validator-node'),
findSidebarItem('/node/run-your-node/paratime-node'),
findSidebarItem('/node/run-your-node/non-validator-node'),
findSidebarItem('/node/run-your-node/paratime-client-node'),
findSidebarItem('/node/web3'),
]} />
2 changes: 1 addition & 1 deletion docs/node/web3.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,6 @@ extended downtime while the Web3 Gateway is reindexing the blocks.
## See also

<DocCardList items={[
findSidebarItem('/node/run-your-node'),
findSidebarItem('/node/run-your-node/'),
findSidebarItem('/node/grpc'),
]} />
5 changes: 2 additions & 3 deletions sidebarNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,8 @@ export const sidebarNode: SidebarsConfig = {
label: 'Run Your Node',
collapsible: false,
link: {
type: 'generated-index',
description: "This section provides documentation on how to set up an Oasis Node running on your computer.",
slug: 'node/run-your-node',
type: 'doc',
id: 'node/run-your-node/README',
},
items: [
{
Expand Down

0 comments on commit e09943f

Please sign in to comment.