Skip to content

Commit

Permalink
Review documentation from Dima
Browse files Browse the repository at this point in the history
  • Loading branch information
Olshansk committed Apr 5, 2024
1 parent 8e9e5a4 commit a1cdbba
Show file tree
Hide file tree
Showing 7 changed files with 389 additions and 184 deletions.
9 changes: 7 additions & 2 deletions docusaurus/docs/actors/relay_miner.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ sidebar_position: 5

## Overview

An `RelayMiner` is responsible for proxying `RelayRequests` between an `AppGate Server`
and the supplied `Service`.
A `RelayMiner` is a specialized operation node (not an on-chain actor) designed
for individuals to **offer services** through Pocket Network alongside a staked
`Supplier`. It is responsible for proxying `RelayRequests` between an
`AppGate Server` and the supplied `Service`.

[Suppliers](./supplier.md) interested in providing `Service`s on Pocket Network
would need to run a `RelayMiner` in addition to the software that provides the said `Service`.
Expand All @@ -30,3 +32,6 @@ by running:
```bash
poktrolld relayminer --help
```

A RelayMiner is a specialize operation node (not an on-chain actor) designed for
individuals to **offer services** through the Pocket Network. For more information on this role, please refer to the [RelayMiner documentation](../actors/relay_miner.md). Unlike the Pocket Morse Mainnet client, which supports service provision on the current Pocket Network Mainnet and maintains a copy of the blockchain data, the RelayMiner operates without storing blockchain data. Instead, it relies on connections to Full Nodes for interacting with the blockchain. It is crucial to deploy a [Full Node](full_node.md) prior to setting up a RelayMiner, as this ensures the necessary infrastructure for blockchain communication is in place.
4 changes: 2 additions & 2 deletions docusaurus/docs/internal_infrastructure/_category_.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
"position": 10,
"link": {
"type": "generated-index",
"description": "Documentation for internal Pocket network team infrastructure: LocalNet, DevNet and TestNets."
"description": "Internal infrastructure related to deploying, maintaining and testing various (Local, Dev, Test) environments."
}
}
}
4 changes: 2 additions & 2 deletions docusaurus/docs/run_a_node/_category_.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
"position": 8,
"link": {
"type": "generated-index",
"description": "Guides and documentation on how to run Pocket Network software"
"description": "Guides on how to deploy and operated various type of Pocket Network nodes."
}
}
}
43 changes: 34 additions & 9 deletions docusaurus/docs/run_a_node/appgate_server.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,41 @@
**AppGate Server - Docker Compose**
---
title: AppGate Server
sidebar_position: 2
---

- [What is AppGate Server](#what-is-appgate-server)
- [Docker Compose Example Repository](#docker-compose-example-repository)
# AppGate Server Operation <!-- omit in toc -->

### What is AppGate Server
- [What is AppGate Server?](#what-is-appgate-server)
- [AppGate Server Operation Requirements](#appgate-server-operation-requirements)
- [Docker Compose Example](#docker-compose-example)
- [Kubernetes Example](#kubernetes-example)

An AppGate Server plays a crucial role within the Pocket Network ecosystem, serving as a bridge between decentralized applications (dApps), such as mobile or web applications, and the Suppliers operating on the Pocket Network. Its primary function is to handle the necessary intermediary logic and facilitate seamless communication and transactions.
## What is AppGate Server?

If you're a Node Runner interested in deploying a [Gateway](../actors/gateway.md) or a sovereign [Application](../actors/application.md) that requires direct access to Pocket Network functionalities, setting up an AppGate Server is highly recommended.
See the [AppGate Server](../actors/appgate_server.md) documentation for more
information on what an AppGate Server is. This page aims to provide links and
details on how to deploy and operate it.

### Docker Compose Example Repository
## AppGate Server Operation Requirements

To simplify the process of deploying an AppGate Server, we have created an illustrative example utilizing Docker Compose. This example is hosted in the [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example?tab=readme-ov-file#deploying-an-appgate-server) GitHub repository.
An AppGate Server requires the following:

Please refer to the "Deploying an AppGate Server" section within the repository for detailed instructions and guidance on setting up your AppGate Server using the provided Docker Compose example.
1. A staked on-chain [Application](../actors/application.md) to pay for services.
2. An optional on-chain [Gateway](../actors/gateway.md) to optionally proxy services.
3. A connection to a [Full Node](./full_node.md) to interact with the blockchain.

:::tip
It is crucial to deploy a [Full Node](full_node.md) prior to setting up a RelayMiner.
This ensures the necessary infrastructure for blockchain communication is in place.
:::

## Docker Compose Example

Please refer to the `Deploying an AppGate Server` section in [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example#deploying-an-appgate-server)
GitHub repository on how to deploy an AppGate Server using `docker-compose`.

_TODO: Move over the relevant information from the `poktroll-docker-compose-example` repository into the docs_

## Kubernetes Example

_TODO: Provide an example using [strangelove-ventures/cosmos-operator](https://github.com/strangelove-ventures/cosmos-operator)._
61 changes: 52 additions & 9 deletions docusaurus/docs/run_a_node/full_node.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,61 @@
**Full Node - Docker Compose**
---
title: Full Node
sidebar_position: 1
---

# Full Node <!-- omit in toc -->

- [What is a Full Node](#what-is-a-full-node)
- [Docker Compose Example Repository](#docker-compose-example-repository)
- [Roles \& Responsibilities](#roles--responsibilities)
- [Types of Full Nodes](#types-of-full-nodes)
- [Pocket Network Full Nodes](#pocket-network-full-nodes)
- [Docker Compose Example](#docker-compose-example)
- [Kubernetes Example](#kubernetes-example)

## What is a Full Node

In blockchain networks, a Full Node retains a complete copy of the ledger.

You can visit the [Cosmos SDK documentation](https://docs.cosmos.network/main/user/run-node/run-node)
for more information on Full Nodes.

## Roles & Responsibilities

It is usually responsible for:

1. Verifying all committed transactions and blocks
2. Increase network security through data redundancy
3. Fostering decentralization
4. Gossiping blocks & transactions to other nodes

It is not responsible for:

1. Proposing new blocks
2. Participating in consensus

## Types of Full Nodes

There are two types of Full Nodes:

1. **Archive Nodes**: These nodes store the entire history of the blockchain.
2. **Pruning Nodes**: These nodes store only the most recent blocks and transactions.

## Pocket Network Full Nodes

### What is a Full Node
Within Pocket Network, the role of Full Nodes is pivotal for Node Runners. These
nodes needed for off-chain entities like [RelayMiners](./relay_miner.md) and
[AppGates](./appgate_server.md), which rely on interaction with the Pocket Network
blockchain for full functionality.

In a blockchain network, a Full Node retains a complete copy of the ledger, verifying all transactions and blocks according to the network's rules. While it does not play a role in block creation or consensus, it is crucial for ensuring data integrity, enhancing network security, and fostering decentralization. Full Nodes facilitate this by distributing transactions and blocks to other nodes.
This guide outlines how to configure, deploy nad maintain Full Nodes.

Within the Pocket Network ecosystem, the role of Full Nodes is pivotal for Node Runners. These nodes are essential for off-chain entities like RelayMiners and AppGates, which rely on interaction with the Pocket Network blockchain for optimal functionality.
## Docker Compose Example

This guide outlines the setup process for a Full Node using Docker Compose, offering a simplified and efficient method for launching a Full Node.
Please refer to the `Deploying a Full Node` section in [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example#deploying-a-full-node)
GitHub repository on how to deploy an AppGate Server using `docker-compose`.

### Docker Compose Example Repository
_TODO: Move over the relevant information from the `poktroll-docker-compose-example` repository into the docs_

To help you understand how a Full Node can be operated with Docker Compose, we have prepared an example in the [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example) GitHub repository.
## Kubernetes Example

Please refer to the "Deploying a Full Node" section of the guide in that repository for detailed instructions on setting up your Full Node using the provided Docker Compose example.
_TODO: Provide an example using [strangelove-ventures/cosmos-operator](https://github.com/strangelove-ventures/cosmos-operator)._
40 changes: 33 additions & 7 deletions docusaurus/docs/run_a_node/relay_miner.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,40 @@
**RelayMiner - Docker Compose**
---
title: RelayMiner
sidebar_position: 3
---

# RelayMiner <!-- omit in toc -->

- [What is a RelayMiner](#what-is-a-relayminer)
- [Docker Compose Example Repository](#docker-compose-example-repository)
- [RelayMiner Operation Requirements](#relayminer-operation-requirements)
- [Docker Compose Example](#docker-compose-example)
- [Kubernetes Example](#kubernetes-example)

## What is a RelayMiner

See the [RelayMiner](../actors/appgate_server.md) documentation for more
information on what a RelayMiner is. This page aims to provide links and
details on how to deploy and operate it.

## RelayMiner Operation Requirements

A RelayMiner requires the following:

1. A staked on-chain [Supplier](../actors/supplier.md) to provide services.
2. A connection to a [Full Node](./full_node.md) to interact with the blockchain.

:::tip
It is crucial to deploy a [Full Node](full_node.md) prior to setting up a RelayMiner.
This ensures the necessary infrastructure for blockchain communication is in place.
:::

### What is a RelayMiner
## Docker Compose Example

A RelayMiner is a specialized node designed for individuals to offer services through the Pocket Network. For more information on this role, please refer to the [RelayMiner documentation](../actors/relay_miner.md). Unlike the Pocket Morse Mainnet client, which supports service provision on the current Pocket Network Mainnet and maintains a copy of the blockchain data, the RelayMiner operates without storing blockchain data. Instead, it relies on connections to Full Nodes for interacting with the blockchain. It is crucial to deploy a [Full Node](full_node.md) prior to setting up a RelayMiner, as this ensures the necessary infrastructure for blockchain communication is in place.
Please refer to the `Deploying a RelayMiner` section in [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example#deploying-a-relay-miner)
GitHub repository on how to deploy an AppGate Server using `docker-compose`.

### Docker Compose Example Repository
_TODO: Move over the relevant information from the `poktroll-docker-compose-example` repository into the docs_

To help you get started with deploying a RelayMiner, we have prepared an example using Docker Compose. This example is available in the [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example?tab=readme-ov-file#deploying-a-relay-miner) GitHub repository.
## Kubernetes Example

Please refer to the "Deploying a RelayMiner" section within the repository for detailed instructions and guidance on setting up your RelayMiner using the provided Docker Compose example.
_TODO: Provide an example using [strangelove-ventures/cosmos-operator](https://github.com/strangelove-ventures/cosmos-operator)._
Loading

0 comments on commit a1cdbba

Please sign in to comment.