> For the complete documentation index, see [llms.txt](https://cryptomolot.gitbook.io/cryptomolot-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cryptomolot.gitbook.io/cryptomolot-docs/mainnets/story-protocol/validator-runbook.md).

# Validator Runbook

## Default Ports

* `story-geth`: **8545/8546** (RPC/WS), **30303** (p2p)
* `story`: **26656** (p2p), **26657** (RPC), **26660** (metrics)

Consensus config: `$HOME/.story/story/config/config.toml`

#### Consensus health

* Health (OK if output `{}`)

```bash
curl -s localhost:${STORY_PORT}657/health
```

* Status:

```bash
curl -s localhost:${STORY_PORT}657/status | jq '.result.sync_info | {latest_block_height, latest_block_time, catching_up}'
```

Outputs (OK if):

* `catching_up: false`
* `latest_block_height` increase

#### Check peers connected

```bash
curl -s localhost:${STORY_PORT}657/net_info | jq '.result.n_peers'
curl -s localhost:${STORY_PORT}657/net_info | jq -r '.result.peers[].node_info.moniker' | head
```

#### Execution (geth) health

ok, if the result increases

```bash
curl -s -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
  http://localhost:8545 | jq
```
