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
* refactor index.md
* move philosophy.md into index.md
* clean up the 'getting started' topic
move how-to's to the how-to section
* cleaner titles
* move prerequisites to the install.md page
* hardware.md: small refactor
* improve quick-start.md
* refactor eth1.md
* refactor validating guide
* reverse the order of BN and LC in the table
* pi-guide.md: minor edit
* Apply suggestions from code review
Co-authored-by: tersec <[email protected]>
* make link texts more concrete
* remove comparison to other clients
* add some more explanations to `build.md`
* change 'days' to 'hours'
---------
Co-authored-by: tersec <[email protected]>
On common Linux distributions the dependencies can be installed with
27
-
28
-
```sh
29
-
# Debian and Ubuntu
30
-
sudo apt-get install build-essential git cmake
31
-
32
-
# Fedora
33
-
dnf install @development-tools cmake
34
-
35
-
# Archlinux, using an AUR manager
36
-
yourAURmanager -S base-devel cmake
37
-
```
38
-
39
-
=== "macOS"
40
-
41
-
With [Homebrew](https://brew.sh/):
42
-
43
-
```sh
44
-
brew install cmake
45
-
```
46
-
47
-
=== "Windows"
48
-
49
-
To build Nimbus on Windows, the MinGW-w64 build environment is recommended.
50
-
51
-
Install Mingw-w64 for your architecture using the "[MinGW-W64 Online Installer](https://sourceforge.net/projects/mingw-w64/files/)":
52
-
53
-
1. Select your architecture in the setup menu (`i686` on 32-bit, `x86_64` on 64-bit).
54
-
2. Set threads to `win32`.
55
-
3. Set exceptions to "dwarf" on 32-bit and "seh" on 64-bit.
56
-
4. Change the installation directory to `C:\mingw-w64` and add it to your system PATH in `"My Computer"/"This PC" -> Properties -> Advanced system settings -> Environment Variables -> Path -> Edit -> New -> C:\mingw-w64\mingw64\bin` (`C:\mingw-w64\mingw32\bin` on 32-bit).
57
-
58
-
!!! note
59
-
If the online installer isn't working you can try installing `mingw-w64` through [MSYS2](https://www.msys2.org/).
60
-
61
-
Install [Git for Windows](https://gitforwindows.org/) and use a "Git Bash" shell to clone and build `nimbus-eth2`.
62
-
63
-
=== "Android"
64
-
65
-
- Install the [Termux](https://termux.com) app from FDroid or the Google Play store
66
-
- Install a [PRoot](https://wiki.termux.com/wiki/PRoot) of your choice following the instructions for your preferred distribution.
67
-
Note, the Ubuntu PRoot is known to contain all Nimbus prerequisites compiled on Arm64 architecture (the most common architecture for Android devices).
68
-
69
-
Assuming you use Ubuntu PRoot
70
-
71
-
```sh
72
-
apt install build-essential git
73
-
```
12
+
Make sure you have all needed [build prerequisites](./install.md#build-prerequisites).
74
13
75
14
## Building the node
76
15
@@ -91,3 +30,19 @@ make -j4 nimbus_beacon_node
91
30
92
31
!!! tip
93
32
Omit `-j4` on systems with 4GB of memory or less.
33
+
34
+
This step can take several minutes.
35
+
After it has finished, you can check if the installation was successful by running:
36
+
37
+
```sh
38
+
build/nimbus_beacon_node --help
39
+
```
40
+
41
+
If you see the command-line options, your installation was successful!
42
+
Otherwise, don't hesitate to reach out to us in the `#helpdesk` channel of [our discord](https://discord.gg/j3nYBUeEad).
43
+
44
+
45
+
46
+
## Keeping Nimbus updated
47
+
48
+
When you decide to upgrade Nimbus to a newer version, make sure to follow the [keeping updated guide](./keep-updated.md).
Copy file name to clipboardExpand all lines: docs/the_nimbus_book/src/el-light-client.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Run the light client
1
+
# Light client
2
2
3
3
!!! warning
4
4
The light client is currently in BETA and details around running it may change.
@@ -12,13 +12,13 @@ Since the merge 🐼, execution clients can no longer run standalone.
12
12
13
13
Compared to a full beacon node, a light client has several advantages and disadvantages.
14
14
15
-
| Feature |Light Client|Beacon Node|
15
+
| Feature |Beacon Node|Light Client|
16
16
| -- | -- | -- |
17
-
| Disk usage |**<1MB**|~70GB|
18
-
| Bandwidth |**TBD (low)**|*TBD*|
19
-
| Sync time |**Seconds**| Days|
20
-
| Head delay | 4/3 slot (15 s)|**None**|
21
-
| Security |Light |**Full**|
17
+
| Disk usage |~70GB |**<1MB**|
18
+
| Bandwidth |*TBD*|**TBD (low)**|
19
+
| Sync time |Hours |**Seconds**|
20
+
| Head delay |**None**|4/3 slot (15 s) |
21
+
| Security |**Full**| Light|
22
22
23
23
Light clients delegate full validation to other network participants and operate under a honest supermajority (> 2/3) assumption among elected participants.
24
24
Due to this delegation, light clients are typically behind by ~4/3 slots (~15 seconds on Ethereum mainnet).
Copy file name to clipboardExpand all lines: docs/the_nimbus_book/src/eth1.md
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,15 @@
1
1
# Run an execution client
2
2
3
-
In order to perform validation duties, you need to also be running an execution client — at least one for each beacon node.
3
+
In order to perform validation duties, you **must have** an execution client running — at least one for each beacon node.
4
+
Relying on third-party services such as Infura, Alchemy and Pocket is no longer possible.
5
+
Sharing the same execution client between multiple beacon nodes is not supported.
4
6
5
-
Nimbus has been tested all major execution clients, see the [execution client comparison](https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients) for more information.
6
-
7
-
!!! warning
8
-
You need to run your own execution client.
9
-
Relying on third-party services such as Infura, Alchemy and Pocket is no longer possible.
10
-
Sharing the same execution client between multiple beacon nodes is not supported.
7
+
Nimbus has been tested with all major execution clients.
8
+
See the [execution client comparison](https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients) for more information.
11
9
12
10
!!! info
13
-
Syncing an execution client may take hours or even days, depending on your hardware!
11
+
Syncing an execution client **may take hours or even days**, depending on your hardware!
Copy file name to clipboardExpand all lines: docs/the_nimbus_book/src/hardware.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,15 @@ The recommended system requirements for running the Nimbus beacon node are:
9
9
| Disk space | 200GB |
10
10
| Network | Reliable broadband |
11
11
12
-
!!! note "Execution client"
13
-
In addtion to the beacon node, you will need to run an [execution client](./eth1.md).
14
-
Check the documentation of the client of choice and add them to the above requirements.
15
12
16
-
Broadly, to run both an execution and a consensus client on the same machine, we recommend a **2 TB** SSD drive and **8 GB RAM**.
13
+
### Execution client
17
14
18
-
!!! note "Minimal requirements"
19
-
Nimbus has been optimized to also run well on hardware significantly less powerful than the recommended system requirements — the more validators you run on the same node, the more hardware resources and network bandwidth will it will use.
15
+
In addition to the beacon node, you will need to run an [execution client](./eth1.md).
16
+
Check the documentation of the client of choice and add them to the above requirements.
17
+
18
+
Broadly, to run both an execution and a consensus client on the same machine, we recommend a **2 TB** SSD and **16 GB RAM**.
19
+
20
+
21
+
### Minimal requirements
22
+
23
+
Nimbus has been optimized to also run well on hardware significantly less powerful than the recommended system requirements — the more validators you run on the same node, the more hardware resources and network bandwidth will it will use.
Copy file name to clipboardExpand all lines: docs/the_nimbus_book/src/index.md
+32-8Lines changed: 32 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,13 @@
1
1
# The Nimbus Guide
2
2
3
-
!!! note ""
4
-
Eager to get started?
5
-
The [quickstart guide](./quick-start.md) is for you.
6
-
7
-
Coming from a different client?
8
-
Check out the [migration guide](./migration.md).
9
-
10
3
Nimbus is a client for the Ethereum network that is [lightweight](https://our.status.im/ethereum-is-green/), [secure](./audit.md) and [easy to use](./run-a-validator.md).
11
4
12
-
Its efficiency and low resource consumption allows it to perform well on all kinds of systems: ranging from Raspberry Pi's and mobile devices — where it contributes to low power consumption and security — to powerful servers where it leaves resources free to perform other tasks, such as running an [execution node](./eth1.md).
5
+
Its efficiency and low resource consumption allows it to perform well on all kinds of systems: ranging from Raspberry Pi and mobile devices — where it contributes to low power consumption and security — to powerful servers where it leaves resources free to perform other tasks, such as running an [execution node](./eth1.md).
13
6
14
7
This book describes the consensus layer client, [`nimbus-eth2`](https://github.com/status-im/nimbus-eth2).
15
8
An execution client, [nimbus-eth1](https://github.com/status-im/nimbus-eth2), is also under development.
16
9
10
+
17
11
## Feature highlights
18
12
19
13
*[Beacon node](./quick-start.md) with integrated validator client, slashing protection and doppelganger detection
@@ -24,6 +18,36 @@ An execution client, [nimbus-eth1](https://github.com/status-im/nimbus-eth2), is
24
18
*[External block builder](./external-block-builder.md) (PBS / mev-boost) support with execution client fallback
25
19
*[Light consensus client](./el-light-client.md) for running an execution client without a full beacon node
26
20
21
+
22
+
## Design goals
23
+
24
+
One of our most important design goals is an application architecture that makes it **simple to embed Nimbus into other software.**
25
+
26
+
Another goal is to **minimize reliance on third-party software.**
27
+
28
+
A third one is for the application binary to be as **lightweight as possible in terms of resources used.**
29
+
30
+
### Integration with Status
31
+
32
+
<blockquoteclass="twitter-tweet"><plang="en"dir="ltr">I can't wait to run Nimbus straight from Status Desktop <ahref="https://twitter.com/hashtag/hyped?src=hash&ref_src=twsrc%5Etfw">#hyped</a></p>— JARRAÐ HOPΞ (@jarradhope) <ahref="https://twitter.com/jarradhope/status/1293473249347555334?ref_src=twsrc%5Etfw">August 12, 2020</a></blockquote> <scriptasyncsrc="https://platform.twitter.com/widgets.js"charset="utf-8"></script>
33
+
34
+
As part of our first design goal, our primary objective here is for Nimbus to be tightly integrated into the [Status messaging app](https://status.im/).
35
+
36
+
Our dream is for you to be able to run and monitor your validator straight from Status desktop.
37
+
38
+
39
+
## Book contents
40
+
41
+
You can read this book from start to finish, or you might want to read just specific topics you're interested in:
42
+
43
+
* If you're eager to get started, the [quickstart guide](./quick-start.md) is for you.
44
+
* Coming from a different client? Check out the [migration guide](./migration.md).
45
+
* Visualize the important metrics with [Grafana and Prometheus](./metrics-pretty-pictures.md).
46
+
* Interested in becoming a validator? Follow the [validator guide](./run-a-validator.md).
47
+
* If you're not planning on becoming a validator, you can run the [light client](./el-light-client.md).
On common Linux distributions the dependencies can be installed with:
26
+
27
+
```sh
28
+
# Debian and Ubuntu
29
+
sudo apt-get install build-essential git cmake
30
+
31
+
# Fedora
32
+
dnf install @development-tools cmake
33
+
34
+
# Arch Linux, using an AUR manager
35
+
yourAURmanager -S base-devel cmake
36
+
```
37
+
38
+
=== "macOS"
39
+
40
+
With [Homebrew](https://brew.sh/):
41
+
42
+
```sh
43
+
brew install cmake
44
+
```
45
+
46
+
=== "Windows"
47
+
48
+
To build Nimbus on Windows, the MinGW-w64 build environment is recommended.
49
+
50
+
Install Mingw-w64 for your architecture using the "[MinGW-W64 Online Installer](https://sourceforge.net/projects/mingw-w64/files/)":
51
+
52
+
1. Select your architecture in the setup menu (`i686` on 32-bit, `x86_64` on 64-bit).
53
+
2. Set threads to `win32`.
54
+
3. Set exceptions to "dwarf" on 32-bit and "seh" on 64-bit.
55
+
4. Change the installation directory to `C:\mingw-w64` and add it to your system PATH in `"My Computer"/"This PC" -> Properties -> Advanced system settings -> Environment Variables -> Path -> Edit -> New -> C:\mingw-w64\mingw64\bin` (`C:\mingw-w64\mingw32\bin` on 32-bit).
56
+
57
+
!!! note
58
+
If the online installer isn't working you can try installing `mingw-w64` through [MSYS2](https://www.msys2.org/).
59
+
60
+
Install [Git for Windows](https://gitforwindows.org/) and use a "Git Bash" shell to clone and build `nimbus-eth2`.
61
+
62
+
=== "Android"
63
+
64
+
- Install the [Termux](https://termux.com) app from FDroid or the Google Play store
65
+
- Install a [PRoot](https://wiki.termux.com/wiki/PRoot) of your choice following the instructions for your preferred distribution.
66
+
Note, the Ubuntu PRoot is known to contain all Nimbus prerequisites compiled on Arm64 architecture (the most common architecture for Android devices).
0 commit comments