Skip to content

Commit 811e1db

Browse files
committed
fix(docs): additional improvements to validator and run-node
1 parent 81cc560 commit 811e1db

File tree

2 files changed

+33
-17
lines changed

2 files changed

+33
-17
lines changed

docs/2-run-node.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ Once your node is running, proceed with the registration:
5858
]}
5959
/>
6060

61+
:::tip[Validator Tracker]
62+
63+
You can track validator status, uptime, and software versions on the [Flare Validator Tracker](https://flare-validators.flare.network).
64+
65+
:::
66+
6167
## Flare Entity
6268

6369
Runs alongside a Validator to provide crucial data for Flare's FTSO and FDC protocols.
@@ -77,6 +83,6 @@ Requires a running [Validator Node](#validator-node). To set up a Flare Entity:
7783

7884
:::tip[Systems Explorer]
7985

80-
All registered Flare Entities, alongside voting and reward epoch, and finalization data can be viewed on the [Flare Systems Explorer](https://flare-systems-explorer.flare.network/providers).
86+
You can view Flare Entity data, including reward epochs and finalization, on the [Flare Systems Explorer](https://flare-systems-explorer.flare.network/providers).
8187

8288
:::

docs/run-node/4-register-validator.mdx

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ import Tabs from "@theme/Tabs";
99
import TabItem from "@theme/TabItem";
1010
import DocCardList from "@theme/DocCardList";
1111

12-
This guide explains how to register a node as a validator.
13-
On Flare, any node can be registered as a validator by performing a self-bond on the P-chain against the node's Node-ID, effectively activating the node as a validator.
12+
This guide explains how to register your Flare node as a validator.
13+
On Flare, any node can become a validator by performing a **self-bond** transaction on the P-chain.
14+
This transaction links your stake to your node's unique `Node-ID`, activating it as a validator.
1415

15-
Validator nodes are essential for securing the network, and perform the following tasks:
16+
Validator nodes are crucial for the network's security and perform three primary tasks:
1617

17-
- **Validation:** Ensure the validity of transactions.
18-
- **Consensus:** Reach agreement with other validators on the transactions to be added to the blockchain.
19-
- **Block Addition:** Bundle the agreed-upon transactions into a block and append it to the blockchain.
18+
- **Validation:** Verify that new transactions are valid.
19+
- **Consensus:** Work with other validators on the transactions to be added to the blockchain.
20+
- **Block Production:** Bundle transactions into blocks and add them to the blockchain.
2021

2122
On Flare, data protocols such as the [Flare Time Series Oracle](/ftso/overview) and [Flare Data Connector](/fdc/overview) are enshrined into the network.
2223
To fully participate and earn all potential rewards, validators must also run a [Flare Entity](/run-node/flare-entity) to contribute to these protocols.
@@ -46,7 +47,6 @@ Failure to implement these measures significantly increases the risk to your nod
4647
- Configure your node to **enable only** the essential APIs required for validation (often just `["web3"]` within `eth-apis`). Explicitly disable admin APIs (`snowman-api-enabled`, `coreth-admin-api-enabled`).
4748
- **Firewall Best Practices:**
4849
- Implement a stateful firewall with a default-deny policy for inbound traffic.
49-
- Explicitly allow only the necessary staking port (`9651/TCP`).
5050
- Consider blocking unnecessary outbound traffic.
5151
- Block ICMP traffic (ping, traceroute) unless specifically needed for monitoring within a trusted network.
5252
- **Do not** run other network-facing applications (e.g., web servers, databases, other blockchain nodes) on the same operating system instance or IP address as your validator.
@@ -98,12 +98,12 @@ Below is a sample `config.json` demonstrating a secure configuration with limite
9898

9999
### Prepare your staking keys
100100

101-
Your node's identity is defined by two files, `staker.key` and `staker.crt`, which are created in `~/.avalanchego/staking/` the first time you start the node.
101+
Your node's identity is defined by two files, `staker.key` and `staker.crt`, which are created the first time you start the node.
102102
Your `Node-ID` is derived from these files.
103103

104104
:::warning[Backup your staking keys]
105105

106-
Backup the `staker.key` and `staker.crt` and store them in a secure, private location.
106+
Backup the `~/.avalanchego/staking/staker.key` and `~/.avalanchego/staking/staker.crt` and store them in a secure, private location.
107107

108108
:::
109109

@@ -145,12 +145,14 @@ This ensures your node always starts with the correct `Node-ID`.
145145
Add the `--staking-tls-cert-file` and `--staking-tls-key-file` flags to your [startup command](/run-node/from-source#run-the-node).
146146

147147
```bash
148-
# Assumes keys are in the default location
148+
# Assumes staking keys are in the default location
149149
./build/avalanchego --network-id=flare \
150150
--http-host= \
151151
--bootstrap-ips="$(curl -sX POST --data '{"jsonrpc":"2.0", "id":1, "method":"info.getNodeIP"}' -H 'content-type:application/json;' [https://flare-bootstrap.flare.network/ext/info](https://flare-bootstrap.flare.network/ext/info) | jq -r '.result.ip')" \
152152
--bootstrap-ids="$(curl -sX POST --data '{"jsonrpc":"2.0", "id":1, "method":"info.getNodeID"}' -H 'content-type:application/json;' [https://flare-bootstrap.flare.network/ext/info](https://flare-bootstrap.flare.network/ext/info) | jq -r '.result.nodeID')" \
153+
# highlight-next-line
153154
--staking-tls-cert-file="~/.avalanchego/staking/staker.crt" \
155+
# highlight-next-line
154156
--staking-tls-key-file="~/.avalanchego/staking/staker.key"
155157
```
156158

@@ -162,18 +164,22 @@ Modify your [`docker run`](/run-node/using-docker#using-docker-cli) command to [
162164
# Find the latest tag at [https://hub.docker.com/r/flarefoundation/go-flare/tags](https://hub.docker.com/r/flarefoundation/go-flare/tags)
163165
LATEST_TAG="vX.Y.Z" # e.g., v1.10.0
164166

167+
# Mount the staking volume and set the staking path environment variables
165168
docker run -d --name flare-node \
166169
-v /mnt/flare-db:/app/db \
167170
-v /opt/flare/conf:/app/conf \
168-
-v /opt/flare/staking:/app/staking \ # <-- Mount the staking keys
171+
# highlight-next-line
172+
-v /opt/flare/staking:/app/staking \
169173
-v /opt/flare/logs:/app/logs \
170174
-p 127.0.0.1:9650:9650 \
171175
-p 0.0.0.0:9651:9651 \
172176
-e NETWORK_ID="flare" \
173177
-e AUTOCONFIGURE_BOOTSTRAP="1" \
174178
-e AUTOCONFIGURE_BOOTSTRAP_ENDPOINT="[https://flare-bootstrap.flare.network/ext/info](https://flare-bootstrap.flare.network/ext/info)" \
175-
-e STAKING_TLS_CERT_FILE="/app/staking/staker.crt" \ # <-- Path inside the container
176-
-e STAKING_TLS_KEY_FILE="/app/staking/staker.key" \ # <-- Path inside the container
179+
# highlight-next-line
180+
-e STAKING_TLS_CERT_FILE="/app/staking/staker.crt" \
181+
# highlight-next-line
182+
-e STAKING_TLS_KEY_FILE="/app/staking/staker.key" \
177183
flarefoundation/go-flare:${LATEST_TAG}
178184
```
179185

@@ -182,6 +188,7 @@ docker run -d --name flare-node \
182188
Modify your [`docker-compose.yaml`](/run-node/using-docker#using-docker-compose) file to include the [staking key volume](/run-node/register-validator#create-a-persistent-staking-directory-recommended-for-docker) and environment variables.
183189

184190
```yaml
191+
# Mount the staking volume and set the staking path environment variables
185192
services:
186193
node:
187194
image: flarefoundation/go-flare:vX.Y.Z # <-- REPLACE with the latest stable tag
@@ -193,14 +200,17 @@ services:
193200
volumes:
194201
- /mnt/flare-db:/app/db
195202
- /opt/flare/conf:/app/conf
196-
- /opt/flare/staking:/app/staking # <-- Mount the staking keys
203+
# highlight-next-line
204+
- /opt/flare/staking:/app/staking
197205
- /opt/flare/logs:/app/logs
198206
environment:
199207
- NETWORK_ID=flare
200208
- AUTOCONFIGURE_BOOTSTRAP=1
201209
- AUTOCONFIGURE_BOOTSTRAP_ENDPOINT=[https://flare-bootstrap.flare.network/ext/info](https://flare-bootstrap.flare.network/ext/info)
202-
- STAKING_TLS_CERT_FILE=/app/staking/staker.crt # <-- Path inside the container
203-
- STAKING_TLS_KEY_FILE=/app/staking/staker.key # <-- Path inside the container
210+
# highlight-next-line
211+
- STAKING_TLS_CERT_FILE=/app/staking/staker.crt
212+
# highlight-next-line
213+
- STAKING_TLS_KEY_FILE=/app/staking/staker.key
204214
```
205215
206216
## Stake and verify

0 commit comments

Comments
 (0)