update external links in the guide (#5651)

This commit is contained in:
Miran 2023-12-06 13:09:48 +01:00 committed by GitHub
parent e4cc3ad752
commit 2f694b9279
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 35 additions and 26 deletions

View File

@ -27,7 +27,7 @@ sudo useradd -g nimbus nimbus -m -d /var/lib/nimbus
### 2. Create the service file
`systemd` services are created by placing a [service](https://www.freedesktop.org/software/systemd/man/systemd.service.html) file in `/etc/systemd/system`, or, if Nimbus was installed by a package manager, `/usr/lib/systemd/system`.
`systemd` services are created by placing a [service](https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html) file in `/etc/systemd/system`, or, if Nimbus was installed by a package manager, `/usr/lib/systemd/system`.
A good starting point is the [example service file](https://raw.githubusercontent.com/status-im/nimbus-eth2/stable/scripts/package_src/nimbus_beacon_node/image/lib/systemd/system/nimbus_beacon_node.service) in the Nimbus repository.
@ -36,7 +36,7 @@ A good starting point is the [example service file](https://raw.githubuserconten
curl -s https://raw.githubusercontent.com/status-im/nimbus-eth2/stable/scripts/package_src/nimbus_beacon_node/image/lib/systemd/system/nimbus_beacon_node.service | sudo tee /etc/systemd/system/nimbus_beacon_node.service > /dev/null
```
The format of service files is documented in the [systemd manual](https://www.freedesktop.org/software/systemd/man/systemd.service.html).
The format of service files is documented in the [systemd manual](https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html).
!!! tip
Automatic restarts increase the risk that the doppelganger detection fails - set `RestartPreventExitStatus=129` to prevent this from happening
@ -142,4 +142,4 @@ When running multiple beacon nodes, make sure that each service:
## Further examples
- A [service template file](https://github.com/chfast/ethereum-node/blob/main/nimbus%40.service) by Pawel Bylica which allows you to start two services at the same time, e.g. `nimbus@holesky.service` and `nimbus@mainnet.service`.
- The [EthereumOnARM](https://github.com/diglos/ethereumonarm/blob/main/fpm-package-builder/nimbus/extras/nimbus.service) project maintains a service file as part of their Ethereum installation package repository.
- The [EthereumOnARM](https://github.com/EOA-Blockchain-Labs/ethereumonarm/blob/main/fpm-package-builder/l1-clients/consensus-layer/nimbus/extras/nimbus-beacon.service) project maintains a service file as part of their Ethereum installation package repository.

View File

@ -6,17 +6,26 @@ For those of you who are unfamiliar, a [checksum](https://en.wikipedia.org/wiki/
Verifying a checksum ensures there was no corruption or manipulation during the download and that the file was downloaded completely and correctly.
For a short and simple guide on how to do so, [see here](https://www.devdungeon.com/content/how-verify-checksum).
In the case of the [v1.1.0](https://github.com/status-im/nimbus-eth2/releases/tag/v1.1.0) release for example, the SHA512 checksums are:
In the case of the [v23.11.0](https://github.com/status-im/nimbus-eth2/releases/tag/v23.11.0) release for example, the SHA512 checksums are:
```
# Linux AMD64
8d553ea5422645b5f06001e7f47051706ae5cffd8d88c45e4669939f3abb6caf41a2477431fce3e647265cdb4f8671fa360d392f423ac68ffb9459607eaab462 nimbus_beacon_node
1f53f58373fa3540028ff17f2a46254f4d9236f844a01fb548359e3241bd9e9791abc3637b474b4e834a08c36d259b84032db01975944d5eb92aef4fbab14821 nimbus_beacon_node
efd1d5f0261b30cfb7e81c3e19ae5f2e2828a1af37a6f85c3151545a1725c68003d7331390ab4b24ac583cf62ccae448755b607c4717a7ec660bb95b4981d9a3 nimbus_validator_client
# Linux ARM64
93ffd03a0ce67f7d035e3dc45e97de3c2c9a05a8dd0c6d5f45402ddb04404dc3cf15b80fee972f34152ef171ce97c40f794448bc779ca056081c945f71f19788 nimbus_beacon_node
27a2572216afead921a3c59ab1582ba3b0a06a53c753ac46a3aee4afe0122d01e2ddc4436b2518993369db06e3eff5fab88c1613dd79f1668b55be15b77802aa nimbus_beacon_node
4affb3c9fb1c3fa83f99e6f806967db2a5fb1b474a4613ab4747d73fe6c0ed2e54391b6b8495cf438d50ee3b41ee46b824e4128bb4a9606e612a18bc0908998b nimbus_validator_client
# Linux ARM
f2e75f3fae2aea0a9f8d45861d52b0e2546c3990f453b509fab538692d18c64e65f58441c5492064fc371e0bc77de6bab970e05394cfd124417601b55cb4a825 nimbus_beacon_node
83b5a99eb3bc98ebfa0a6c0c609c837e3e582e03a1728487dcdcfdca937d3185c6b4ca71ca2eb835b47840ff87b965286a2266ec876f1e0cff66d71e9d87d059 nimbus_beacon_node
9a13849a1c72ca30adf54c87abaa603f1028b82f6eec5d0f4baca0e914ae422e86b42e8b9688f8031488032aa71d8819e0ccdea76d5f43bfd02d233dced8536a nimbus_validator_client
# Windows AMD64
fd68c8792ea60c2c72e9c2201745f9698bfd1dae4af4fa9e1683f082109045efebd1d80267f13cafeb1cd7414dc0f589a8a73f12161ac2758779369289d5a832 nimbus_beacon_node
625ac9fabc65679f484c0988ceb664c51c5e3749ac84ad90426d8029ba49590585f377f0fdeba92ff7330a43335f9068c03c09f628a44053a6c42e202b06a699 nimbus_beacon_node.exe
78aa38439e6e6dbec7c68c33ce4e316bc06da9983409828ea61aa014d794bea968b482c954d38055f4ca36f12e8b5287d3afaa78b2c3650cb535ab1a127f30cb nimbus_validator_client.exe
# macOS AMD64
9f6d4b66cc9ee5334c1675e748c0bc99a1fae55a15ed5ac4db3d6ef287bc2ebaccda85984f613991d35f7c86c87c857281ab80aace02abaf1e94828a2690085a nimbus_beacon_node
df7b676f451cd9bb05c6f55c2a1eaf5f166fdc7592e1f2b6d54c81f4c0234b6788d936a872d38dd922bd6bdd54e5276bc6d032d83540e76fb93ba65fee765a21 nimbus_validator_client
# macOS ARM64
1a8efc60b0cdedf0f931ba15509393c268285cd8f1fe3f21f123f241c83fa79befd5bd7aaae99a43ed6a87f69a9a1a8bcef37f1b9ca2c488cbaa124725111fbd nimbus_beacon_node
96dd77e672aac8d92d6339b89891260d35d18d5938ae97f1126eb3f8fc86e25fafb506caf1f900479a17c762f76ad71b57bafb49d848627d2244d16075b45ee5 nimbus_validator_client
```

View File

@ -7,7 +7,7 @@ Before building Nimbus for the first time, make sure to install the [prerequisit
## Helpful resources
* [Ethereum consensus spec](https://github.com/ethereum/consensus-specs/)
* [Ben Edgington's annotated spec](https://eth2book.info/bellatrix/)
* [Ben Edgington's annotated spec](https://eth2book.info/capella/)
* [Vitalik's annotated spec](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md)
## Nim programming language
@ -208,7 +208,7 @@ To change the number of validators and nodes:
make VALIDATORS=192 NODES=6 USER_NODES=1 local-testnet-minimal
```
If youd like to see the nodes running on separated sub-terminals inside one big window, install [Multitail](https://www.vanheusden.com/multitail/index.php) (if you're on a Mac, follow the instructions [here](https://brewinstall.org/Install-multitail-on-Mac-with-Brew/)), then:
If youd like to see the nodes running on separated sub-terminals inside one big window, install [Multitail](https://www.vanheusden.com/multitail/) (if you're on a Mac, follow the instructions [here](https://brewinstall.org/Install-multitail-on-Mac-with-Brew/)), then:
```

View File

@ -32,5 +32,5 @@ sudo apt install vnstat
To run it:
*TBC - See [here](https://docs.rocketpool.net/guides/node/performance.html#beaconcha-in-website-using-the-beacon-chain-as-a-metric-source) for more info*
*TBC - See [here](https://docs.rocketpool.net/guides/node/performance#beaconcha-in-website-using-the-beacon-chain-as-a-metric-source) for more info*

View File

@ -61,7 +61,7 @@ When building from source, you will need additional build dependencies to be ins
=== "Android"
- Install the [Termux](https://termux.com) app from FDroid or the Google Play store
- Install the [Termux](https://termux.dev/en/) app from FDroid or the Google Play store
- Install a [PRoot](https://wiki.termux.com/wiki/PRoot) of your choice following the instructions for your preferred distribution.
Note, the Ubuntu PRoot is known to contain all Nimbus prerequisites compiled on Arm64 architecture (the most common architecture for Android devices).
@ -81,7 +81,7 @@ You should be fine as long as you haven't changed the time and date settings on
=== "Linux"
On Linux, it is recommended to install [chrony](https://chrony.tuxfamily.org/).
On Linux, it is recommended to install [chrony](https://chrony-project.org).
To install it:

View File

@ -12,7 +12,7 @@ For more on how keys are derived, see this [excellent post](https://blog.ethereu
To stay consistent with the rest of the book, we'll take you though how to do this using the [deposit-cli's](https://github.com/ethereum/eth2.0-deposit-cli) [binary executable](https://github.com/ethereum/eth2.0-deposit-cli/releases).
Specifically, we'll be using the `existing-mnemonic` command.
Here's a description of the command from the deposit-cli's [README](https://github.com/ethereum/eth2.0-deposit-cli#step-2-create-keys-and-deposit_data-json):
Here's a description of the command from the deposit-cli's [README](https://github.com/ethereum/staking-deposit-cli#step-2-create-keys-and-deposit_data-json):
> This command is used to re-generate or derive new keys from your existing mnemonic.
Use this command, if (i) you have already generated keys with this CLI before, (ii) you want to reuse your mnemonic that you know is secure that you generated elsewhere (reusing your eth1 mnemonic .etc), or (iii) you lost your keystores and need to recover your keys.

View File

@ -35,7 +35,7 @@ As such, we try our best to explain things from first-principles.
Keep in mind that you need to plug the disk to an USB 3.0 port (the blue port).
!!! note
If you have a Raspberry Pi 4 and are getting bad speeds transferring data to/from USB3.0 SSDs, please [read this recommended fix](https://www.raspberrypi.org/forums/viewtopic.php?t=245931#p1501426).
If you have a Raspberry Pi 4 and are getting bad speeds transferring data to/from USB3.0 SSDs, please [read this recommended fix](https://forums.raspberrypi.com/viewtopic.php?t=245931#p1501426).
## Steps
@ -43,7 +43,7 @@ As such, we try our best to explain things from first-principles.
[Raspberry Pi Imager](https://www.raspberrypi.org/blog/raspberry-pi-imager-imaging-utility/) is an imaging utility that makes it simple to manage your microSD card with Raspberry Pi OS (the free Pi operating system based on Debian, previously called Raspbian).
You can find the [download](https://www.learnenough.com/command-line-tutorial/basics) link for your operating system here: [Windows](https://downloads.raspberrypi.org/imager/imager_1.4.exe), [macOS](https://downloads.raspberrypi.org/imager/imager_1.4.dmg), [Ubuntu](https://downloads.raspberrypi.org/imager/imager_1.4_amd64.deb).
You can find the download link for your operating system here: [Windows](https://downloads.raspberrypi.org/imager/imager_1.4.exe), [macOS](https://downloads.raspberrypi.org/imager/imager_1.4.dmg), [Ubuntu](https://downloads.raspberrypi.org/imager/imager_1.4_amd64.deb).
### 2. Download 64-bit Raspberry Pi OS
@ -111,7 +111,7 @@ network={
### 6. Enable SSH (using Linux or macOS)
You can [access the command line](https://www.raspberrypi.org/documentation/remote-access/ssh/) of a Raspberry Pi remotely from another computer or device on the same network using [SSH](https://en.wikipedia.org/wiki/Ssh_(Secure_Shell)).
You can [access the command line](https://www.raspberrypi.com/documentation/computers/remote-access.html) of a Raspberry Pi remotely from another computer or device on the same network using [SSH](https://en.wikipedia.org/wiki/Ssh_(Secure_Shell)).
While SSH is not enabled by default, you can enable it by placing a file named `ssh`, without any extension, onto the boot partition of the SD card.
@ -253,7 +253,7 @@ Follow [this RPi4 guide](https://www.tomshardware.com/how-to/boot-raspberry-pi-4
rpi-clone sda
```
For more on `raspi-config`, see [here](https://www.raspberrypi.org/documentation/configuration/raspi-config.md).
For more on `raspi-config`, see [here](https://www.raspberrypi.com/documentation/computers/configuration.html).
!!! tip
To shutdown your Pi safely, run `sudo shutdown -h now`
@ -424,7 +424,7 @@ Keep an eye on the number of peers you're currently connected to (in the above c
!!! note
15 - 20 peers and an average sync speed of **0.5 - 1.0** blocks per second is normal on `Holesky` with a Pi.
If your sync speed is much slower than this, the root of the problem may be your USB3.0 to SSD adapter.
See [this post](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245931) for a recommended workaround.
See [this post](https://forums.raspberrypi.com/viewtopic.php?f=28&t=245931) for a recommended workaround.
## Mainnet advice
@ -442,7 +442,7 @@ Although we don't expect a modern Pi to fail, we recommend buying a spare Pi, an
### Systemd
Now that you have Nimbus up and running, we recommend [setting up a systemd service](https://www.raspberrypi.org/documentation/linux/usage/systemd.md) with an autorestart on boot (should you experience an unexpected power outage, this will ensure your validator restarts correctly).
Now that you have Nimbus up and running, we recommend [setting up a systemd service](https://www.raspberrypi.com/documentation/computers/remote-access.html#server-configuration) with an autorestart on boot (should you experience an unexpected power outage, this will ensure your validator restarts correctly).
Systemd will also ensure your validator keeps running when you exit your ssh session (`Ctrl-C`) and/or switch off your laptop.

View File

@ -26,4 +26,4 @@ Systemd will also ensure your validator keeps running when you exit your ssh ses
## Ethereum Foundation's Checklist
As a final check, we recommend you also go through the EF'S [staker checklist](https://launchpad.ethereum.org/checklist).
As a final check, we recommend you also go through the EF'S [staker checklist](https://launchpad.ethereum.org/en/checklist).

View File

@ -52,7 +52,7 @@ This can lead to better packing in some cases, which can lead to slightly greate
## Useful resources
- [The journey of a validator balance](https://kb.beaconcha.in/rewards-and-penalties)
- [The journey of a validator balance](https://kb.beaconcha.in/ethereum-staking/rewards-and-penalties)
- [Validator rewards in practice](https://pintail.xyz/posts/validator-rewards-in-practice/)

View File

@ -161,5 +161,5 @@ See our page on [monitoring the health of your node](./health.md) for more.
### Trouble transferring data to/from USB3.0 SSDs
We have seen reports of degraded performance when using several types of USB3.0 to SSD adapters or when using native USB3.0 disk drives.
[This post on RPi forums](https://www.raspberrypi.org/forums/viewtopic.php?t=245931#p1501426) details why there is a difference in behaviour from models prior to Pi 4 and the recommended workaround.
[This post on RPi forums](https://forums.raspberrypi.com/viewtopic.php?t=245931#p1501426 ) details why there is a difference in behaviour from models prior to Pi 4 and the recommended workaround.

View File

@ -1,6 +1,6 @@
# Web3Signer
[Web3Signer](https://docs.web3signer.consensys.net/en/latest/) is a remote signing server developed by Consensys.
[Web3Signer](https://docs.web3signer.consensys.io) is a remote signing server developed by Consensys.
It offers a [standardized REST API](https://consensys.github.io/web3signer/web3signer-eth2.html) allowing the Nimbus beacon node or validator client to operate without storing any validator keys locally.
You can instruct Nimbus to connect to a Web3Signer instance by supplying the `--web3-signer-url` command-line option. Since Nimbus obtains the list of validator keys automatically through the [`/api/v1/eth2/publicKeys`](https://consensys.github.io/web3signer/web3signer-eth2.html#tag/Public-Key/operation/ETH2_LIST) Web3Signer API endpoint, no further configuration is required.
@ -135,7 +135,7 @@ If you are already using a threshold signing setup (e.g. based on Vouch and Dirk
The verifying Web3Signer is an experimental extension to the [Web3Signer protocol](https://consensys.github.io/web3signer/web3signer-eth2.html#tag/Signing/operation/ETH2_SIGN) which allows the remote signer to verify certain details of the signed blocks before creating a signature (for example, the signer may require the signed block to have a particular fee recipient value).
To enable this use case, the `BLOCK_V2` request type of the `/api/v1/eth2/sign/{identifier}` endpoint is extended with an additional array field named `proofs`. The array consists of objects with the properties `index`, `proof` and `value`, where `index` is an arbitrary [generalized index](https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.3/ssz/merkle-proofs.md#generalized-merkle-tree-index) of any property nested under the block body and `proof` is its corresponding Merkle proof against the block body root included in the request. The `value` property is optional and it is included only when the SSZ hash of the field included in the Merkle proof doesn't match its value.
To enable this use case, the `BLOCK_V2` request type of the `/api/v1/eth2/sign/{identifier}` endpoint is extended with an additional array field named `proofs`. The array consists of objects with the properties `index`, `proof` and `value`, where `index` is an arbitrary [generalized index](https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.5/ssz/merkle-proofs.md#generalized-merkle-tree-index) of any property nested under the block body and `proof` is its corresponding Merkle proof against the block body root included in the request. The `value` property is optional and it is included only when the SSZ hash of the field included in the Merkle proof doesn't match its value.
Since the generalized index of a particular field may change in a hard-fork, in the remote keystore format the proven fields are usually specified by their name: