You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[Upgrading the Node](./upgrade.md)| How to stage and verify protocol upgrades on your node |
7
8
|[Archiving and Restoring a Database](./archiving-and-restoring.md)| Using `zstd` for the compression and decompression of a Casper node database and streaming from a backup location |
8
9
|[Moving a Validating Node](./moving-node.md)| Ways to move a validator node to another machine |
You can also build [from source](https://github.com/casper-network/casper-node-launcher). However, all the setup and pull of casper-node releases will be manual.
25
25
26
+
:::note
27
+
28
+
The `casper-sidecar` component is also typically installed alongside the node to provide additional APIs and event streaming. For more information, see the [Sidecar Setup](./casper-sidecar.md) page.
29
+
30
+
:::
31
+
26
32
## File Locations {#file-locations}
27
33
28
34
The `casper-node-launcher` Debian installation creates the directories and files needed to run `casper-node` versions and perform upgrades. A `casper` user and `casper` group are created during installation and used to run the software. Two main folders are relevant for our software: `/etc/casper` and `/var/lib/casper`.
@@ -50,7 +56,7 @@ The default location for executables from the Debian package install is `/usr/bi
50
56
51
57
This is the default location for configuration files. It can be overwritten with the `CASPER_CONFIG_DIR` environment variable. The paths in this document assume the default configuration file location of `/etc/casper`. The data is organized as follows:
52
58
53
-
-`node_util.py` - A script that will be replacing other scripts and is the preferred method of performing the actions of `pull_casper_node_version.sh`, `config_from_example.sh`, and `delete_local_db.sh`. Other scripts will be deprecated in future releases of `casper-node-launcher`.
59
+
-`node_util.py` - A unified script for managing configuration, logs, node status, protocol versions, and service operations. It is the preferred tool for interacting with the node and sidecar components.
54
60
-`casper-node-launcher-state.toml` - The local state for the `casper-node-launcher` which is created during the first run
55
61
-`validator_keys/` - The default folder for node keys, containing:
56
62
-`README.md` - Instructions on how to create validator keys using the `casper-client`
@@ -67,6 +73,12 @@ This is the default location for configuration files. It can be overwritten with
67
73
-`config-example.toml` - As per `1_0_0/config-example.toml`, but compatible with the `m.n.p` version of the node
68
74
-`config.toml` - As per `1_0_0/config.toml`, but compatible with the `m.n.p` version of the node
69
75
76
+
:::note
77
+
78
+
If you are joining a running network and installing a node from scratch, you typically only need the latest upgrade. For example, if the current protocol version is `2.0.1`, only the `2_0_1` directory will be present under `/etc/casper`.
79
+
80
+
:::
81
+
70
82
### `/var/lib/casper/` {#varlibcasper}
71
83
72
84
This is the location for larger and variable data for the `casper-node`, organized in the following folders and files:
@@ -93,19 +105,15 @@ Included with the `casper-node-launcher` is `node_util.py` for installing `caspe
For `<NETWORK_CONFIG>`, we use `casper.conf` for Mainnet and `casper-test.conf` for Testnet. This will install all currently released protocols in one step.
108
+
For `<NETWORK_CONFIG>`, we use `casper.conf` for Mainnet and `casper-test.conf` for Testnet. This will install the protocol versions that are currently relevant—typically the active version and any upcoming upgrade.
97
109
98
110
This command will do the following for each protocol not installed with `1_5_8` as example here:
99
111
- Create `/var/lib/casper/bin/1_5_8/` and expand the `bin.tar.gz` containing at a minimum `casper-node`
100
112
- Create `/etc/casper/1_5_8/` and expand the `config.tar.gz` containing `chainspec.toml`, `config-example.toml`, and possibly `accounts.csv` and other files
101
113
- Remove the archive files
102
114
- Run the equivalent of `/etc/casper/node_util.py config_from_example 1_5_8` to create a `config.toml` from the `config-example.toml`
103
115
104
-
Release versions are invoked using the underscore format, such as:
Please observe that the release versions are invoked using the underscore format.
109
117
110
118
## The Node Configuration File {#config-file}
111
119
@@ -126,9 +134,15 @@ When joining the network, the system will start from the hash of a recent block
126
134
127
135
This page has an example of using [sed to automatically update the trusted hash](https://docs.casper.network/operators/setup/install-node#getting-a-trusted-hash)
128
136
137
+
:::note
138
+
139
+
For Casper Mainnet, you can also obtain the latest block hash from [CSPR.live](https://cspr.live/blocks).
140
+
141
+
:::
142
+
129
143
### Known Addresses {#known-addresses}
130
144
131
-
For the node to connect to a network, the node needs a set of trusted peers for that network. For [Mainnet](https://cspr.live/), these are listed in the `config.toml` as `known_addresses`. For other networks, locate and update the list to include at least two trusted IP addresses for peers in that network. Here is an [example configuration](https://github.com/casper-network/casper-protocol-release/blob/main/config/config-example.toml). The [casper-protocol-release](https://github.com/casper-network/casper-protocol-release) repository stores configurations for various environments, which you can also use as examples.
145
+
For the node to connect to a network, the node needs a set of trusted peers for that network. For [Mainnet](https://cspr.live/), these are listed in the `config.toml` as `known_addresses`. For other networks, locate and update the list to include at least two trusted IP addresses for peers in that network. Here is an [example configuration](https://github.com/casper-network/casper-protocol-release/blob/casper/config/config-example.toml). The [casper-protocol-release](https://github.com/casper-network/casper-protocol-release) repository stores configurations for various environments, which you can also use as examples.
132
146
133
147
### Updating the `config.toml` file {#updating-config-file}
134
148
@@ -150,7 +164,7 @@ Provide the path to the secret keys for the node. This path is set to `etc/caspe
150
164
151
165
### Networking and Gossiping {#networking--gossiping}
152
166
153
-
The node requires a publicly accessible IP address. The `config_from_example.sh` and `node_util.py`both allow IP for network address translation (NAT) setup. Specify the public IP address of the node. If you use the `config_from_example.sh` external services are called to find your IP and this is inserted into the `config.toml` created.
167
+
The node requires a publicly accessible IP address. The `node_util.py`script allows IP for network address translation (NAT) setup. Specify the public IP address of the node. If you use the `node_util.py`, external services are called to find your IP and this is inserted into the `config.toml` created.
154
168
155
169
The following default values are specified in the file if you want to change them:
156
170
@@ -207,6 +221,12 @@ cors_origin = ''
207
221
208
222
The [Prerequisites](../../developers/prerequisites.md#install-casper-client) page lists installation instructions for the Casper client, which is useful for generating keys and retrieving information from the network.
209
223
224
+
If you have already setup the official Debian package repository of Casper, you can also install the `casper-client` package to interact with the node, without the Rust development environment dependency, by issuing the following command:
225
+
226
+
```bash
227
+
sudo apt install casper-client
228
+
```
229
+
210
230
## Creating Keys and Funding Accounts {#create-fund-keys}
211
231
212
232
The following command will create keys in the `/etc/casper/validator_keys` folder.
Copy file name to clipboardExpand all lines: docs/operators/setup/hardware.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,15 +10,15 @@ The following hardware specifications are recommended for the Casper [Mainnet](h
10
10
11
11
- 4 Cores
12
12
- 32 GB Ram
13
-
- 2 TB SSD or network SSD backed disk
13
+
- 2 TB SSD
14
14
- Linux machine running Ubuntu 20.04
15
15
16
16
17
17
:::note Notes
18
18
19
19
- SSD is required because HDD cannot perform random writes at the performance needed to keep in sync with the full speed of the network.
20
20
21
-
- For non-archival nodes, disc usage will drop once data recovery is implemented. It is safe to slowly increase the disc space as needed while monitoring on a server capable of this.
21
+
- For non-archival nodes, current disc usage is significantly lower (e.g., ~500 GB is sufficient for at least 1 year). It is safe to start with lower capacity and scale up as needed.
Copy file name to clipboardExpand all lines: docs/operators/setup/index.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Setting up a Node
2
2
3
-
The prerequisite for becoming a validator is to set up a node and join a network as described here.
3
+
To participate as a validator, you must first set up a Casper node and join the network. Node setup instructions apply whether you're running a validator, an RPC node, or an archival node.
Copy file name to clipboardExpand all lines: docs/operators/setup/node-endpoints.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ address = '0.0.0.0:8888'
50
50
51
51
Opening port 8888 is recommended but not required. This port allows the node to be included in the general network health metrics, thus giving a more accurate picture of overall network health. If this port is closed, the requests coming to this port will not be served, but the node remains unaffected.
52
52
53
-
One may use this port to [get a trusted hash](./basic-node-configuration.md#trusted-hash-for-synchronizing), [verify successful staging](./upgrade.md#verifying-successful-staging) during an upgrade, or to [confirm that the node is synchronized](./joining.md#step-7-confirm-the-node-is-synchronized).
53
+
One may use this port to [get a trusted hash](./basic-node-configuration.md#trusted-hash-for-synchronizing), [verify successful staging](../maintenance/upgrade.md#verifying-successful-staging) during an upgrade, or to [confirm that the node is synchronized](./joining.md#step-7-confirm-the-node-is-synchronized).
54
54
55
55
56
56
### Example usage
@@ -210,7 +210,7 @@ Here is a summary of the links mentioned on this page:
210
210
-[Interacting with the network using CLI](../../developers/cli/index.md)
211
211
-[Bonding](../becoming-a-validator/bonding.md#example-bonding-transaction) or [unbonding](../becoming-a-validator/unbonding.md) as a validator
212
212
-[Getting a trusted node hash](./basic-node-configuration.md#trusted-hash-for-synchronizing)
|[Upgrading the Node](./upgrade.md)| How to stage and verify protocol upgrades on your node |
7
8
|[Archiving and Restoring a Database](./archiving-and-restoring.md)| Using `zstd` for the compression and decompression of a Casper node database and streaming from a backup location |
8
9
|[Moving a Validating Node](./moving-node.md)| Ways to move a validator node to another machine |
0 commit comments