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
The Consensus Layer is a critical component of a decentralized network, responsible for reaching agreement on the state of the network. In the context of blockchain technology, the Consensus Layer is the layer that ensures the security and integrity of the blockchain by validating transactions and blocks.
3
+
The Consensus Layer (CL) is a critical component of a decentralized network, responsible for reaching agreement on the state of the network. In the context of blockchain technology, the CL ensures the security and integrity of the blockchain by validating transactions and blocks.
4
4
5
-
Historically, an Execution Layer (EL) client alone was enough to run a full Ethereum node. However, as Ethereum has moved from proof-of-work (PoW) to proof-of-stake (PoS) based consensus with "The Merge", a Consensus Layer (CL) client needs to run alongside the EL to run a full Ethereum node, a Gnosis Chain node or a Polygon node.
5
+
Historically, an Execution Layer (EL) client alone was sufficient to run a full Ethereum node. However, as Ethereum transitioned from proof-of-work (PoW) to proof-of-stake (PoS) based consensus with "The Merge," a CL client must run alongside the EL to operate an Ethereum node, a Gnosis Chain node, or a Polygon node.
6
6
7
-
The execution client listens to new transactions, executes them in the Ethereum Virtual Machine (EVM), and holds the latest state and database of all current Ethereum data.
7
+
The execution client listens to new transactions, executes them in the Ethereum Virtual Machine (EVM), and maintains the latest state and database of all current Ethereum data.
8
8
9
-
The consensus client, also known as the *Beacon Node* or *CL client*, implements the Proof-of-Stake consensus algorithm, which enables the network to achieve agreement based on validated data from the execution client. Both clients work together to keep track of the head of the Ethereum chain and allow users to interact with the Ethereum network.
9
+
The CL client, also known as the Beacon Node, implements the Proof-of-Stake consensus algorithm. This enables the network to achieve agreement based on validated data from the execution client. Both clients work together to keep track of the head of the Ethereum chain and allow users to interact with the Ethereum network.
10
+
11
+
Basically, without a CL client, the EL will never sync.
10
12
11
13
<divclass="warning">
12
14
13
15
**Information**
14
16
15
-
By default, Erigon is configured to run with [Caplin](/advanced/caplin.md), the embedded Consensus Layer.
17
+
By default, Erigon is configured to run with [Caplin](/advanced/caplin.md), the embedded CL.
16
18
</div>
17
19
18
-
## Choosing the Consensus Layer client
19
-
20
-
A Consensus Layer (CL) client needs to run alongside Erigon to run a full Ethereum node, a Gnosis Chain node and a Polygon node and its respective testnets. Basically, without a CL client the EL will never get in sync.
20
+
## Choosing an external CL client
21
21
22
-
Below are the links to examples on how to configure Lighhouse and Prysm to run along with Erigon:
22
+
While Erigon runs by default with Caplin, the embedded CL, it is possible to run Erigon with any external CL. Below are some examples of how to configure Lighthouse and Prysm to run alongside Erigon:
> **important Note**: When configuring a CL client, always refer to the official CL documentation for the most up-to-date and accurate configuration instructions. This will ensure that you set up your CL client correctly and avoid any potential issues.
27
+
> **Important note**: When configuring a CL client, always refer to the official CL documentation for the most up-to-date and accurate configuration instructions to avoid any potential issues.
Copy file name to clipboardExpand all lines: src/advanced/options.md
+9-12Lines changed: 9 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ USAGE:
22
22
erigon [command] [flags]
23
23
24
24
VERSION:
25
-
3.0.2-cd286380
25
+
3.0.4-406d855f
26
26
27
27
COMMANDS:
28
28
init Bootstrap and initialize a new genesis block
@@ -32,8 +32,8 @@ COMMANDS:
32
32
help, h Shows a list of commands or help for one command
33
33
34
34
GLOBAL OPTIONS:
35
-
--datadir value Data directory for the databases (default: /home/user/.local/share/erigon)
36
-
--ethash.dagdir value Directory to store the ethash mining DAGs (default: /home/user/.local/share/erigon-ethash)
35
+
--datadir value Data directory for the databases (default: /home/bloxster/.local/share/erigon)
36
+
--ethash.dagdir value Directory to store the ethash mining DAGs (default: /home/bloxster/.local/share/erigon-ethash)
37
37
--externalcl Enables the external consensus layer (default: false)
38
38
--txpool.disable External pool and block producer, see ./cmd/txpool/readme.md for more info. Disabling internal txpool and block producer. (default: false)
39
39
--txpool.pricelimit value Minimum gas price (fee cap) limit to enforce for acceptance into the pool (default: 1)
@@ -122,7 +122,7 @@ GLOBAL OPTIONS:
122
122
--torrent.port value Port to listen and serve BitTorrent protocol (default: 42069)
123
123
--torrent.maxpeers value Unused parameter (reserved for future use) (default: 100)
124
124
--torrent.conns.perfile value Number of connections per file (default: 10)
125
-
--torrent.download.slots value Amount of files to download in parallel. (default: 128)
125
+
--torrent.download.slots value Amount of files to download in parallel. (default: 32)
126
126
--torrent.staticpeers value Comma separated host:port to connect to
127
127
--torrent.upload.rate value Bytes per second, example: 32mb (default: "4mb")
128
128
--torrent.download.rate value Bytes per second, example: 32mb (default: "128mb")
@@ -153,7 +153,8 @@ GLOBAL OPTIONS:
153
153
--dev.period value Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)
154
154
--vmdebug Record information useful for VM and contract debugging (default: false)
155
155
--networkid value Explicitly set network id (integer)(For testnets: use --chain <testnet_name> instead) (default: 1)
156
-
--experiment.persist.receipts value Set > 0 to store receipts in chaindata db (only on chain-tip) - RPC for recent receipts/logs will be faster. Values: 1_000 good starting point. 10_000 receipts it's ~1Gb (not much IO increase). Please test before go over 100_000 (default: 0)
156
+
--experiment.persist.receipts value Set > 0 to store receipts in chaindata db (only on chain-tip) - RPC for recent receit/logs will be faster. Values: 1_000 good starting point. 10_000 receitps it's ~1Gb (not much IO increase). Please test before go over 100_000 (default: 0)
157
+
--experiment.persist.receipts.v2 To store receipts in chaindata db (only on chain-tip) - RPC for recent receit/logs will be faster. Values: 1_000 good starting point. 10_000 receitps it's ~1Gb (not much IO increase). Please test before go over 100_000 (default: false)
--gpo.blocks value Number of recent blocks to check for gas prices (default: 20)
159
160
--gpo.percentile value Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 60)
@@ -189,6 +190,7 @@ GLOBAL OPTIONS:
189
190
--bor.waypoints Enabling bor waypont recording (default: false)
190
191
--polygon.sync Enabling syncing using the new polygon sync component (default: true)
191
192
--polygon.sync.stage Enabling syncing with a stage that uses the polygon sync component (default: false)
193
+
--polygon.logindex Workaround for incorrect logIndex in RPC (default: false)
192
194
--ethstats value Reporting URL of a ethstats service (nodename:secret@host:port)
193
195
--override.prague value Manually specify the Prague fork time, overriding the bundled setting (default: 0)
194
196
--caplin.discovery.addr value Address for Caplin DISCV5 protocol (default: "0.0.0.0")
@@ -197,12 +199,9 @@ GLOBAL OPTIONS:
197
199
--caplin.checkpoint-sync-url value [ --caplin.checkpoint-sync-url value ] checkpoint sync endpoint
198
200
--caplin.subscribe-all-topics Subscribe to all gossip topics (default: false)
199
201
--caplin.max-peer-count value Max number of peers to connect (default: 128)
200
-
--caplin.max-peer-count value Max number of peers to connect (default: 128)
201
202
--caplin.enable-upnp Enable NAT porting for Caplin (default: false)
202
203
--caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "1MB")
203
204
--caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "1MB")
204
-
--caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "1MB")
205
-
--caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "1MB")
206
205
--caplin.adaptable-maximum-traffic-requirements Make the node adaptable to the maximum traffic requirement based on how many validators are being ran (default: true)
207
206
--sentinel.addr value Address for sentinel (default: "localhost")
208
207
--sentinel.port value Port for sentinel (default: 7777)
--caplin.custom-config value set the custom config for caplin
243
242
--caplin.custom-genesis value set the custom genesis for caplin
243
+
--caplin.use-engine-api Use engine API for internal Caplin. useful for testing and if CL network is degraded (default: false)
244
244
--trusted-setup-file value Absolute path to trusted_setup.json file
245
245
--rpc.slow value Print in logs RPC requests slower than given threshold: 100ms, 1s, 1m. Exluded methods: eth_getBlock,eth_getBlockByNumber,eth_getBlockByHash,eth_blockNumber,erigon_blockNumber,erigon_getHeaderByNumber,erigon_getHeaderByHash,erigon_getBlockByTimestamp,eth_call (default: 0s)
246
246
--txpool.gossip.disable Disabling p2p gossip of txs. Any txs received by p2p - will be dropped. Some networks like 'Optimism execution engine'/'Optimistic Rollup' - using it to protect against MEV attacks (default: false)
@@ -261,7 +261,7 @@ GLOBAL OPTIONS:
261
261
--metrics Enable metrics collection and reporting (default: false)
262
262
--metrics.addr value Enable stand-alone metrics HTTP server listening interface (default: "127.0.0.1")
263
263
--metrics.port value Metrics HTTP server listening port (default: 6061)
Copy file name to clipboardExpand all lines: src/getting-started/sw-requirements.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,11 @@
1
1
# Software Requirements
2
2
3
-
Before we start, please note that building software from source can be complex. If you're not comfortable with technical tasks, you might want to check the [Docker](/installation/docker.md) installation.
3
+
If you plan to compile Erigon from source, ensure that the following prerequisites are met.
4
4
5
5
Erigon works only from command line interface (CLI), so it is advisable to have a good confidence with basic commands.
6
6
7
-
Please ensure that the following prerequisites are met.
7
+
> Please note that building software from source can be complex. If you're not comfortable with technical tasks, we recommend you use other [installation](/installation.md) methods like pre-built images or Docker and skip these requirements.
8
8
9
-
### Build essential (only for Linux)
10
-
11
-
Install **Build-essential** and **Cmake**:
12
-
13
-
```bash
14
-
sudo apt install build-essential cmake -y
15
-
```
16
9
17
10
### Git
18
11
@@ -21,13 +14,21 @@ Git is a tool that helps download and manage the Erigon source code. To install
### Go Programming Language (only for Linux and MacOS)
25
26
26
-
Erigon utilizes Go (also known as Golang) version 1.22 or newer for part of its development. It is recommended to have a fresh Go installation. If you have an older version, consider deleting the /usr/local/go folder (you may need to use sudo) and re-extract the new version in its place.
27
+
Erigon utilizes Go (also known as Golang) version 1.23 or newer for part of its development. It is recommended to have a fresh Go installation. If you have an older version, consider deleting the /usr/local/go folder (you may need to use sudo) and re-extract the new version in its place.
27
28
28
29
To install the latest Go version, visit the official documentation at [https://golang.org/doc/install](https://golang.org/doc/install).
29
30
30
-
### C++ Compiler
31
+
### C++ Compiler (only for Linux and MacOS)
31
32
32
33
This turns the C++ part of Erigon's code into a program your computer can run. You can use either **Clang** or **GCC**:
Copy file name to clipboardExpand all lines: src/installation.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
@@ -1,6 +1,6 @@
1
1
# Installation
2
2
3
-
In order to use Erigon, the software has to be installed first. There are several ways to install Erigon, depending on the operating system and the user's choice of installation method, e.g. using a package manager, container or building from source.
3
+
In order to use Erigon, the software has to be installed first. There are several ways to install Erigon, depending on the operating system and the user's choice of installation method, e.g. using a pre-built image, container or building from source.
4
4
5
5
> Always check the [list of releases](https://github.com/erigontech/erigon/releases) for release notes.
0 commit comments