Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into docs/RDOC-58
Browse files Browse the repository at this point in the history
  • Loading branch information
thaixuandang committed Nov 27, 2024
2 parents 5209c2f + 499eebd commit 969f6e7
Show file tree
Hide file tree
Showing 34 changed files with 182 additions and 146 deletions.
1 change: 0 additions & 1 deletion .github/styles/config/vocabularies/Ronin/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ mainnet
NFT
node
node operator
non-validator node
OIDC
OpenID Connect
RON
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Install the general dependencies:
1. Clone this repository to create its copy on your local computer:

```bash
git clone [email protected]:axieinfinity/ronin-documentation.git
git clone [email protected]:ronin-chain/ronin-documentation.git
```

2. Navigate to the `ronin-documentation` directory:
Expand Down
4 changes: 2 additions & 2 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ the concepts covered in this topic.

* [Slashing rules](./validators/slashing.mdx)
* [Rewards](./basics/rewards.md)
* [Nodes](./basics/nodes.md)
* [Nodes](./basics/nodes.mdx)
* Explanation topics within another page: [Bailout](./validators/slashing.mdx#bailout)

#### How-to guide
Expand Down Expand Up @@ -522,7 +522,7 @@ this task and the concepts that it involves.
##### Examples of how-to guides

* [Stake RON](./delegators/onboarding/become-delegator.mdx)
* [Run a validator node](./validators/setup/mainnet/run-validator.md)
* [Run a validator node](./validators/setup/mainnet/run-validator.mdx)
* [Claim rewards](./validators/manage/claim-rewards.mdx)
* Task topics within other pages:
* [Check your credit score](./validators/slashing.mdx#check-your-credit-score)
Expand Down
3 changes: 1 addition & 2 deletions docs/basics/contribute/style-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,12 @@ terms and their usage.
| bridge operator | A bridge operator is a type of node used for acknowledging events on Ronin Bridge. |
| bridge node | Each validator is expected to run two nodes—a validator node and a bridge node node. |
| delegator | To become a delegator, go to **RON Staking > All validators > Delegate**. |
| full node | Validator and non-validator are considered _full_ nodes—they store full blockchain data. |
| full node | Validator node and RPC node are considered _full_ nodes—they store full blockchain data. |
| Governing Validator | Beside the 12 Governing Validators, top 10 Validator Candidates with the highest staked amount are selected as Standard Validators. |
| Katana | Katana, also known as the Katana DEX, is a decentralized exchange for Ronin. |
| mainnet | To run a node on the mainnet, make sure to comply with the minimum hardware requirements. |
| node | Each validator is expected to run two nodes—a validator node and a bridge node. |
| node operator | A node operator is an individual or institution that sets up and configure nodes for the validator. |
| non-validator node | A non-validator node is also known as an RPC node. |
| RON | Deposit 50 RON to your bridge address. |
| RON Staking | RON Staking is an app where token holders can choose validators. |
| Ronin | Ronin is an EVM blockchain forged for gaming. |
Expand Down
10 changes: 7 additions & 3 deletions docs/basics/key-concepts.md → docs/basics/key-concepts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Boneh-Lynn-Shacham (BLS) is a digital signature method used for verifying the au

The BLS key is what the validator uses to produce finality votes. Validators who produce finality vote receive a reward. If a validator fails to produce a finality vote, no slashing penalty applies.

To attach a BLS key to a validator, either a new validator must be created or an existing validator must be [updated](./../validators/setup/generate-keys.md) with this key.
To attach a BLS key to a validator, either a new validator must be created or an existing validator must be [updated](./../validators/setup/generate-keys.mdx) with this key.

### Bridge

Expand Down Expand Up @@ -103,6 +103,10 @@ A delegator is a RON token holder—an individual or institution—who contribut

## E

### ECDSA key

An Elliptic Curve Digital Signature Algorithm (ECDSA) key is a cryptographic key used to secure transactions on the blockchain and are generated by the validator to sign blocks. You need this key to run a validator node on Ronin.

### Epoch

While this varies depending on the blockchain protocol, an epoch generally refers to a specific number of blocks—or a specific or approximate period of time. Generally found on blockchains that utilize Proof of Stake (PoS), different PoS protocols have different ways of defining an epoch (if they use them). Epochs are used to reach security checkpoints, distribute the staking reward, or assign a new group of blockchain validators. For example, an epoch on Ronin lasts 200 blocks, which is roughly equal to 10 minutes.
Expand Down Expand Up @@ -157,11 +161,11 @@ On Ronin, the node types are as follows:
* Ronin node
* Full node
* Validator node
* Non-validator node
* RPC node
* Archive node
* Bridge node

For more information about nodes, see [Nodes](nodes.md).
For more information about nodes, see [Nodes](nodes.mdx).

## P

Expand Down
35 changes: 32 additions & 3 deletions docs/basics/nodes.md → docs/basics/nodes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@ description: Learn about the different types of nodes you can run.
title: Nodes
---

import DocCardList from '@theme/DocCardList';
import {findSidebarItem} from '@site/src/sidebarUtils';

## Overview

There are two types of nodes on Ronin:

* Ronin node:
* Non-validator node
* Validator node
* Archive node
* RPC node
* Bridge node

The following section describes each type in detail.
Expand All @@ -21,16 +24,42 @@ A Ronin node ([GitHub](https://github.com/axieinfinity/ronin)) is the building b

The Ronin node can be configured in three different ways depending on the purpose:

* A *non-validator node* doesn’t conduct consensus, but simply connects to the network, synchronizes ledger state, and observes the status of the network. For example, a non-validator node can serve as a gateway for decentralized applications to query the Ronin blockchain for information, send transactions, and execute smart contracts. A non-validator Ronin
* A *validator node* is what most people think of as a node. These nodes are responsible for verifying and approving transactions
submitted by users and blockchain clients. Upon the close of a transaction block, validator nodes are randomly chosen to validate block data, thus generating the
subsequent block, and earning RON tokens as a reward. These are the nodes that are listed on the [RON Staking](https://app.roninchain.com/staking) app.
* An *archive node* retains all historical data right back to genesis and is suited for making fast queries about historical states. This data represents units of terabytes, which makes archive nodes less attractive for average users but can be handy for services like block explorers, wallet vendors, and chain analytics.
* An *RPC node* doesn’t conduct consensus, but simply connects to the network, synchronizes ledger state, and observes the status of the network. For example, this node can serve as a gateway for dApps to query the Ronin blockchain for information, send transactions, and execute smart contracts.

Validator and non-validator are considered *full* nodes—they store full blockchain data, which is periodically pruned so the node does not store all state data back to genesis. The archive node, on the other hand, stores all of the information that a full node does but also builds an archive of historical states all the way back to genesis.
Validator and RPC nodes are considered *full* nodes—they store full blockchain data, which is periodically pruned so the node does not store all state data back to genesis. The archive node, on the other hand, stores all of the information that a full node does but also builds an archive of historical states all the way back to genesis.

A validator node starts its life as a full node, but has also “registered” itself to the network as a validator, which means that it may now accept RON token stake and potentially be included in the validator set that conduct network consensus.

### Run a validator node

<DocCardList items={[
findSidebarItem('/validators/setup/mainnet/run-validator'),
findSidebarItem('/validators/setup/mainnet/run-combined'),
findSidebarItem('/validators/setup/mainnet/run-archive'),
findSidebarItem('/validators/setup/testnet/run-combined'),
findSidebarItem('/validators/setup/testnet/run-archive'),
findSidebarItem('/rpc/mainnet-rpc'),
findSidebarItem('/rpc/testnet-rpc'),
]} />

### Run an RPC node

<DocCardList items={[
findSidebarItem('/rpc/mainnet-rpc'),
findSidebarItem('/rpc/testnet-rpc'),
]} />

## What is a bridge node?

A *bridge node* ([GitHub](https://github.com/axieinfinity/bridge-v2)) is a type of node used for acknowledging deposit and withdrawal events on Ronin Bridge—the blockchain bridge that facilitates asset transfers between Ronin and Ethereum.

### Run a bridge node

<DocCardList items={[
findSidebarItem('/bridge-operators/setup/run-bridge'),
findSidebarItem('/bridge-operators/setup/upgrade-bridge'),
]} />
4 changes: 2 additions & 2 deletions docs/bridge-operators/setup/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Bridge nodes are run by a fixed set of bridge operators selected by Sky Mavis an

We offer two different methods of installing the bridge:

* Using Docker: if you're familiar with Docker, install and run the bridge as a Docker instance. For instructions, see [Run a bridge node](run-bridge.md).
* Using Docker: if you're familiar with Docker, install and run the bridge as a Docker instance. For instructions, see [Run a bridge node](run-bridge.mdx).
* Manually: if you're more comfortable using the command line, compile your own bridge binary from the [source code on GitHub](https://github.com/axieinfinity/bridge-v2?tab=readme-ov-file#manually).

## Node upgrade

Keep the node's software up-to-date by upgrading to the latest version as described in [Upgrade bridge software](upgrade-bridge.md).
Keep the node's software up-to-date by upgrading to the latest version as described in [Upgrade bridge software](upgrade-bridge.mdx).
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ Have two RPC endpoints ready:

### Private key

Generate a private key for operating the bridge node. For instructions, see [Generate keys](./../../validators/setup/generate-keys.md).
Generate a private key for operating the bridge node. For instructions, see [Generate keys](./../../validators/setup/generate-keys.mdx).

## Run the node
## Steps

1. Set up a directory for the bridge and two nested directories for its data and the Docker configuration:

Expand Down
9 changes: 9 additions & 0 deletions docs/get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,15 @@ Run a validator node, claim rewards, and manage your account.
findSidebarItem('/validators/validator-faq'),
]} />

## Run an RPC node

Run an RPC (non-validator) node.

<DocCardList items={[
findSidebarItem('/rpc/mainnet-rpc'),
findSidebarItem('/rpc/testnet-rpc'),
]} />

## Run a bridge node

Run a bridge node, propose and vote on changes to the bridge.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
---
description: Install a mainnet non-validator node using Docker.
title: Run a non-validator node
description: Set up and run an RPC node (non-validator node) on the Ronin mainnet using Docker.
title: Run a mainnet RPC node
tags:
- docker-mainnet
---

## Overview

This guide demonstrates how to run a non-validator node on the mainnet
using Docker. A non-validator node is also known as an RPC (remote
procedure call) node.
This guide demonstrates how to run an RPC node (non-validator node) on the Ronin mainnet using Docker.

## Before you start
## Prerequisites

Install Docker Engine and the Docker Compose plugin:

* [Docker Engine](https://docs.docker.com/engine/)
* [Docker Compose](https://docs.docker.com/compose/)

## Run the node
## Steps

1. Set up directories:

Expand Down Expand Up @@ -85,10 +83,10 @@ Install Docker Engine and the Docker Compose plugin:
CHAIN_STATS_WS_SECRET=WSyDMrhRBe111
CHAIN_STATS_WS_SERVER=ronin-stats-ws.roninchain.com
RONIN_PARAMS=--http.api eth,net,web3,consortium --txpool.pricelimit 20000000000 --txpool.nolocals --discovery.dns enrtree://AIGOFYDZH6BGVVALVJLRPHSOYJ434MPFVVQFXJDXHW5ZYORPTGKUI@nodes.roninchain.com
RONIN_PARAMS=--http.api eth,net,web3,consortium --txpool.pricelimit 20000000000 --txpool.nolocals --cache 4096 --discovery.dns enrtree://AIGOFYDZH6BGVVALVJLRPHSOYJ434MPFVVQFXJDXHW5ZYORPTGKUI@nodes.roninchain.com
```

4. (Optional) Download the snapshot from the [ronin-snapshot](https://github.com/axieinfinity/ronin-snapshot) repo:
4. (Optional) Download the snapshot from the [ronin-snapshot](https://github.com/axieinfinity/ronin-snapshot) repo, preferably using PebbleDB:

```bash
cd ~/ronin/chaindata/data/ronin/
Expand All @@ -98,7 +96,7 @@ Install Docker Engine and the Docker Compose plugin:
5. Start the node:

```bash
cd ~/ronin && docker-compose up -d
cd ~/ronin/docker && docker-compose up -d
```

This command pulls a Ronin node image and starts the service you defined.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
---
description: Install a testnet non-validator node using Docker.
title: Run a non-validator node
description: Set up and run an RPC node (non-validator node) on the Saigon testnet using Docker.
title: Run a testnet RPC node
tags:
- docker-testnet
---

## Overview

This guide demonstrates how to run a non-validator node on the Saigon
testnet using Docker. A non-validator node is also known as an RPC
(remote procedure call) node.
This guide demonstrates how to run an RPC node (non-validator node) on the Saigon testnet using Docker.

## Prerequisites

Expand All @@ -18,7 +16,7 @@ Install Docker Engine and the Docker Compose plugin:
* [Docker Engine](https://docs.docker.com/engine/)
* [Docker Compose](https://docs.docker.com/compose/)

## Run the node
## Steps

1. Set up directories:

Expand Down Expand Up @@ -103,7 +101,7 @@ Install Docker Engine and the Docker Compose plugin:
5. Start the node:

```bash
cd ~/ronin && docker-compose up -d
cd ~/ronin/docker && docker-compose up -d
```

This command pulls a Ronin node image and starts the service you defined.
Expand Down
2 changes: 0 additions & 2 deletions docs/validators/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,13 @@ Run a node on the Ronin mainnet:
<DocCardList items={[
findSidebarItem('/validators/setup/mainnet/run-validator'),
findSidebarItem('/validators/setup/mainnet/run-combined'),
findSidebarItem('/validators/setup/mainnet/run-non-validator'),
findSidebarItem('/validators/setup/mainnet/run-archive'),
]} />

Run a node on the Saigon testnet:

<DocCardList items={[
findSidebarItem('/validators/setup/testnet/run-combined'),
findSidebarItem('/validators/setup/testnet/run-non-validator'),
findSidebarItem('/validators/setup/testnet/run-archive'),
]} />

Expand Down
Binary file modified docs/validators/manage/assets/add-finality-key-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/validators/manage/assets/add-finality-key-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file modified docs/validators/manage/assets/profile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 11 additions & 22 deletions docs/validators/manage/finality.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ title: Add or change finality vote key
import profile from './assets/profile.png';
import addStepOne from './assets/add-finality-key-1.png';
import addStepTwo from './assets/add-finality-key-2.png';
import editStepOne from './assets/edit-finality-key-1.png';
import editStepTwo from './assets/edit-finality-key-2.png';

## Overview

This guide demonstrates how to add a *finality vote key* to your profile. The finality vote key is used to vote for blocks in the [fast finality mechanism](https://github.com/axieinfinity/REPs/blob/main/REP-0003.md#rewards). If you're an active Ronin validator, you need to have this key added in order to have the fast finality rewards transferred to your admin address by the end of the day.
This guide demonstrates how to add a *finality vote key* to your profile. The finality vote key is used to vote for blocks in the [fast finality mechanism](https://github.com/axieinfinity/REPs/blob/main/REP-0003.md#rewards). If you're an active Ronin validator, you need to have this key added to have the fast finality rewards transferred to your admin address by the end of the day.

## Prerequisites

### Generate a BLS key pair

Before you add a finality vote key, you need to generate a BLS key pair. The BLS key pair consists of a private key and a public key. The public BLS key is your finality vote key. For more information, see the [Generate BLS key pair](./../setup/generate-keys.md) guide.
Before you add a finality vote key, you need to generate a BLS key pair. The BLS key pair consists of a private key and a public key. The public BLS key is your finality vote key. For more information, see the [Generate BLS key pair](./../setup/generate-keys.mdx) guide.

### Generate proof of possession
## Steps

### Step 1. Generate proof of possession

To prove that you own the finality vote key, you need to generate a proof of possession. The proof of possession is a signature of the public key using the private key.
There are two ways to generate the proof of possession: using the Ronin CLI or using the Docker image.
Expand Down Expand Up @@ -70,32 +70,21 @@ BLS public key #0: {redacted}
BLS proof #0: {redacted}
```

## Add a finality vote key {#add}
### Step 2. Add or change your finality vote key

**Note**: The keys you generated do not have the `0x` prefix. Before submitting the form, make sure to add the `0x` prefix to the keys.

1. Open the [Validator Dashboard](https://validator.roninchain.com), then go to your account, and then click **My profile**.
<img src={profile} width={280} />

2. In the **Finality Vote Key** field, click **Add key**.
2. In the **Finality Vote Key** field, click **Add key** or the edit icon.
<img src={addStepOne} width={400} />

3. Paste your BLS public key and the proof of possession.
<img src={addStepTwo} width={400} />

4. Save the change and confirm the transaction.

## Change your finality vote key {#change}

1. Open the Validator Dashboard, then go to your account, and then click **My profile**.
<img src={profile} width={280} />

2. In the **Finality Vote Key** field, click the edit icon.
<img src={editStepOne} width={400} />

3. Paste your new BLS public key and the proof of possession.
<img src={editStepTwo} width={400} />

4. Save the change and confirm the transaction.

:::info[Cooldown period]
After changing your admin address or fast finality vote key, there's a 24-hour cooldown period. During this time, you won't be able to modify either value until 24 hours after the last change.
:::
After changing your admin address or fast finality vote key, there's a 24-hour cooldown period. During this time, you won't be able to modify either value.
:::
Loading

0 comments on commit 969f6e7

Please sign in to comment.