Skip to content

Commit

Permalink
add content
Browse files Browse the repository at this point in the history
  • Loading branch information
CrackTheCode016 committed Sep 19, 2024
1 parent 9296668 commit 84c2fc6
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 0 deletions.
1 change: 1 addition & 0 deletions infrastructure/validators/onboarding/.pages
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
title: Onboarding
nav:
- index.md
- run-validator
4 changes: 4 additions & 0 deletions infrastructure/validators/onboarding/run-validator/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
title: Running Validators
nav:
- index.md
- using-systemd.md
7 changes: 7 additions & 0 deletions infrastructure/validators/onboarding/run-validator/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Run a Validator
description: TODO
hide:
- feedback
template: subsection-index-page.html
---
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: Use Systemd
description: Using a service manager for your validator node.
---

You can run your validator as a [systemd](https://en.wikipedia.org/wiki/Systemd) process so that it
will automatically restart on server reboots or crashes (and helps to avoid getting
[slashed](../learn/learn-offenses.md)).

Before following this guide you should have already set up your validator by following the
[How to validate](../learn/learn-validator.md) article.

First create a new unit file called `polkadot-validator.service` in `/etc/systemd/system/`.

```bash
touch /etc/systemd/system/polkadot-validator.service
```

In this unit file you will write the commands that you want to run on server boot / restart.

```
[Unit]
Description=Polkadot Validator
[Service]
ExecStart=PATH_TO_POLKADOT_BIN --validator --name SHOW_ON_TELEMETRY
Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target
```

!!!warning
It is recommended to delay the restart of a node with `RestartSec` in the case of node crashes. It's
possible that when a node crashes, consensus votes in GRANDPA aren't persisted to disk. In this
case, there is potential to equivocate when immediately restarting. What can happen is the node will
not recognize votes that didn't make it to disk, and will then cast conflicting votes. Delaying the
restart will allow the network to progress past potentially conflicting votes, at which point other
nodes will not accept them.

To enable this to autostart on bootup run:

```bash
systemctl enable polkadot-validator.service
```

Start it manually with:

```bash
systemctl start polkadot-validator.service
```

You can check that it's working with:

```bash
systemctl status polkadot-validator.service
```

You can tail the logs with `journalctl` like so:

```bash
journalctl -f -u polkadot-validator
```

0 comments on commit 84c2fc6

Please sign in to comment.