# Learn about Nodes

The Endless network consists of three node types: validator nodes, validator fullnodes (VFNs), and public fullnodes (PFNs). To participate in consensus, you are required to run a validator node and stake the minimum amount of utility coins. VFNs and PFNs are not required to participate in consensus, but they are necessary to distribute blockchain data and enable ecosystem services, e.g., indexing, querying, and RESTful API services (see [Endless APIs](https://docs.endless.link/endless/devbuild/build/endless-apis)). VFNs can only be run by validator operators, while PFNs can be run by anyone.

This section provides detailed, step-by-step instructions on how to deploy and operate Endless nodes in different environments. It also describes everything you need to stake and participate in consensus and governance. You can also find additional resources for node operation in the External Resources section.

### Quick Links

### Validation on Endless

Everything you need to know about how validation, staking and governance works on Endless.

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>How validation works</strong></td><td>Validator-leader proposes and earns rewards on success.</td><td><a href="/pages/5UdAp4EAvbX8W67GrJWf#validation-on-the-endless-blockchain">/pages/5UdAp4EAvbX8W67GrJWf#validation-on-the-endless-blockchain</a></td></tr><tr><td><strong>Validator states</strong></td><td>Learn how a validator gets into a validator set.</td><td><a href="/pages/5UdAp4EAvbX8W67GrJWf#validator-state-and-stake-state">/pages/5UdAp4EAvbX8W67GrJWf#validator-state-and-stake-state</a></td></tr></tbody></table>

### Staking

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Staking on Endless</strong></td><td>A comprehensive guide to how staking works on Endless.</td><td><a href="/pages/5UdAp4EAvbX8W67GrJWf">/pages/5UdAp4EAvbX8W67GrJWf</a></td></tr><tr><td><strong>Governance</strong></td><td>Who can propose, who can vote, and how an AIP is resolved.</td><td><a href="/pages/SJAsthB9oAmDiuiTtgul">/pages/SJAsthB9oAmDiuiTtgul</a></td></tr><tr><td><strong>Owner</strong></td><td>Describes the owner operations performed for staking.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr><tr><td><strong>Voter</strong></td><td>Describes the voter operations performed for staking.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr></tbody></table>

### Validators and VFNs

A comprehensive guide to deploying nodes, staking operations and participate in consensus.

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Node requirements</strong></td><td>Details the compute and storage resources you need. Read this first before anything.</td><td><a href="/pages/5Y3Gvuf5nt0oGH3SWscz">/pages/5Y3Gvuf5nt0oGH3SWscz</a></td></tr><tr><td><strong>Running validator node</strong></td><td>In the cloud or on-premises, Docker or source, you will read step-by-step instructions here.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr><tr><td><strong>Node health</strong></td><td>You can verify your node health using several options.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr><tr><td><strong>Connecting to Endless network</strong></td><td>Steps to connect your nodes to an Endless network.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr><tr><td><strong>Staking pool operations</strong></td><td>Step-by-step guide for how to perform staking pool operations.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr><tr><td><strong>Shutting down nodes</strong></td><td>Leave the validator set first, and then shut down your node.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr></tbody></table>

### Public Fullnodes (PFNs)

A section with detailed, step-by-step instructions on everything related to Endless PFNs.

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Deploy a PFN</strong></td><td>Follow this section to deploy a PFN.</td><td><a href="/pages/kylmWXL3gp41SEorOxRF">/pages/kylmWXL3gp41SEorOxRF</a></td></tr><tr><td><strong>Indexer PFN</strong></td><td>Describes how to run an indexer PFN on the Endless network.</td><td><a href="/pages/V4M0DMospeYfFyFex62h">/pages/V4M0DMospeYfFyFex62h</a></td></tr></tbody></table>

### Common Operations

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Local development testnet</strong></td><td>Run a localnet for development (including validator nodes).</td><td><a href="/pages/q2djHEnBps6Wwups8jgz">/pages/q2djHEnBps6Wwups8jgz</a></td></tr><tr><td><strong>Upgrade a node</strong></td><td>Upgrade your node with new releases.</td><td><a href="https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md">https://ggg.bylink.im/endless/docs/-/blob/main/devbuild/nodes/broken-reference/README.md</a></td></tr><tr><td><strong>Bootstrap from a snapshot</strong></td><td>Use a snapshot to bootstrap a new node.</td><td><a href="/pages/JSdZOZC8YjQ9zkpUJHgL">/pages/JSdZOZC8YjQ9zkpUJHgL</a></td></tr><tr><td><strong>Bootstrap from a backup</strong></td><td>Use data restore to bootstrap a new node.</td><td><a href="/pages/yxKzY6gsKrtlOcVY05HD">/pages/yxKzY6gsKrtlOcVY05HD</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.endless.link/endless/devbuild/nodes/learn-about-nodes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
