Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
21d5e01
Add system parachain RPC guide and enhance documentation
brunopgalvao Nov 18, 2025
43339dc
Merge branch 'staging/product-ia' into bruno/infra/running-a-collator
brunopgalvao Nov 18, 2025
cb3ac55
Update system parachain RPC guide to latest versions
brunopgalvao Nov 19, 2025
6dc4298
Merge staging/product-ia into bruno/infra/running-a-collator
brunopgalvao Nov 19, 2025
9105f65
Update software versions and dependencies
brunopgalvao Nov 19, 2025
ed97e71
Update content
brunopgalvao Nov 20, 2025
656920e
initial look at collator.md
dawnkelly09 Nov 20, 2025
b04156a
tweak admo
dawnkelly09 Nov 20, 2025
dbd2d98
wip - collator page
dawnkelly09 Nov 21, 2025
fc25788
finish collator pre-tech review pass
dawnkelly09 Nov 21, 2025
2de9f46
clean up formatting for RPC node page
dawnkelly09 Nov 21, 2025
3b791ac
formatting edits
dawnkelly09 Nov 21, 2025
b84d71d
Update guides
brunopgalvao Nov 24, 2025
7870c65
Merge remote changes with tabbed content structure
brunopgalvao Nov 24, 2025
a9f8340
Use polkadot-parachain binary instead of polkadot-omni-node
brunopgalvao Nov 24, 2025
35d51a0
Update llms
brunopgalvao Nov 24, 2025
fda3e1c
Download polkadot-parachain binary from GitHub releases instead of Do…
brunopgalvao Nov 24, 2025
e517594
Use MkDocs admonition syntax for notes and warnings
brunopgalvao Nov 24, 2025
1c3288f
Fix GitHub release tag to polkadot-stable2509-2
brunopgalvao Nov 24, 2025
1859915
Restructure parachain-rpc.md to use tabbed content layout
brunopgalvao Nov 24, 2025
f645cca
Add Docker commands to collator.md monitoring and maintenance sections
brunopgalvao Nov 24, 2025
1a74bf4
Update content
brunopgalvao Nov 24, 2025
6822d57
wip rpc page cleanup
dawnkelly09 Nov 24, 2025
65132ed
Update content
brunopgalvao Nov 26, 2025
1f55b3e
Merge remote-tracking branch 'origin/staging/product-ia' into bruno/i…
brunopgalvao Dec 4, 2025
ad7ac4d
Update node configs: optimize pruning, disable external ports
brunopgalvao Dec 4, 2025
5569d63
Update AI index pages for node infrastructure docs
brunopgalvao Dec 4, 2025
1218571
Update snapshot URLs and storage requirements for node docs
brunopgalvao Dec 9, 2025
decf9d5
Simplify snapshot sections to single archive instructions
brunopgalvao Dec 9, 2025
41f3548
Add Docker setup option for collator deployment
brunopgalvao Dec 9, 2025
9a200f2
LLMS files
brunopgalvao Dec 9, 2025
1993fdb
cleanup docs
eshaben Dec 9, 2025
10dc550
Merge remote-tracking branch 'origin/bruno/infra/running-a-collator' …
eshaben Dec 9, 2025
cc37481
add bruno's changes to my changes
eshaben Dec 9, 2025
88cd077
add bruno's changes to my changes
eshaben Dec 9, 2025
8485f32
fix link
eshaben Dec 9, 2025
0ad288c
update parachain rpc page
eshaben Dec 11, 2025
0d70948
update polkadot hub rpc page
eshaben Dec 11, 2025
5fb1690
fix full node terminal elements
eshaben Dec 11, 2025
5644b85
update collator page
eshaben Dec 11, 2025
59603f1
resolve TODOs
eshaben Dec 11, 2025
3f78b60
fix capitalization
eshaben Dec 11, 2025
979be37
fix: images
nhussein11 Dec 11, 2025
f7838df
update content
brunopgalvao Dec 12, 2025
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
230 changes: 140 additions & 90 deletions .ai/pages/node-infrastructure-run-a-collator-collator.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ Block-producing collators require robust hardware for reliable operation includi
- **CPU**: 4+ cores (8+ cores recommended for optimal performance)
- **Memory**: 32 GB RAM minimum (64 GB recommended)
- **Storage**:
- 500 GB+ NVMe SSD for parachain data
- Additional 200+ GB for relay chain pruned database
- 200+ GB NVMe SSD (with pruning enabled for both parachain and relay chain)
- Fast disk I/O is critical for block production performance
- **Network**:
- Public IP address (required)
Expand Down Expand Up @@ -213,72 +212,151 @@ Follow these steps to build a chainspec from the runtime:
- People Chain: 1004
- Coretime Chain: 1005

## Create User and Directory Structure
## Run the Collator

1. Create a dedicated user with the following command:
```bash
sudo useradd -r -s /bin/bash polkadot
```
Select your preferred deployment method:

2. Use the following command to copy your chain spec to the directory:
```bash
sudo cp chain-spec.json /var/lib/polkadot-collator/
```
=== "Docker Setup"

3. Set permissions using the following command:
```bash
sudo chown -R polkadot:polkadot /var/lib/polkadot-collator
```
1. Create a directory for collator data and copy the chain spec:
```bash
mkdir -p collator-data
cp chain-spec.json collator-data/
cp /var/lib/polkadot-collator/node.key collator-data/
```

## Create Systemd Service File
2. Launch the collator using Docker:
```bash
docker run -d --name polkadot-collator --restart unless-stopped \
-p 30333:30333 \
-p 30334:30334 \
-p 9944:9944 \
-p 9615:9615 \
-v $(pwd)/collator-data:/data \
-v $(pwd)/chain-spec.json:/chain-spec.json \
parity/polkadot-parachain:stable2509-2 \
--collator \
--chain=/chain-spec.json \
--base-path=/data \
--port=30333 \
--rpc-port=9944 \
--prometheus-port=9615 \
--prometheus-external \
--node-key-file=/data/node.key \
--name="YourCollatorName" \
--blocks-pruning=256 \
--state-pruning=256 \
--database=paritydb \
-- \
--chain=polkadot \
--port=30334 \
--sync=fast \
--blocks-pruning=256 \
--state-pruning=256 \
--database=paritydb \
--pool-limit=0 \
--rpc-port=0
```

1. Create a service file to hold the configuration for your collator:
```bash
sudo nano /etc/systemd/system/polkadot-collator.service
```
3. View logs to monitor sync progress:
```bash
docker logs -f polkadot-collator
```

2. Open the new file and add the following configuration code:
```ini title="systemd/system/polkadot-collator.service"
[Unit]
Description=Polkadot System Parachain Collator
After=network.target

[Service]
Type=simple
User=polkadot
Group=polkadot
WorkingDirectory=/var/lib/polkadot-collator

# Block-Producing Collator Configuration
ExecStart=/usr/local/bin/polkadot-parachain \
--collator \
--chain=/var/lib/polkadot-collator/chain-spec.json \
--base-path=/var/lib/polkadot-collator \
--port=30333 \
--rpc-port=9944 \
--prometheus-port=9615 \
--node-key-file=/var/lib/polkadot-collator/node.key \
--name="YourCollatorName" \
--blocks-pruning=256 \
--state-pruning=256 \
--database=paritydb \
-- \
--chain=polkadot \
--port=30334 \
--sync=fast \
--blocks-pruning=256 \
--state-pruning=256 \
--database=paritydb \
--pool-limit=0 \
--rpc-port=0

Restart=always
RestartSec=10
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
```
4. Use the following commands to manage your Docker container:
- Stop container:
```bash
docker stop polkadot-collator
```
- Start container:
```bash
docker start polkadot-collator
```
- Remove container:
```bash
docker rm polkadot-collator
```

=== "systemd Setup"

1. Create a dedicated user:
```bash
sudo useradd -r -s /bin/bash polkadot
```

2. Copy your chain spec to the directory:
```bash
sudo cp chain-spec.json /var/lib/polkadot-collator/
```

3. Set permissions:
```bash
sudo chown -R polkadot:polkadot /var/lib/polkadot-collator
```

4. Create a systemd service file:
```bash
sudo nano /etc/systemd/system/polkadot-collator.service
```

5. Add the following configuration:
```ini title="systemd/system/polkadot-collator.service"
[Unit]
Description=Polkadot System Parachain Collator
After=network.target

[Service]
Type=simple
User=polkadot
Group=polkadot
WorkingDirectory=/var/lib/polkadot-collator

ExecStart=/usr/local/bin/polkadot-parachain \
--collator \
--chain=/var/lib/polkadot-collator/chain-spec.json \
--base-path=/var/lib/polkadot-collator \
--port=30333 \
--rpc-port=9944 \
--prometheus-port=9615 \
--node-key-file=/var/lib/polkadot-collator/node.key \
--name="YourCollatorName" \
--blocks-pruning=256 \
--state-pruning=256 \
--database=paritydb \
-- \
--chain=polkadot \
--port=30334 \
--sync=fast \
--blocks-pruning=256 \
--state-pruning=256 \
--database=paritydb \
--pool-limit=0 \
--rpc-port=0

Restart=always
RestartSec=10
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
```

6. Start the service:
```bash
sudo systemctl daemon-reload
sudo systemctl enable polkadot-collator
sudo systemctl start polkadot-collator
```

7. Check the status:
```bash
sudo systemctl status polkadot-collator
```

8. View logs:
```bash
sudo journalctl -u polkadot-collator -f
```

??? note "Configuration notes"

Expand All @@ -291,34 +369,6 @@ Follow these steps to build a chainspec from the runtime:
- `--pool-limit=0`: Disables transaction pool on relay chain (collators don't need it)
- `--rpc-port=0` (relay chain): Disables RPC on the embedded relay chain node (not needed for collators)

## Run the Collator

Follow these steps to run your collator node:

1. Reload systemd using the following command:
```bash
sudo systemctl daemon-reload
```

2. Next, enable the service to start on boot using the command:
```bash
sudo systemctl enable polkadot-collator
```
3. Now, start the service with the following command:
```bash
sudo systemctl start polkadot-collator
```

4. Finally, you can check the status of the service using the command:
```bash
sudo systemctl status polkadot-collator
```

To view collator service logs, use the command:
```bash
sudo journalctl -u polkadot-collator -f
```

## Complete Initial Sync

Your collator must sync both the relay chain and parachain before producing blocks.
Expand Down
Loading
Loading