Skip to content

Installation update #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 104 commits into from
Jun 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
f7ee4b0
add development branch for preview releases
Oct 29, 2024
9961ba5
Merge branch 'main' of https://github.com/erigontech/docs into develo…
Oct 30, 2024
b216062
updated tls
Oct 30, 2024
b13b3a8
Merge branch 'development' of https://github.com/erigontech/docs into…
Oct 30, 2024
c2197dc
updates
Oct 31, 2024
90d3916
update
Oct 31, 2024
9013f20
updates and corrections
Nov 6, 2024
46c6d21
added staking to minimal node
Nov 6, 2024
b0bcdfe
updated Polygon quicknode page
Nov 6, 2024
c092d6b
updated Gnosis Chain quick node
Nov 6, 2024
87cdf93
Gnosis quicknode formatting error correction
Nov 6, 2024
704ff94
updated disclaimer on welcome page
Nov 6, 2024
4acd835
updated disclaimer on welcome page
Nov 6, 2024
b228165
updated disclaimer on welcome page
Nov 6, 2024
ee56b8a
typo correction
Nov 6, 2024
66ee793
typo correction on welcome page
Nov 6, 2024
8225c3a
typo correction on welcome page
Nov 6, 2024
d85fd00
updates and corrections
Nov 6, 2024
acb12cb
updates and correction
Nov 6, 2024
e8a5215
updates
Nov 10, 2024
2e05c01
updates
Nov 13, 2024
b7da325
updates
Nov 20, 2024
934c71b
update
Nov 20, 2024
fc8fa2d
updated
Nov 21, 2024
5c76c26
restructured and improved Windows
Nov 27, 2024
3af2c7a
updated sentry and rpc_daemon
Nov 27, 2024
deee31a
updated full node by default, staking, alpha6 etc.
Dec 12, 2024
cb9ce75
fix conflict on src/getting-started/sw-requirements.md
Dec 12, 2024
afb2509
updates and fixes
Dec 20, 2024
964f2d3
updated staking, caplin, RPC, disk space, ports
Jan 3, 2025
e2f165d
added op-node
Jan 4, 2025
c2bedb9
updates
Jan 4, 2025
4d4bb9f
correction
Jan 4, 2025
5d8e94d
updated JSON-RPC, welcome, README
Jan 6, 2025
8fab0d5
updated intro page
Jan 6, 2025
7884a89
small syntax modification
Jan 6, 2025
8780462
punctuation
Jan 6, 2025
ed55c2b
int chapter more info
Jan 6, 2025
f49b240
Merge branch 'main' into development
Jan 8, 2025
046c302
duplicate title
Jan 8, 2025
f7448ee
syntax correction
Jan 8, 2025
044a41a
minor markdown issues
Jan 8, 2025
f6b4c66
small fixes and duplicates removal
Jan 8, 2025
431c297
corrected heimdall API
Jan 9, 2025
38c7cef
removed duplicate options
Jan 9, 2025
8a89aa9
duplicate removal
Jan 13, 2025
6f51ace
introduced link to sync times.
Jan 15, 2025
aa4b8c1
updated link
Jan 18, 2025
9bf5ebc
updated to v3.00.0-beta1
Jan 23, 2025
498d2a6
broken link, duplicate removal
Jan 23, 2025
00b022d
typo
Jan 25, 2025
55dd5bb
Merge branch 'main' into development
bloxster Jan 29, 2025
3e7b94a
Merged main into development
Jan 29, 2025
706ad0c
Merge branch 'main' into development
bloxster Jan 29, 2025
e29ee04
updates
Oct 31, 2024
f5e542e
updates and corrections
Nov 6, 2024
6256a28
updated disclaimer on welcome page
Nov 6, 2024
6701c05
updates and corrections
Nov 6, 2024
c3cc21e
updates and correction
Nov 6, 2024
d1b0b00
updates
Nov 20, 2024
63fcc61
update
Nov 20, 2024
f015776
updated
Nov 21, 2024
93e4611
updated sentry and rpc_daemon
Nov 27, 2024
5f553fb
updated full node by default, staking, alpha6 etc.
Dec 12, 2024
9c2b3f7
updates and fixes
Dec 20, 2024
ea26757
updated staking, caplin, RPC, disk space, ports
Jan 3, 2025
c342fb8
added op-node
Jan 4, 2025
48e93ba
updates
Jan 4, 2025
3daf436
updated JSON-RPC, welcome, README
Jan 6, 2025
38ed521
updated intro page
Jan 6, 2025
6de73ec
minor markdown issues
Jan 8, 2025
336f6b7
small fixes and duplicates removal
Jan 8, 2025
2d5c4c9
broken link, duplicate removal
Jan 23, 2025
ed30499
Update to v3.00.0-beta1 (#7)
bloxster Jan 29, 2025
f7309f7
small updates and typos
Feb 6, 2025
929c8a7
conflict solving
Feb 6, 2025
c075199
Updated Diagnostics Tool and minor fixes
Feb 23, 2025
dad3193
update to 3.00.0-beta2
Feb 23, 2025
e0df616
update to v3.0.0-beta2
Feb 23, 2025
293b0ca
updated broken link in Caplin
Feb 23, 2025
6c185bb
Merge remote-tracking branch 'origin/main' into development
Feb 25, 2025
97d5182
removed instructions for staking with externalcl
Feb 25, 2025
1a6a3c0
updates and fixes
Mar 23, 2025
6907a82
Merge remote-tracking branch 'origin/main' into development
Mar 23, 2025
e001959
duplicate removal
Mar 25, 2025
e7f1825
updated to Erigon v3.0.0
Mar 25, 2025
8286d75
typo
Mar 25, 2025
193e8fa
updated txpool, fixed git clone CLI, added Hoodi
Apr 1, 2025
f355bc9
typo
Apr 2, 2025
bda264f
corrections
May 1, 2025
27a7855
Closing issue 13
May 1, 2025
ce8b9b1
closing issue 13
May 1, 2025
ea40a7f
fixed docker general info
May 5, 2025
14a5f49
Merge remote-tracking branch 'origin/main' into development
May 5, 2025
80e0360
updated with more info
May 5, 2025
685dcb7
updated with more info
May 5, 2025
92dc0f8
Update src/advanced/options.md
bloxster May 8, 2025
a2c0558
removed duplicate line
May 8, 2025
3e989ad
updated quick nodes and ext cl examples
May 16, 2025
32c9864
updated quick nodes and examples with ext. CL
May 16, 2025
5fb91d5
updated quick nodes
May 25, 2025
1628e77
Merge branch 'main' into installation_update
May 25, 2025
2270e78
removed info
May 25, 2025
df7b425
option updated to v3.0.4
May 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@

- [Quick nodes](quick_nodes.md)
- [How to run an Ethereum node](nodes/ethereum.md)
- [Ethereum with an external CL](nodes/eth_extcl.md)
- [How to run a Gnosis Chain node](nodes/gnosis.md)
- [Gnosis Chain with an external CL](nodes/gno_extcl.md)
- [How to run a Polygon node](nodes/polygon.md)

- [Advanced Usage](advanced.md)
- [Configuring Erigon](advanced/configuring.md)
- [Consensus Layer](advanced/consensus_layer.md)
- [Caplin](advanced/caplin.md)
- [Prysm](advanced/prysm.md)
- [Lighthouse](advanced/lighthouse.md)
- [JWT secret](advanced/jwt.md)
- [Options](advanced/options.md)
- [RPC Daemon](advanced/JSONRPC-daemon.md)
Expand Down
24 changes: 12 additions & 12 deletions src/advanced/consensus_layer.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# Consensus Layer

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.
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.

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.
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.

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.
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.

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.
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.

Basically, without a CL client, the EL will never sync.

<div class="warning">

**Information**

By default, Erigon is configured to run with [Caplin](/advanced/caplin.md), the embedded Consensus Layer.
By default, Erigon is configured to run with [Caplin](/advanced/caplin.md), the embedded CL.
</div>

## Choosing the Consensus Layer client

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.
## Choosing an external CL client

Below are the links to examples on how to configure Lighhouse and Prysm to run along with Erigon:
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:

- [Ethereum](/nodes/ethereum.md#erigon-with-prysm-as-the-external-consensus-layer)
- [Gnosis Chain](/nodes/gnosis.md#erigon-with-lighthouse)
- [Ethereum](/nodes/eth_extcl.md)
- [Gnosis Chain](/nodes/gno_extcl.md)

> **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.
> **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.
1 change: 1 addition & 0 deletions src/advanced/eth_extcl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Ethereum with an external CL
1 change: 1 addition & 0 deletions src/advanced/gno_extcl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Gnosis Chain with an external CL
23 changes: 10 additions & 13 deletions src/advanced/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ USAGE:
erigon [command] [flags]

VERSION:
3.0.2-cd286380
3.0.4-406d855f

COMMANDS:
init Bootstrap and initialize a new genesis block
Expand All @@ -33,8 +33,8 @@ COMMANDS:
help, h Shows a list of commands or help for one command

GLOBAL OPTIONS:
--datadir value Data directory for the databases (default: /home/user/.local/share/erigon)
--ethash.dagdir value Directory to store the ethash mining DAGs (default: /home/user/.local/share/erigon-ethash)
--datadir value Data directory for the databases (default: /home/bloxster/.local/share/erigon)
--ethash.dagdir value Directory to store the ethash mining DAGs (default: /home/bloxster/.local/share/erigon-ethash)
--externalcl Enables the external consensus layer (default: false)
--txpool.disable External pool and block producer, see ./cmd/txpool/readme.md for more info. Disabling internal txpool and block producer. (default: false)
--txpool.pricelimit value Minimum gas price (fee cap) limit to enforce for acceptance into the pool (default: 1)
Expand Down Expand Up @@ -118,12 +118,12 @@ GLOBAL OPTIONS:
--snap.state.stop Workaround to stop producing new state files, if you meet some state-related critical bug. It will stop aggregate DB history in a state files. DB will grow and may slightly slow-down - and removing this flag in future will not fix this effect (db size will not greatly reduce). (default: false)
--snap.skip-state-snapshot-download Skip state download and start from genesis block (default: false)
--db.pagesize value DB is splitted to 'pages' of fixed size. Can't change DB creation. Must be power of 2 and '256b <= pagesize <= 64kb'. Default: equal to OperationSystem's pageSize. Bigger pageSize causing: 1. More writes to disk during commit 2. Smaller b-tree high 3. Less fragmentation 4. Less overhead on 'free-pages list' maintainance (a bit faster Put/Commit) 5. If expecting DB-size > 8Tb then set pageSize >= 8Kb (default: "4KB")
--db.size.limit value Runtime limit of chaindata db size (can change at any time) (default: "200GB")
--db.size.limit value Runtime limit of chaindata db size (can change at any time) (default: "1TB")
--db.writemap Enable WRITE_MAP feature for fast database writes and fast commit times (default: true)
--torrent.port value Port to listen and serve BitTorrent protocol (default: 42069)
--torrent.maxpeers value Unused parameter (reserved for future use) (default: 100)
--torrent.conns.perfile value Number of connections per file (default: 10)
--torrent.download.slots value Amount of files to download in parallel. (default: 128)
--torrent.download.slots value Amount of files to download in parallel. (default: 32)
--torrent.staticpeers value Comma separated host:port to connect to
--torrent.upload.rate value Bytes per second, example: 32mb (default: "4mb")
--torrent.download.rate value Bytes per second, example: 32mb (default: "128mb")
Expand Down Expand Up @@ -154,7 +154,8 @@ GLOBAL OPTIONS:
--dev.period value Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)
--vmdebug Record information useful for VM and contract debugging (default: false)
--networkid value Explicitly set network id (integer)(For testnets: use --chain <testnet_name> instead) (default: 1)
--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)
--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)
--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)
--fakepow Disables proof-of-work verification (default: false)
--gpo.blocks value Number of recent blocks to check for gas prices (default: 20)
--gpo.percentile value Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 60)
Expand Down Expand Up @@ -190,6 +191,7 @@ GLOBAL OPTIONS:
--bor.waypoints Enabling bor waypont recording (default: false)
--polygon.sync Enabling syncing using the new polygon sync component (default: true)
--polygon.sync.stage Enabling syncing with a stage that uses the polygon sync component (default: false)
--polygon.logindex Workaround for incorrect logIndex in RPC (default: false)
--ethstats value Reporting URL of a ethstats service (nodename:secret@host:port)
--override.prague value Manually specify the Prague fork time, overriding the bundled setting (default: 0)
--caplin.discovery.addr value Address for Caplin DISCV5 protocol (default: "0.0.0.0")
Expand All @@ -198,12 +200,9 @@ GLOBAL OPTIONS:
--caplin.checkpoint-sync-url value [ --caplin.checkpoint-sync-url value ] checkpoint sync endpoint
--caplin.subscribe-all-topics Subscribe to all gossip topics (default: false)
--caplin.max-peer-count value Max number of peers to connect (default: 128)
--caplin.max-peer-count value Max number of peers to connect (default: 128)
--caplin.enable-upnp Enable NAT porting for Caplin (default: false)
--caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "1MB")
--caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "1MB")
--caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "1MB")
--caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "1MB")
--caplin.adaptable-maximum-traffic-requirements Make the node adaptable to the maximum traffic requirement based on how many validators are being ran (default: true)
--sentinel.addr value Address for sentinel (default: "localhost")
--sentinel.port value Port for sentinel (default: 7777)
Expand Down Expand Up @@ -242,6 +241,7 @@ GLOBAL OPTIONS:
--caplin.validator-monitor Enable caplin validator monitoring metrics (default: false)
--caplin.custom-config value set the custom config for caplin
--caplin.custom-genesis value set the custom genesis for caplin
--caplin.use-engine-api Use engine API for internal Caplin. useful for testing and if CL network is degraded (default: false)
--trusted-setup-file value Absolute path to trusted_setup.json file
--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)
--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)
Expand All @@ -262,7 +262,7 @@ GLOBAL OPTIONS:
--metrics Enable metrics collection and reporting (default: false)
--metrics.addr value Enable stand-alone metrics HTTP server listening interface (default: "127.0.0.1")
--metrics.port value Metrics HTTP server listening port (default: 6061)
--diagnostics.disabled Disable diagnostics (default: false)
--diagnostics.disabled Disable diagnostics (default: true)
--diagnostics.endpoint.addr value Diagnostics HTTP server listening interface (default: "127.0.0.1")
--diagnostics.endpoint.port value Diagnostics HTTP server listening port (default: 6062)
--diagnostics.speedtest Enable speed test (default: false)
Expand All @@ -280,6 +280,3 @@ GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
```

```

25 changes: 13 additions & 12 deletions src/getting-started/sw-requirements.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
# Software Requirements

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.
If you plan to compile Erigon from source, ensure that the following prerequisites are met.

Erigon works only from command line interface (CLI), so it is advisable to have a good confidence with basic commands.

Please ensure that the following prerequisites are met.
> 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.

### Build essential (only for Linux)

Install **Build-essential** and **Cmake**:

```bash
sudo apt install build-essential cmake -y
```

### Git

Expand All @@ -21,13 +14,21 @@ Git is a tool that helps download and manage the Erigon source code. To install
[https://git-scm.com/downloads](https://git-scm.com/downloads).


### Go Programming Language
### Build essential (only for Linux)

Install **Build-essential** and **Cmake**:

```bash
sudo apt install build-essential cmake -y
```

### Go Programming Language (only for Linux and MacOS)

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.
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.

To install the latest Go version, visit the official documentation at [https://golang.org/doc/install](https://golang.org/doc/install).

### C++ Compiler
### C++ Compiler (only for Linux and MacOS)

This turns the C++ part of Erigon's code into a program your computer can run. You can use either **Clang** or **GCC**:

Expand Down
2 changes: 1 addition & 1 deletion src/installation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installation

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.
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.

> Always check the [list of releases](https://github.com/erigontech/erigon/releases) for release notes.

Expand Down
Loading