Skip to content

Commit

Permalink
task(devx) - Add Tags - Node Operation (#4986)
Browse files Browse the repository at this point in the history
* task(dex): Added tags to docs pertaining to node operation

* add more tags

* dprint

* fix(devx): format tags

* add team tags, remove node operation tags

* fix tags, merge develop and resolve conflicts

* Apply suggestions from code review

Co-authored-by: muXxer <[email protected]>

* Apply suggestions from code review

Co-authored-by: muXxer <[email protected]>

* move validator-committee into about-iota

* remove telemetry

* fix links

---------

Co-authored-by: muXxer <[email protected]>
  • Loading branch information
lucas-tortora and muXxer authored Jan 30, 2025
1 parent 9ae75f4 commit 345082a
Show file tree
Hide file tree
Showing 28 changed files with 71 additions and 101 deletions.
2 changes: 1 addition & 1 deletion docs/content/about-iota/about-iota.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,4 @@ Transactions on the IOTA network require [gas](./tokenomics/gas-in-iota.mdx) fee

## Consensus on IOTA

IOTA uses a delegated proof-of-stake (DPoS) consensus mechanism to validate on-chain transaction blocks. [Validators](../operator/validator-committee.mdx) on the IOTA network must secure a certain amount of IOTA tokens on the IOTA Mainnet to demonstrate their commitment to the network's security. This approach aligns the interests of all validators with those of IOTA users, ensuring an efficient and secure blockchain without the high energy demands of earlier blockchains.
IOTA uses a delegated proof-of-stake (DPoS) consensus mechanism to validate on-chain transaction blocks. [Validators](iota-architecture/validator-committee.mdx) on the IOTA network must secure a certain amount of IOTA tokens on the IOTA Mainnet to demonstrate their commitment to the network's security. This approach aligns the interests of all validators with those of IOTA users, ensuring an efficient and secure blockchain without the high energy demands of earlier blockchains.
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@
title: Validator Committee
description: IOTA has a committee of validators to verify on-chain transactions. Epochs, quorums, transactions, _certificates_, and consensus are touch points for this committee.
---

import Quiz from '@site/src/components/Quiz';
import questions from '/json/node-operators/validator-committee.json';

A set of independent validators participate on the IOTA network, each running its own instance of the IOTA software on a separate machine (or a sharded cluster of machines the same entity operates). Each validator handles read and write requests sent by clients, verifying transactions and updating on-chain information.

To learn how to set up and run an IOTA Validator node, including how staking and rewards work, see [IOTA Validator Node Configuration](validator-config.mdx).
To learn how to set up and run an IOTA Validator node, including how staking and rewards work, see [IOTA Validator Node Configuration](../../operator/validator-config.mdx).

IOTA uses Delegated Proof-of-Stake (DPoS) to determine which validators operate the network and their voting power. Validators are incentivized to participate in good faith via staking rewards, which are slashed in case of misbehavior.

## Epochs

Operation of the IOTA network is temporally partitioned into non-overlapping, approximate fixed-duration (~24-hour) epochs. During a particular epoch, the set of validators participating in the network and their voting power is fixed. At an epoch boundary, reconfiguration might occur and can change the set of validators participating in the network and their voting power. Conceptually, reconfiguration starts a new instance of the IOTA protocol with the previous epoch's final state as [genesis](genesis.mdx) and the new set of validators as the operators. Besides validator set changes, tokenomics operations such as staking/un-staking, and distribution of staking rewards are also processed at epoch boundaries.
Operation of the IOTA network is temporally partitioned into non-overlapping, approximate fixed-duration (~24-hour) epochs. During a particular epoch, the set of validators participating in the network and their voting power is fixed. At an epoch boundary, reconfiguration might occur and can change the set of validators participating in the network and their voting power. Conceptually, reconfiguration starts a new instance of the IOTA protocol with the previous epoch's final state as [genesis](../../operator/genesis.mdx) and the new set of validators as the operators. Besides validator set changes, tokenomics operations such as staking/un-staking, and distribution of staking rewards are also processed at epoch boundaries.

## Quorums

Expand Down
2 changes: 1 addition & 1 deletion docs/content/about-iota/tokenomics/gas-pricing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ On the IOTA network, a single $ReferencePrice$ exists throughout each epoch, wit

More generally, the IOTA gas price mechanism makes the $ReferencePrice$ a credible anchor for you to reference when submitting transactions to the network. Providing reasonable confidence that transactions submitted with gas prices at or close to the reference price are executed in a timely manner. This is achieved through three core steps:

- **Gas price survey:** All validators are surveyed at the start of each epoch, and every validator submits their reservation price. That is, each validator states the minimum gas price at which they are willing to process transactions. The protocol orders these quotes and chooses the 2/3 percentile by stake as the reference price. The gas price survey goal is to set a reference price under which a [quorum](../../operator/validator-committee.mdx#quorums) of validators are willing to promptly process transactions.
- **Gas price survey:** All validators are surveyed at the start of each epoch, and every validator submits their reservation price. That is, each validator states the minimum gas price at which they are willing to process transactions. The protocol orders these quotes and chooses the 2/3 percentile by stake as the reference price. The gas price survey goal is to set a reference price under which a [quorum](../iota-architecture/validator-committee.mdx#quorums) of validators are willing to promptly process transactions.
- **Tallying rule:** Throughout the epoch, validators obtain signals over the operations of other validators. Each validator uses these signals to build a (subjective) evaluation over the performance of every other validator. Specifically, each validator constructs a multiplier for the stake rewards of every other validator such that validators who behave well receive boosted rewards, and validators who do not receive reduced rewards. The tallying rule goal is to create a community-enforced mechanism for encouraging validators to honor the reference gas price.
- **Incentivized stake reward distribution rule:** At the end of the epoch, the distribution of stake rewards across validators is adjusted using information from the tallying rule. Specifically, a global multiplier is built for every validator using the median value (weighted by stake) out of the set of individual multipliers constructed during the tallying rule. All else equal, validators that operated performantly receive their regular stake rewards, whereas validators who did not operate performantly at the reference gas price receive slashed rewards. Since stake rewards are influenced by the amount of stake each validator owns, validators are encouraged to obtain more stake by lowering gas fees and pricing out inefficient validators. This benefits IOTA end users since the stake reward distribution rule incentivizes validators to deliver a more cost-efficient network.

Expand Down
2 changes: 1 addition & 1 deletion docs/content/about-iota/tokenomics/proof-of-stake.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The IOTA economic model works as follows.

At the beginning of each epoch, two important events happen:

- The delegated tokens for a given validator are added up and a new [committee](../../operator/validator-committee.mdx) is formed.
- The delegated tokens for a given validator are added up and a new [committee](../iota-architecture/validator-committee.mdx) is formed.
- The reference gas price, set as described in [IOTA Gas Pricing](./gas-pricing.mdx), is updated.

Following these actions, the protocol computes the total amount of stake as the sum of staked IOTA.
Expand Down
3 changes: 2 additions & 1 deletion docs/content/developer/getting-started/local-network.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
description: Guide to setting up and using a local IOTA network for development and testing.
tags: [ how-to, install, setup, cli, typescript, sdk, testing, iota-cli ]
tags: [ how-to, install, setup, cli, typescript, sdk, testing, iota-cli, node-operation]
teams:
- iotaledger/dev-tools
- iotaledger/node
---
import Quiz from '@site/src/components/Quiz';
import questions from '/json/developer/getting-started/local-network.json';
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/archives.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: IOTA Archives
description: The archive is a historical record of all transactions on IOTA. Enable archiving on your full nodes as a best practice.
tags: [node-operation]
teams:
- iotaledger/node
---

import Quiz from '@site/src/components/Quiz';
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/data-management.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Data Management
tags: [node-operation]
teams:
- iotaledger/node
description: A high-level description of data management on the IOTA network that you can use to optimize your IOTA full node configuration.
---

Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/genesis.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Genesis
tags: [node-operation]
teams:
- iotaledger/node
---

Genesis is the initial state of the IOTA blockchain. To launch a network, the initial committee of validators collaborate by providing their validator information (public keys, network addresses, and so on) to a shared workspace. After all of the initial validators have contributed their information, IOTA generates the initial, unsigned genesis checkpoint (checkpoint with sequence number 0) and each validator provides their signature. IOTA aggregates these signatures to form a _certificate_ on the genesis checkpoint. IOTA bundles this checkpoint, as well as the initial objects, together into a single genesis.blob file that is used to initialize the state when running the `iota-node` binary for both validators and full nodes.
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/iota-full-node/docker.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
description: Learn how to set up an IOTA Full Node using docker.
tags: [node-operation]
teams:
- iotaledger/node
---
import Quiz from '@site/src/components/Quiz';
import questions from '/json/node-operators/iota-full-node/node-setup.json';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
description: How to monitor and Prune your IOTA Full Node.
tags: [node-operation]
teams:
- iotaledger/node
---
import Quiz from '@site/src/components/Quiz';
import questions from '/json/node-operators/iota-full-node/pruning.json';
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/iota-full-node/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Overview
description: Operate an IOTA Full Node to validate blockchain activities, like transactions, checkpoints, and epoch changes.
tags: [node-operation]
teams:
- iotaledger/node
---
import Quiz from '@site/src/components/Quiz';
import BSTInfo from '../../_snippets/info-BST-2f1.mdx';
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/iota-full-node/source.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
description: Learn how to set up an IOTA full node from source.
title: Build From Source
tags: [node-operation]
teams:
- iotaledger/node
---
import Quiz from '@site/src/components/Quiz';
import questions from '/json/node-operators/iota-full-node/node-setup.json';
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/observability.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Logging, Tracing, Metrics, and Observability
sidebar_label: Observability
tags: [node-operation]
teams:
- iotaledger/node
draft: true
---

Expand Down
5 changes: 4 additions & 1 deletion docs/content/operator/operator.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Operator Guides
tags: [node-operation]
teams:
- iotaledger/node
description: Guides for operators on the IOTA network. Whether you are running a full node for your dApp or operating as a validator on the IOTA network, these guides help you set up your environment and operate your network.
---

Expand All @@ -15,7 +18,7 @@ Guides that inform full node operators include:

Guides that inform validators how to operate on IOTA include:

- [Validator Committee](validator-committee.mdx)
- [Validator Committee](../about-iota/iota-architecture/validator-committee.mdx)
- [Validator Configuration](validator-config.mdx)
- [Validator Tasks](validator-operation/validator-tasks.mdx)

Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/snapshots.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Database Snapshots
tags: [node-operation]
teams:
- iotaledger/node
description: Database snapshots of the IOTA network enable full node operators a way to bootstrap a full node without having to execute all the transactions that occurred after genesis.
---

Expand Down
46 changes: 0 additions & 46 deletions docs/content/operator/telemetry/_iota-telemetry.mdx

This file was deleted.

3 changes: 3 additions & 0 deletions docs/content/operator/telemetry/iota-metrics.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Metrics
description: Prometheus-based metrics for the node.
tags: [node-operation]
teams:
- iotaledger/node
---

import Quiz from '@site/src/components/Quiz';
Expand Down
46 changes: 0 additions & 46 deletions docs/content/operator/telemetry/iota-telemetry.mdx

This file was deleted.

3 changes: 3 additions & 0 deletions docs/content/operator/telemetry/telemetry-subscribers.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Telemetry Subscribers
description: Allows for flexible logging and tracing of the node.
tags: [node-operation]
teams:
- iotaledger/node
---

import Quiz from '@site/src/components/Quiz';
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/validator-config.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: IOTA Validator Node Configuration
tags: [node-operation]
teams:
- iotaledger/node
description: Learn how to set up, configure, and manage an IOTA Validator node, including staking, reference gas price, and tallying rules.
---

Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/validator-operation/ansible/README.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
sidebar_label: Ansible Configuration
tags: [node-operation]
teams:
- iotaledger/node
---

import Configuration from './../../../../../nre/ansible/README.md';
Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/validator-operation/docker/README.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
sidebar_label: Docker Configuration
tags: [node-operation]
teams:
- iotaledger/node
---
import Configuration from './../../../../../nre/docker/README.md';

Expand Down
3 changes: 3 additions & 0 deletions docs/content/operator/validator-operation/systemd/README.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
sidebar_label: Systemd Configuration
tags: [node-operation]
teams:
- iotaledger/node
---
import Configuration from './../../../../../nre/systemd/README.md';

Expand Down
5 changes: 5 additions & 0 deletions docs/content/operator/validator-operation/validator-tasks.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
tags: [node-operation]
teams:
- iotaledger/node
---
import ValidatorTasks from './../../../../nre/validator_tasks.md';
import Quiz from '@site/src/components/Quiz';
import questions from '/json/node-operators/validator-tasks.json';
Expand Down
5 changes: 5 additions & 0 deletions docs/content/operator/validator-tools.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
tags: [node-operation]
teams:
- iotaledger/node
---
import ValidatorTools from './../../../nre/validator_tool.md';
import Quiz from '@site/src/components/Quiz';
import questions from '/json/node-operators/validator-tools.json';
Expand Down
1 change: 1 addition & 0 deletions docs/content/sidebars/about-iota.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ const aboutIota = [
items: [
'about-iota/iota-architecture/iota-security',
'about-iota/iota-architecture/transaction-lifecycle',
'about-iota/iota-architecture/validator-committee',
'about-iota/iota-architecture/consensus',
'about-iota/iota-architecture/epochs',
'about-iota/iota-architecture/protocol-upgrades',
Expand Down
1 change: 0 additions & 1 deletion docs/content/sidebars/operator.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ const operator = [
'operator/archives',
'operator/genesis',
'operator/indexer-functions',
'operator/validator-committee',
{
type: 'category',
label: 'Validator Operation',
Expand Down
4 changes: 4 additions & 0 deletions docs/content/tags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -275,3 +275,7 @@ rust-sdk:
iota-wallet:
label: IOTA Wallet
description: IOTA Wallet Browser Extension

node-operation:
label: Node Operation
description: Node Operation

0 comments on commit 345082a

Please sign in to comment.