Skip to content

Conversation

@brunopgalvao
Copy link
Contributor

@brunopgalvao brunopgalvao commented Nov 18, 2025

Summary

Resolves #1216
Resolves #1217
Resolves #1185

Refactored the "Nodes and Validators" section to accommodate Polkadot Hub, collators, and system parachains with an emphasis on running a Polkadot Hub RPC node. With this, the section has been renamed to "Node Infrastructure" to better accommodate what is contained in this section (Polkadot Hub RPC node, system parachain RPC node, relay chain nodes, collators, validators, etc)

New content to:

  • setup and run a Polkadot Hub RPC node
  • setup and run a system parachain RPC node
  • setup and run a block-producing collator

- Add comprehensive guide for running system parachain RPC nodes
  - Covers People Chain, Bridge Hub, and Coretime Chain
  - Provides both Docker and systemd deployment options
  - Includes snapshot setup, monitoring, and security best practices
- Add conclusion sections to RPC and collator guides
  - polkadot-hub-rpc.md: summarize benefits and next steps
  - system-parachain-rpc.md: highlight adaptability across system parachains
  - collator.md: emphasize operator role and responsibilities
- Restructure documentation from nodes-and-validators to node-infrastructure
@brunopgalvao brunopgalvao self-assigned this Nov 18, 2025
@brunopgalvao brunopgalvao changed the title Add system parachain RPC guide and enhance documentation Add Polkadot Hub RPC node, system parachain RPC node, and collator pages Nov 18, 2025
@brunopgalvao brunopgalvao added B0 - Needs Review Pull request is ready for review C1 - Medium Medium priority task A0 - New Content Pull request contains new content pages labels Nov 18, 2025
- Resolve conflict in .nav.yml by keeping 'Node Infrastructure' and adding 'Technical Reference'
- Integrate latest changes from staging/product-ia
@brunopgalvao brunopgalvao changed the title Add Polkadot Hub RPC node, system parachain RPC node, and collator pages Add node infrastructure guides and restructure section Nov 18, 2025
Update polkadot-omni-node from stable2506-4 to v1.20.2 and Rust from 1.86 to 1.91.1 in the system parachain RPC documentation. This ensures users are working with the latest stable releases.

Changes:
- Docker image: parity/polkadot-omni-node:v1.20.2
- Cargo package: [email protected]
- Rust toolchain: 1.91.1

All versions have been tested and verified to work correctly.
Resolve merge conflict in .nav.yml by keeping the Node Infrastructure
navigation structure from this branch.
@brunopgalvao brunopgalvao marked this pull request as ready for review November 19, 2025 09:56
@brunopgalvao brunopgalvao requested a review from a team as a code owner November 19, 2025 09:56
- Update Rust toolchain to 1.91.1 (from 1.86)
- Update polkadot-omni-node to v0.11.0 for collator (from v0.5.0)
- Update Docker image to v1.20.2 for RPC nodes (from stable2506-4)
- Update chain-spec-builder to v14.0.0 (from v10.0.0)
- Update AI-generated page files to reflect latest changes
- Clean up old nodes-and-validators AI page files
Copy link
Collaborator

@dawnkelly09 dawnkelly09 left a comment

Choose a reason for hiding this comment

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

Not done yet but wanted to surface a couple of questions for @brunopgalvao

Copy link
Collaborator

@eshaben eshaben left a comment

Choose a reason for hiding this comment

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

just looking for clarity on what steps are for what setup option (docker vs systemd)

@eshaben
Copy link
Collaborator

eshaben commented Dec 8, 2025

@brunopgalvao I've made a lot of changes locally, just awaiting your responses so I can make modifications as needed. Thanks!

brunopgalvao and others added 8 commits December 9, 2025 16:06
- Switch from rocksdb to paritydb snapshots where available
- Update relay chain pruned snapshot size from ~200 GB to ~822 GB
- Fix non-existent pruned snapshot URLs (Asset Hub, People Chain)
- Clarify storage requirements: archive nodes (~1.2 TB) vs pruned nodes (200+ GB)
- Update system parachain snapshot sizes with accurate values
Remove duplicate tabs for archive/pruned snapshots since the same
archive snapshots are used for both node types.
Restructure Run the Collator section to provide both Docker and systemd
setup options in tabs, consistent with other node documentation.
@eshaben
Copy link
Collaborator

eshaben commented Dec 12, 2025

@brunopgalvao ready for review 🙂

- **Experience**: Detail your relevant experience.
Submit the proposal to the relevant governance channels on the [Polkadot Forum](https://forum.polkadot.network){target=\_blank}.
Submit the proposal to the relevant governance channels.
Copy link
Collaborator

Choose a reason for hiding this comment

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

We should probably tell them where they're supposed to submit the proposal though?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Based on https://github.com/polkadot-fellows/RFCs/blob/main/text/0007-system-collator-selection.md, the candidate selection criteria is the following:

If you're not an invulnerable, you can register as a candidate by placing a bond. You get selected to collate if:

  1. Your bond ranks in the top N candidates - Candidates are sorted by bond amount, and the top N are selected (where N is the DesiredCandidates config value for that chain)
  2. There are available candidate slots - Each system chain has a fixed number of candidate slots alongside the invulnerable slots. For example, Referendum #84 set Asset Hub to have 7 candidate positions.

How It Works

From RFC-0007:
"The collator selection protocol allows Candidates to increase (and decrease) their individual bonds, sort the Candidates according to bond, and select the top N Candidates."

So the mechanism is:

  • You call collatorSelection.registerAsCandidate with a bond (minimum is CandidacyBond, e.g., 1,000 DOT on Asset Hub)
  • You can increase your bond to improve your ranking
  • At each session change, the top N candidates by bond are selected to collate alongside all invulnerables

Key Points

  • Invulnerables always collate - they take priority regardless of bond
  • Candidates compete on bond amount - higher bond = higher chance of selection
  • Session-based rotation - selection happens at session boundaries via the session manager
  • If your bond is outbid by others, you may drop out of the active set until you increase your bond or others leave

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A0 - New Content Pull request contains new content pages B0 - Needs Review Pull request is ready for review C1 - Medium Medium priority task

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants