Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"navigation": {
"pages": [
"start-here",
"what-is-a-node",
"get-support",
"from-ethereum",
"more-tutorials",
Expand Down
44 changes: 44 additions & 0 deletions resources/images/nodes/node-flow.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 52 additions & 0 deletions what-is-a-node.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: "What is a node?"
description: "Overview of TON nodes, validator roles, and how apps connect to the network."
---

import { Image } from "/snippets/image.jsx";

A node is a server running TON blockchain software. It stores the chain state, verifies blocks and transactions, and propagates new data to other nodes and clients.

This matters when deciding whether to rely on a public API or run infrastructure, and when tracing how a wallet action becomes an on-chain transaction.

## What a node does

A _full node_ keeps the latest blockchain state and relays blocks and messages across the peer-to-peer network. A _validator_ is a full node that participates in consensus and produces blocks. Many full nodes also expose a _liteserver_ endpoint so wallets and apps can query data or submit messages without running a full node themselves.

TON also has _lite clients_. They do not store chain state locally. Instead, they request the data they need from liteserver-enabled full nodes.

## Node types and roles

- **Full node** — stores the latest state and propagates blocks and messages. See [Node roles and modes](/ecosystem/node/overview).
- **Archive node** — a full node that keeps the entire history for analytics and explorers. See [Node roles and modes](/ecosystem/node/overview).
- **Validator node** — produces blocks and participates in consensus. See [Running a validator](/ecosystem/node/run-validator).
- **Liteserver** — a mode that exposes a gateway for lite clients and APIs. See [Interacting with TON nodes](/ecosystem/node/overview#interacting-with-ton-nodes).

## Who runs nodes

- **Validators** — stake Toncoin, participate in consensus, and produce blocks.
- **Infrastructure providers** — run full nodes and liteservers to back APIs.
- **Explorers and indexers** — run archive nodes to serve historical data.
- **Community operators** — add connectivity and redundancy to the network.

## How apps reach the network

Wallets and dApps act as lite clients: they do not keep chain state locally and instead connect to an [API provider](/ecosystem/api/overview) or a liteserver gateway. The gateway forwards requests to full nodes. Validators are the subset of nodes that finalize new blocks, and the results propagate back through the network.

<Image
src="/resources/images/nodes/node-flow.svg"
alt="Flow from a user wallet or dApp through an API or liteserver gateway to TON full nodes and validators."
/>

## Run your own node (optional)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Non-imperative, descriptive heading on task section

The heading ## Run your own node (optional) combines a descriptive phrase (“your own node”) with an inline optionality label, instead of a concise imperative heading. The style guide requires task-oriented instructions to use imperative phrasing (“Run a node”) and to avoid extra qualifiers that reduce scanability. This heading is the entry point to an action-oriented section and should follow the same imperative, neutral style as steps and commands.

Suggested change
## Run your own node (optional)
## Run a node

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


Use public APIs for prototypes and light workloads. Full nodes typically back apps that require stricter uptime targets or direct access to the network.

- [Set up a node with MyTonCtrl](/ecosystem/node/setup-mytonctrl)
- [Set up a local network with MyLocalTon](/ecosystem/node/setup-mylocalton)

## See also

- [Node roles and modes](/ecosystem/node/overview)
- [Running a validator](/ecosystem/node/run-validator)
- [Liteserver mode](/ecosystem/node/overview#interacting-with-ton-nodes)