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
Copy file name to clipboardExpand all lines: public/content/developers/docs/nodes-and-clients/index.md
+17-9Lines changed: 17 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,14 +133,14 @@ The Ethereum community maintains multiple open-source execution clients (previou
133
133
134
134
This table summarizes the different clients. All of them pass [client tests](https://github.com/ethereum/tests) and are actively maintained to stay updated with network upgrades.
135
135
136
-
| Client | Language | Operating systems | Networks | Sync strategies | State pruning |
For more on supported networks, read up on [Ethereum networks](/developers/docs/networks/).
146
146
@@ -172,6 +172,14 @@ Nethermind is an Ethereum implementation created with the C# .NET tech stack, li
172
172
173
173
Nethermind also has [detailed documentation](https://docs.nethermind.io), strong dev support, an online community and 24/7 support available for premium users.
174
174
175
+
### Reth {#reth}
176
+
177
+
Reth (short for Rust Ethereum) is an Ethereum full node implementation that is focused on being user-friendly, highly modular, fast and efficient. Reth was originally built and driven forward by Paradigm, and is licensed under the Apache and MIT licenses.
178
+
179
+
Reth is production ready, and suitable for usage in mission-critical environments such as staking or high-uptime services. Performs well in use cases where high performance with great margins is required such as RPC, MEV, indexing, simulations, and P2P activities.
180
+
181
+
Learn more by checking out the [Reth Book](https://reth.rs/), or the [Reth GitHub repo](https://github.com/paradigmxyz/reth?tab=readme-ov-file#reth).
182
+
175
183
### In development {#execution-in-development}
176
184
177
185
These clients are still in earlier stages of development and are not yet recommended for production use.
@@ -238,7 +246,7 @@ The execution layer may be run in different modes to suit different use cases, f
238
246
239
247
#### Full sync {#full-sync}
240
248
241
-
A full sync downloads all blocks (including headers and block bodies) and regenerates the state of the blockchain incrementally by executing every block from genesis.
249
+
A full sync downloads all blocks (including headers and block bodies) and regenerates the state of the blockchain incrementally by executing every block from genesis.
242
250
243
251
- Minimizes trust and offers the highest security by verifying every transaction.
244
252
- With an increasing number of transactions, it can take days to weeks to process all transactions.
@@ -247,7 +255,7 @@ A full sync downloads all blocks (including headers and block bodies) and regene
247
255
248
256
#### Fast sync {#fast-sync}
249
257
250
-
Like a full sync, a fast sync downloads all blocks (including headers, transactions, and receipts). However, instead of re-processing the historical transactions, a fast sync relies on the receipts until it reaches a recent head, when it switches to importing and processing blocks to provide a full node.
258
+
Like a full sync, a fast sync downloads all blocks (including headers, transactions, and receipts). However, instead of re-processing the historical transactions, a fast sync relies on the receipts until it reaches a recent head, when it switches to importing and processing blocks to provide a full node.
251
259
252
260
- Fast sync strategy.
253
261
- Reduces processing demand in favor of bandwidth usage.
- Note: Erigon does not offer snap sync, but Full Pruning is possible (~500GB)
102
+
- Note: Erigon and Reth do not offer snap sync, but Full Pruning is possible (~2TB for Erigon, ~1.2TB for Reth)
102
103
103
104
For consensus clients, space requirement also depends on client implementation and enabled features (e.g. validator slasher) but generally count with another 200GB needed for beacon data. With a large number of validators, the bandwidth load grows as well. You can find [details on consensus client requirements in this analysis](https://mirror.xyz/0x934e6B4D7eee305F8C9C42b46D6EEA09CcFd5EDc/b69LBy8p5UhcGJqUAmT22dpvdkU-Pulg2inrhoS9Mbc).
104
105
@@ -155,6 +156,7 @@ Here are the release pages of clients where you can find their pre-built binarie
It is also worth noting that client diversity is an [issue on the execution layer](/developers/docs/nodes-and-clients/client-diversity/#execution-layer). It is recommended that readers consider running a minority execution client.
160
162
@@ -178,7 +180,7 @@ Developers sign released binaries with their PGP keys so you can cryptographical
178
180
179
181
Another form of verification is to make sure that the hash, a unique cryptographic fingerprint, of the software you downloaded matches the one provided by developers. This is even easier than using PGP, and some clients offer only this option. Just run the hash function on the downloaded software and compare it to the one from the release page. For example:
@@ -214,15 +216,15 @@ Execution and consensus clients communicate via an authenticated endpoint specif
214
216
215
217
This token is generated automatically by the client software, but in some cases, you might need to do it yourself. You can generate it using [OpenSSL](https://www.openssl.org/):
216
218
217
-
```
219
+
```sh
218
220
openssl rand -hex 32 > jwtsecret
219
221
```
220
222
221
223
#### Running an execution client {#running-an-execution-client}
222
224
223
225
This section will guide you through starting execution clients. It only serves as an example of a basic configuration, which will start the client with these settings:
224
226
225
-
- Specifies network to connect to, mainnet in our examples
227
+
- Specifies network to connect to, Mainnet in our examples
226
228
- You can instead choose [one of testnets](/developers/docs/networks/) for preliminary testing of your setup
227
229
- Defines data directory, where all the data including blockchain will be stored
228
230
- Make sure to substitute the path with a real one, e.g. pointing to your external drive
@@ -237,9 +239,9 @@ Please keep in mind that this is just a basic example, all other settings will b
237
239
238
240
##### Running Besu
239
241
240
-
This example starts Besu on mainnet, stores blockchain data in default format at `/data/ethereum`, enables JSON-RPC and Engine RPC for connecting consensus client. Engine API is authenticated with token `jwtsecret` and only calls from `localhost` are allowed.
242
+
This example starts Besu on Mainnet, stores blockchain data in default format at `/data/ethereum`, enables JSON-RPC and Engine RPC for connecting consensus client. Engine API is authenticated with token `jwtsecret` and only calls from `localhost` are allowed.
241
243
242
-
```
244
+
```sh
243
245
besu --network=mainnet \
244
246
--data-path=/data/ethereum \
245
247
--rpc-http-enabled=true \
@@ -251,17 +253,17 @@ besu --network=mainnet \
251
253
252
254
Besu also comes with a launcher option which will ask a series of questions and generate the config file. Run the interactive launcher using:
253
255
254
-
```
256
+
```sh
255
257
besu --Xlauncher
256
258
```
257
259
258
260
[Besu's documentation](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/) contains additional options and configuration details.
259
261
260
262
##### Running Erigon
261
263
262
-
This example starts Erigon on mainnet, stores blockchain data at `/data/ethereum`, enables JSON-RPC, defines which namespaces are allowed and enables authentication for connecting the consensus client which is defined by the `jwtsecret` path.
264
+
This example starts Erigon on Mainnet, stores blockchain data at `/data/ethereum`, enables JSON-RPC, defines which namespaces are allowed and enables authentication for connecting the consensus client which is defined by the `jwtsecret` path.
263
265
264
-
```
266
+
```sh
265
267
erigon --chain mainnet \
266
268
--datadir /data/ethereum \
267
269
--http --http.api=engine,eth,web3,net \
@@ -272,9 +274,9 @@ Erigon by default performs a full sync with 8GB HDD which will result in more th
272
274
273
275
##### Running Geth
274
276
275
-
This example starts Geth on mainnet, stores blockchain data at `/data/ethereum`, enables JSON-RPC and defines which namespaces are allowed. It also enables authentication for connecting consensus client which requires path to `jwtsecret` and also option defining which connections are allowed, in our example only from `localhost`.
277
+
This example starts Geth on Mainnet, stores blockchain data at `/data/ethereum`, enables JSON-RPC and defines which namespaces are allowed. It also enables authentication for connecting consensus client which requires path to `jwtsecret` and also option defining which connections are allowed, in our example only from `localhost`.
276
278
277
-
```
279
+
```sh
278
280
geth --mainnet \
279
281
--datadir "/data/ethereum" \
280
282
--http --authrpc.addr localhost \
@@ -289,7 +291,7 @@ Check [docs for all configuration options](https://geth.ethereum.org/docs/fundam
289
291
290
292
Nethermind offers various [installation options](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started). The package comes with various binaries, including a Launcher with a guided setup, which will help you to create the configuration interactively. Alternatively, you find Runner which is the executable itself and you can just run it with config flags. JSON-RPC is enabled by default.
291
293
292
-
```
294
+
```sh
293
295
Nethermind.Runner --config mainnet \
294
296
--datadir /data/ethereum \
295
297
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
@@ -299,6 +301,19 @@ Nethermind docs offer a [complete guide](https://docs.nethermind.io/nethermind/f
299
301
300
302
An execution client will initiate its core functions, chosen endpoints, and start looking for peers. After successfully discovering peers, the client starts synchronization. The execution client will await a connection from consensus client. Current blockchain data will be available once the client is successfully synced to the current state.
301
303
304
+
##### Running Reth
305
+
306
+
This example starts Reth on Mainnet, using default data location. Enables JSON-RPC and Engine RPC authentication for connecting the consensus client which is defined by the `jwtsecret` path, with only calls from `localhost` are allowed.
307
+
308
+
```sh
309
+
reth node \
310
+
--authrpc.jwtsecret /path/to/jwtsecret \
311
+
--authrpc.addr 127.0.0.1 \
312
+
--authrpc.port 8551
313
+
```
314
+
315
+
See [Configuring Reth](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) to learn more about data default data directories. [Reth's documentation](https://reth.rs/run/mainnet.html) contains additional options and configuration details.
316
+
302
317
#### Starting the consensus client {#starting-the-consensus-client}
303
318
304
319
The consensus client must be started with the right port configuration to establish a local RPC connection to the execution client. The consensus clients have to be run with the exposed execution client port as configuration argument.
@@ -309,13 +324,13 @@ If you plan to run a validator, make sure to add a configuration flag specifying
309
324
310
325
When starting a Beacon Node on a testnet, you can save significant syncing time by using a public endpoint for [Checkpoint sync](https://notes.ethereum.org/@launchpad/checkpoint-sync).
311
326
312
-
#### Running a consensus client
327
+
#### Running a consensus client {#running-a-consensus-client}
313
328
314
329
##### Running Lighthouse
315
330
316
331
Before running Lighthouse, learn more on how to install and configure it in [Lighthouse Book](https://lighthouse-book.sigmaprime.io/installation.html).
317
332
318
-
```
333
+
```sh
319
334
lighthouse beacon_node \
320
335
--network mainnet \
321
336
--datadir /data/ethereum \
@@ -328,7 +343,7 @@ lighthouse beacon_node \
328
343
329
344
Install Lodestar software by compiling it or downloading the Docker image. Learn more in [docs](https://chainsafe.github.io/lodestar/) and more comprehensive [setup guide](https://hackmd.io/@philknows/rk5cDvKmK).
330
345
331
-
```
346
+
```sh
332
347
lodestar beacon \
333
348
--rootDir="/data/ethereum" \
334
349
--network=mainnet \
@@ -342,7 +357,7 @@ lodestar beacon \
342
357
Nimbus comes with both consensus and execution clients. It can be run on various devices even with very modest computing power.
343
358
After [installing dependencies and Nimbus itself](https://nimbus.guide/quick-start.html), you can run its consensus client:
344
359
345
-
```
360
+
```sh
346
361
nimbus_beacon_node \
347
362
--network=mainnet \
348
363
--web3-url=http://127.0.0.1:8551 \
@@ -354,7 +369,7 @@ nimbus_beacon_node \
354
369
355
370
Prysm comes with script which allows easy automatic installation. Details can be found in the [Prysm docs](https://docs.prylabs.network/docs/install/install-with-script).
356
371
357
-
```
372
+
```sh
358
373
./prysm.sh beacon-chain \
359
374
--mainnet \
360
375
--datadir /data/ethereum \
@@ -364,7 +379,7 @@ Prysm comes with script which allows easy automatic installation. Details can be
Copy file name to clipboardExpand all lines: public/content/developers/docs/programming-languages/rust/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ Need a more basic primer first? Check out [ethereum.org/learn](/learn/) or [ethe
50
50
-[Ethers_rs](https://github.com/gakonst/ethers-rs)- _Ethereum library and wallet implementation_
51
51
-[SewUp](https://github.com/second-state/SewUp) - _A library to help you build your Ethereum webassembly contract with Rust and just like develop in a common backend_
52
52
-[Substreams](https://github.com/streamingfast/substreams) - _Parallelized blockchain data indexing technology_
53
-
-[Reth](https://github.com/paradigmxyz/reth) Reth (short for Rust Ethereum, pronunciation) is a new Ethereum full-node implementation
53
+
-[Reth](https://github.com/paradigmxyz/reth) Reth (short for Rust Ethereum) is a new Ethereum full-node implementation
54
54
-[Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _A curated collection of projects in the Ethereum ecosystem written in Rust_
55
55
56
56
Looking for more resources? Check out [ethereum.org/developers.](/developers/)
Copy file name to clipboardExpand all lines: public/content/governance/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,7 +48,7 @@ There are various stakeholders in the [Ethereum community](/community/), each pl
48
48
-**Node Operators**: these people run nodes that propagate blocks and transactions, rejecting any invalid transaction or block that they come across. [More on nodes](/developers/docs/nodes-and-clients/).
49
49
-**EIP Authors**: these people propose changes to the Ethereum protocol, in the form of Ethereum Improvement Proposals (EIPs). [More on EIPs](/eips/).
50
50
-**Validators**: these people run nodes that can add new blocks to the Ethereum blockchain.
51
-
-**Protocol Developers** (a.k.a. "Core Developers" ): these people maintain the various Ethereum implementations (e.g. go-ethereum, Nethermind, Besu, Erigon at the execution layer or Prysm, Lighthouse, Nimbus, Teku, Lodestar at the consensus layer). [More on Ethereum clients](/developers/docs/nodes-and-clients/).
51
+
-**Protocol Developers** (a.k.a. "Core Developers" ): these people maintain the various Ethereum implementations (e.g. go-ethereum, Nethermind, Besu, Erigon, Reth at the execution layer or Prysm, Lighthouse, Nimbus, Teku, Lodestar at the consensus layer). [More on Ethereum clients](/developers/docs/nodes-and-clients/).
52
52
53
53
_Note: any individual can be part of multiple of these groups (e.g. a protocol developer could champion an EIP, and run a beacon chain validator, and use DeFi applications). For conceptual clarity, it is easiest to distinguish between them, though._
0 commit comments