refresh nimbus guide (#6687)
Small updates to the nimbus guide to update or remove some obsolete points.
This commit is contained in:
parent
7726f39004
commit
25665eed4f
|
@ -15,8 +15,6 @@ Before building Nimbus for the first time, make sure to install the [prerequisit
|
|||
Nimbus is built in the [Nim language](https://nim-lang.org).
|
||||
The compiler is automatically installed when building the project for the first time.
|
||||
|
||||
More information — in particular security-related information about the language — can be found in the [Auditor Handbook](https://nimbus.guide/auditors-book/).
|
||||
|
||||
## Code style
|
||||
|
||||
The code follows the [Status Nim Style Guide](https://status-im.github.io/nim-style-guide/).
|
||||
|
@ -169,11 +167,6 @@ nim --version # Nimbus is tested and supported on 1.2.12 at the moment
|
|||
make dist
|
||||
```
|
||||
|
||||
## Multi-client interop scripts
|
||||
|
||||
[This repository](https://github.com/eth2-clients/multinet) contains a set of scripts used by the client implementation teams to test interop between the clients (in certain simplified scenarios).
|
||||
It mostly helps us find and debug issues.
|
||||
|
||||
## Stress-testing the client by limiting the CPU power
|
||||
|
||||
```bash
|
||||
|
|
|
@ -52,54 +52,9 @@ make -j4 nimbus_light_client
|
|||
This may take a few minutes.
|
||||
When the process finishes, the `nimbus_light_client` executable can be found in the `build` subdirectory.
|
||||
|
||||
## Pairing with the EL client
|
||||
|
||||
To ensure that only the light client can control the EL client, a file with random content (JWT secret) must be created.
|
||||
The format is 64 hexadecimal (0-9, a-f) characters.
|
||||
To create one, the following command may be used:
|
||||
|
||||
```sh
|
||||
openssl rand -hex 32 | tr -d "\n" > "$HOME/jwtsecret"
|
||||
```
|
||||
|
||||
!!! tip
|
||||
To adjust where the file is created, adjust the `$HOME/jwtsecret` portion in the command above.
|
||||
Also adjust other commands in this guide accordingly.
|
||||
|
||||
The JWT secret must be passed to both the EL client and the light client to complete the pairing.
|
||||
|
||||
## Running the EL client
|
||||
|
||||
In addition to the [regular instructions](./eth1.md) to run an EL client, the JWT secret must be configured.
|
||||
The following sections explain how to do this for certain EL clients.
|
||||
|
||||
=== "Geth"
|
||||
|
||||
=== "Mainnet"
|
||||
```sh
|
||||
geth --authrpc.jwtsecret="$HOME/jwtsecret"
|
||||
```
|
||||
|
||||
=== "Holesky"
|
||||
```sh
|
||||
geth --holesky --authrpc.jwtsecret="$HOME/jwtsecret"
|
||||
```
|
||||
|
||||
=== "Nethermind"
|
||||
|
||||
=== "Mainnet"
|
||||
```sh
|
||||
nethermind --JsonRpc.JwtSecretFile="$HOME/jwtsecret"
|
||||
```
|
||||
|
||||
=== "Holesky"
|
||||
```sh
|
||||
nethermind --config holesky --JsonRpc.JwtSecretFile="$HOME/jwtsecret"
|
||||
```
|
||||
|
||||
=== "Others"
|
||||
|
||||
Please consult your EL client's documentation for instructions on how to configure the JWT secret and running the EL client.
|
||||
Follow the [regular instructions](./eth1.md) for running the execution client, taking note of its JWT secret configuration that you will need in the next step.
|
||||
|
||||
## Running the light client
|
||||
|
||||
|
@ -136,16 +91,18 @@ To start the light client, run the following commands (inserting your own truste
|
|||
=== "Mainnet"
|
||||
```sh
|
||||
TRUSTED_BLOCK_ROOT=0x1234567890123456789012345678901234567890123456789012345678901234
|
||||
JWTSECRET=path/to/execution/client/jwt.hex
|
||||
build/nimbus_light_client \
|
||||
--web3-url=http://127.0.0.1:8551 --jwt-secret="$HOME/jwtsecret" \
|
||||
--web3-url=http://127.0.0.1:8551 --jwt-secret="$JWTSECRET" \
|
||||
--trusted-block-root=$TRUSTED_BLOCK_ROOT
|
||||
```
|
||||
|
||||
=== "Holesky"
|
||||
```sh
|
||||
TRUSTED_BLOCK_ROOT=0x1234567890123456789012345678901234567890123456789012345678901234
|
||||
JWTSECRET=path/to/execution/client/jwt.hex
|
||||
build/nimbus_light_client --network=holesky \
|
||||
--web3-url=http://127.0.0.1:8551 --jwt-secret="$HOME/jwtsecret" \
|
||||
--web3-url=http://127.0.0.1:8551 --jwt-secret="$JWTSECRET" \
|
||||
--trusted-block-root=$TRUSTED_BLOCK_ROOT
|
||||
```
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ cd nimbus-eth1
|
|||
To build the Nimbus execution client and its dependencies, make sure you have [all prerequisites](./install.md) and then run:
|
||||
|
||||
```sh
|
||||
make -j4 nimbus nrpc
|
||||
make -j4 nimbus_execution_client nrpc
|
||||
```
|
||||
|
||||
This may take a few minutes.
|
||||
|
|
|
@ -65,9 +65,6 @@ While we strongly recommend against it, you can disable doppelganger detection w
|
|||
We recommend running [a Nimbus beacon node](./quick-start.md) on [Holesky](./holesky.md) and a mainnet [execution client](./eth1.md) on the same machine.
|
||||
This will simulate the load of running a mainnet validator.
|
||||
|
||||
To stress test it, add `--subscribe-all-subnets` to the [beacon node options](./options.md).
|
||||
This simulates the maximum load that the consensus layer will put on the machine should you run 64 validators or more on it.
|
||||
|
||||
### How do I add an additional validator?
|
||||
|
||||
See the information [here](./additional-validator.md).
|
||||
|
|
|
@ -37,7 +37,7 @@ rotate 7
|
|||
|
||||
[rotatelogs](https://httpd.apache.org/docs/2.4/programs/rotatelogs.html) captures `stdout` logging and redirects it to a file, rotating and compressing on the fly.
|
||||
|
||||
It is available on most servers and can be used with `Docker`, `Systemd` and manual setups to write rotated logs files.
|
||||
It is available on most servers and can be used with `docker`, `systemd` and manual setups to write rotated logs files.
|
||||
|
||||
In particular, when `systemd` and its accompanying `journald` log daemon are used, this setup avoids clogging the system log by keeping the Nimbus logs in a separate location.
|
||||
|
||||
|
|
|
@ -138,7 +138,7 @@ Use the [open ports tool](https://www.yougetsignal.com/tools/open-ports/) to che
|
|||
|
||||
- `Peer count low, no new peers discovered...`
|
||||
|
||||
This is a sign that you may be missing attestations.
|
||||
This is a sign that you may be missing attestations. It often happens when the hardware you're running the edge of being too slow - it can also happen during network outages or when bandwidth is insufficient to keep up.
|
||||
|
||||
- `No external IP provided for the ENR...`
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Optimistic sync
|
||||
|
||||
Optimistic sync is the process of syncing an execution and consensus client concurrently, without having the consensus client wait for the execution client.
|
||||
|
||||
During optimistic sync, the consensus client quickly syncs up to the latest consensus but delays verifying block execution payloads: it continuously informs the execution client of the latest consensus head, allowing the execution client to perform a snapshot sync directly to the latest state.
|
||||
|
||||
Once the execution client has caught up, the consensus and execution clients work in lock-step each validating the block.
|
||||
|
|
|
@ -25,7 +25,7 @@ Prepare your machine by installing [Nimbus' dependencies](./install.md).
|
|||
|
||||
### 2. Set up an execution client
|
||||
|
||||
To run a beacon node, you need to have access to an execution client exposing the web3 API.
|
||||
To run a beacon node, you need to have access to an execution client exposing the [engine API](https://hackmd.io/@danielrachi/engine_api).
|
||||
Throughout, we'll assume an execution client is running on the same machine as the beacon node, but this is not required.
|
||||
|
||||
See the [execution client guide](./eth1.md) for instructions on how to pick and install an execution client.
|
||||
|
|
|
@ -16,6 +16,7 @@ If you wish to expose the beacon node to the public internet, it is recommended
|
|||
* `http://testing.mainnet.beacon-api.nimbus.team/`
|
||||
* `http://unstable.mainnet.beacon-api.nimbus.team/`
|
||||
* `http://unstable.holesky.beacon-api.nimbus.team/`
|
||||
* `http://unstable.sepolia.beacon-api.nimbus.team/`
|
||||
|
||||
You can make requests as follows (here we are requesting the version the Nimbus software version of the node in question):
|
||||
|
||||
|
@ -34,12 +35,17 @@ You can make requests as follows (here we are requesting the version the Nimbus
|
|||
curl -X GET http://unstable.holesky.beacon-api.nimbus.team/eth/v1/node/version
|
||||
```
|
||||
|
||||
The test endpoints are part of pre-release testing and run an unstable version of Nimbus.
|
||||
We welcome reports about any problems you might have with them.
|
||||
=== "Sepolia unstable branch"
|
||||
```
|
||||
curl -X GET http://unstable.sepolia.beacon-api.nimbus.team/eth/v1/node/version
|
||||
```
|
||||
|
||||
They may also be unresponsive at times: **please do not rely on them for validation**.
|
||||
We may also disable them at any time without warning.
|
||||
!!! warning ""
|
||||
The test endpoints are part of pre-release testing and run a development version of Nimbus.
|
||||
We welcome reports about any problems you might have with them.
|
||||
|
||||
They may also be unresponsive at times: **please do not rely on them for validation**.
|
||||
We may also disable them at any time without warning.
|
||||
|
||||
## Configure your node to run a local REST server
|
||||
|
||||
|
|
Loading…
Reference in New Issue