Skip to content
This repository was archived by the owner on Dec 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 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
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# The Erigon 3 Book
# Erigon 3 Docs

This is the official Erigon 3 documentation, hosted at <https://docs.erigon.tech/>.

Expand Down
7 changes: 6 additions & 1 deletion book.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[book]
title = "The Erigon 3 Book"
title = "Erigon 3 Docs"
authors = ["Erigon"]
description = "Erigon 3 documentation!"
language = "en"
Expand All @@ -8,3 +8,8 @@ src = "src"

[output.html]
git-repository-url = "https://github.com/erigontech/docs"
[output.html.fold]
enable = true # whether or not to enable section folding
level = 0 # the depth to start folding
theme = "my-theme"
default-theme = "Ayu"
4 changes: 2 additions & 2 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
- [Optimizing Storage](basic/optimizing-storage.md)
- [Supported Networks](basic/networks.md)
- [Default Ports and Firewalls](basic/ports.md)
- [YAML/TOML Config](basic/yaml.md)
- [Web3 Wallet](basic/wallet)

- [Quick nodes](quick_nodes.md)
Expand Down Expand Up @@ -57,10 +58,9 @@
- [Browser Interface](tools/user_interface.md)
- [Otterscan](tools/otterscan.md)

- [Frequently Asked Questions](faq.md)

- [About](about.md)
- [License](about/license.md)
- [Contributing](about/contributing.md)
- [Disclaimer](about/disclaimer.md)
- [Donate](about/donate.md)
- [How to reach us](about/reachus.md)
64 changes: 19 additions & 45 deletions src/_introduction.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,27 @@
# Introduction

########b oo d####b.
## '##
##aaaa ##d###b. dP .d####b. .d####b. ##d###b. aaad#'
## ##' '## ## ##' '## ##' '## ##' '## '##
## ## ## ##. .## ##. .## ## ## .##
########P dP dP '####P## '#####P' dP dP d#####P
.##
d####P

> 📖 **Contributing**
>
> You can contribute to this book on [GitHub](https://github.com/erigontech/docs).
>
> For instructions regarding Erigon 2 please refer to <https://erigon.gitbook.io>.
<img src="/images/Erigon-2024-ICON-V1-O-scaled.webp" alt="Erigon 3" style="display: block; margin: 0 auto; max-width: 200px">

Erigon is an efficient Ethereum implementation designed for speed, modularity, and optimization. By default, it functions as an archive node, utilizing technologies like staged sync, efficient state storage, and database compression.
Erigon is an efficient Ethereum implementation designed for speed, modularity, and optimization. By default, it functions as a full node, utilizing technologies like staged sync, efficient state storage, and database compression.

With Erigon 3 the default configuration shifts from archive node to full node, enhancing efficiency, accessibility, and versatility for a wider range of users. Archive nodes remain available for developers and researchers needing full historical data, while the full node offers faster sync times and lower resource usage for everyday operations. More info [here](https://erigon.tech/announcing-erigon-v3-alpha-6-focus-on-staking-and-full-node-performance/).
With Erigon 3 the default configuration shifts from archive node to full node, enhancing efficiency, accessibility, and versatility for a wider range of users. Archive nodes remain available for developers and researchers needing full historical data, while the full node offers faster sync times and lower resource usage for everyday operations.

<div class="warning">
# Topics

**Information**
- Review the hardware and software requirements [get started](getting_started.md).
- Follow the [installation guide](installation.md) to set up Erigon.
- Learn the [basic usage](basic-usage.md) of Erigon.
- Quickly deploy your own Ethereum, Gnosis, or Polygon [node](quick_nodes.md).
- Explore Erigon's [advanced features](advanced.md).
- Discover the capabilities of the [RPC Daemon](advanced/JSONRPC-daemon.md).
- Utilize integrated [tools](tools.md) like Diagnostic Tools and Otterscan.

If you wanto to test Erigon without reading all the documentation, go straight to the [quick nodes](quick_nodes.md) section.
# Additional Resources and Information

</div>

> **DISCLAIMER**
>
> Erigon 3 is in alpha phase and it is not recommended to be used in production environments. The Erigon team does not take any responsibility for losses or damages occurred through the use of Erigon. While we employ a seasoned in-house security team, we have not subjected our systems to independent third-party security assessments, leaving potential vulnerabilities to bugs or malicious activity unaddressed. It is essential for validators to be aware that unforeseen events, including software glitches, may result in lost rewards.

# Features

Erigon offers several features that make it a good option for a node application such as efficient state storage through the use of a key-value database and faster initial synchronisation.

Built with modularity in mind, it also offers separate components such as the JSON RPC daemon, that can connect to both local and remote databases. For read-only calls, this RPC daemon does not need to run on the same system as the main Erigon binary, and can even run from a database snapshot.

Erigon 3 is a major update that introduces several significant changes, improvements, and optimizations. Some of the key features and differences include:

The main changes from Erigon 2 are listed [here](https://github.com/erigontech/erigon?tab=readme-ov-file#erigon3-changes-from-erigon2).

# Release Process

Erigon 3 also introduces changes to the release process, including:
* New Docker Image Repository: Erigon images are now available on Dockerhub repository "erigontech/erigon".
* Multi-Platform Support: The docker image is built for linux/amd64/v2 and linux/arm64 platforms using Alpine 3.20.2.
* Release Workflow Changes: Build flags are now passed to the release workflow, allowing users to view previously missed build information in released binaries.

# Known Issues

See <https://github.com/erigontech/erigon?tab=readme-ov-file#known-issues>.
- **Releases**: see <https://github.com/erigontech/erigon/releases>.
- **Docker image releases**:
- New Docker Image Repository: Erigon images are now available on Dockerhub repository [erigontech/erigon](https://hub.docker.com/r/erigontech/erigon).
- Multi-Platform Support: The docker image is built for linux/amd64/v2 and linux/arm64 platforms using Alpine.
- **Frequently Asked Questions**: see <https://github.com/erigontech/erigon?tab=readme-ov-file#faq>.
- **Known Issues**: See <https://github.com/erigontech/erigon?tab=readme-ov-file#known-issues>.
- **Changes from Erigon 2**: The main changes from Erigon 2 are listed [here](https://github.com/erigontech/erigon?tab=readme-ov-file#erigon3-changes-from-erigon2).
3 changes: 3 additions & 0 deletions src/about/disclaimer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Disclaimer

The Erigon team does not take any responsibility for losses or damages occurred through the use of Erigon. While we employ a seasoned in-house security team, we have not subjected our systems to independent third-party security assessments.
2 changes: 1 addition & 1 deletion src/advanced/JSONRPC-daemon.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ This document provides guidelines for understanding and using the various RPC me

## More info

For a comprehensive understanding of the RPC daemon's functionality, configuration, and usage, please refer to *<https://github.com/erigontech/erigon/blob/main/cmd/rpcdaemon/README.md>** (also contained in your locally compiled Erigon folder at `/cmd/rpcdaemon`) which covers the following key topics:
For a comprehensive understanding of the RPC daemon's functionality, configuration, and usage, please refer to <https://github.com/erigontech/erigon/blob/main/cmd/rpcdaemon/README.md> (also contained in your locally compiled Erigon folder at `/cmd/rpcdaemon`) which covers the following key topics:

1. **Introduction**: An overview of the RPC daemon, its benefits, and how it integrates with Erigon.
2. **Getting Started**: Step-by-step guides for running the RPC daemon locally and remotely, including configuration options and command-line flags.
Expand Down
19 changes: 4 additions & 15 deletions src/advanced/bp-caplin.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ This guide explains how to use Erigon with its embedded Caplin consensus layer a

## 1. Start Erigon with Caplin

Run the following command to start Erigon with the embedded Caplin consensus layer with the beacon API on:
The following command starts Erigon with the embedded Caplin consensus layer with the beacon API on:

```bash
erigon \
--datadir=/data/erigon \
--chain=mainnet \
--prune.mode=full \
--http \
--http.addr=0.0.0.0 \
--http.port=8545 \
Expand All @@ -24,13 +22,12 @@ erigon \
--caplin.discovery.addr=0.0.0.0 \
--caplin.discovery.port=4000 \
--caplin.discovery.tcpport=4001 \
--chain=<NETWORK>
--beacon.api=beacon,validator,builder,config,debug,events,node,lighthouse
```

**Flags Explanation**:

- Execution Layer:
- Execution Layer (Erigon):
- `--http.api=engine,eth,net,web3`: enables the necessary APIs for external clients and Caplin.
- `--ws`: enables WebSocket-based communication (optional).
- Consensus Layer (Caplin):
Expand All @@ -41,15 +38,7 @@ erigon \

### 2.1 Install Lighthouse

Download the latest Lighthouse binary:

```
curl -LO https://github.com/sigp/lighthouse/releases/latest/download/lighthouse
chmod +x lighthouse
sudo mv lighthouse /usr/local/bin/
```

Or, use Docker:
Install and run Lighthouse by following the official guide at <https://lighthouse-book.sigmaprime.io/installation.html> or use Docker:

```bash
docker pull sigp/lighthouse:latest
Expand All @@ -63,7 +52,7 @@ mkdir -p ~/.lighthouse/validators

### 2.3. Run Lighthouse Validator Client

Start the validator client and connect it to the Caplin consensus layer:
Start the validator client and connect it to the Caplin CL:

```bash
lighthouse vc \
Expand Down
51 changes: 51 additions & 0 deletions src/advanced/bp-ext.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
# Using an external consensus client as validator

To use an external Consensus Layer (CL) it is necessary to add to Erigon the flag `--externalcl`. Here are a couple of examples on how to configure Lighhouse and Prysm to run along with Erigon:

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

Once you have Erigon and a CL client up and running, you can proceed to set up a Validator Client (VC). The VC is responsible for managing your keys and signing valid blocks.

## Getting Started with a Validator Client

To set up a VC, follow the instructions provided in the official documentation, such as:

<https://lighthouse-book.sigmaprime.io/mainnet-validator.html>.

This guide will walk you through the process of setting up a VC, including:

- Generating and managing your keys
- Configuring the Validator Client
- Signing valid blocks

Make sure to follow the instructions carefully and thoroughly to ensure that your VC is set up correctly. It is always recommended to start staking with a testnet.

## Example of configuration

The following example demonstrates how to configure Erigon to run with an external Consensus Layer:

```bash
erigon \
--externalcl \
--datadir=/data/erigon \
--chain=sepolia \
--authrpc.jwtsecret=/jwt
--authrpc.addr=0.0.0.0 \
--http \
--http.addr=0.0.0.0 \
--http.port=8545 \
--http.api=engine,eth,net,web3 \
--ws \
--ws.port=8546 \
```

## Flags explanation:

- `--externalcl`: Enables the use of an external CL.
- `--datadir=/data/erigon`: Defines the directory to be used for databases.
- `--chain=sepolia`: Specifies the Sepolia chain.
- `--authrpc.jwtsecret=/jwt`: Sets the location of the JWT authentication code in hex encoding. This is used by Erigon (the EL) and the CL (in this case Lighthouse) to authenticate communication.
- `--authrpc.addr=0.0.0.0`: Allows the engine API to be accessed from any address.
- `--http.api=engine,eth,net,web3`: Enables the necessary APIs for external clients and Caplin.
- `--ws`: enables WebSocket-based communication, which is optional.

> Note that many pre-merge flags, such as `--miner.etherbase`, are no longer useful, as block rewards and other validator-related configurations are now controlled by the Consensus Layer (CL).

13 changes: 8 additions & 5 deletions src/advanced/consensus_layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,16 @@ The consensus client, also known as the *Beacon Node* or *CL client*, implements

**Information**

By default, Erigon is configured to run with [Caplin](/advanced/bp-caplin.md), the embedded Consensus Layer.
By default, Erigon is configured to run with [Caplin](/advanced/caplin.md), the embedded Consensus Layer.
</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. See below which Beacon node for which chain you can run along with Erigon
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.

- [Ethereum](./src/nodes/ethereum.md)
- [Gnosis Chain](/nodes/gnosis.md)
- [Polygon](/nodes/polygon.md)
Below are the links to examples on how to configure Lighhouse and Prysm to run along with Erigon:

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

> **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.
2 changes: 1 addition & 1 deletion src/advanced/op-node.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Running an Op-Node Alongside Erigon
# Running an Op-Node alongside Erigon

To run an op-node alongside Erigon, follow these steps:

Expand Down
12 changes: 7 additions & 5 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.00.0-beta2-9da58c0b
3.00.0-57625b40

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

GLOBAL OPTIONS:
--datadir value Data directory for the databases (default: /home/bloxster/.local/share/erigon)
--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/bloxster/.local/share/erigon-ethash)
--externalcl Enables the external consensus layer (default: false)
--txpool.disable Experimental external pool and block producer, see ./cmd/txpool/readme.md for more info. Disabling internal txpool and block producer. (default: false)
Expand Down Expand Up @@ -196,10 +196,10 @@ GLOBAL OPTIONS:
--caplin.discovery.tcpport value TCP Port for Caplin DISCV5 protocol (default: 4001)
--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: 80)
--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: "256KB")
--caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "256KB")
--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 @@ -275,3 +275,5 @@ GLOBAL OPTIONS:
--config value Sets erigon flags from YAML/TOML file
--help, -h show help
--version, -v print the version
```

13 changes: 7 additions & 6 deletions src/advanced/sentry.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ The ETH core interacts with the Ethereum p2p network through the Sentry componen

It is possible to have multiple Sentry to increase connectivity to the network or to obscure the location of the core computer. In this case it is necessary to define address and port of each Sentry that should be connected to the Core.

Before using the Sentry component the executable must be built. Head over to /erigon directory and type:
Before using the Sentry component the executable must be built:

```bash
cd erigon
make sentry
```

Expand All @@ -39,21 +40,21 @@ In this example we will run an instance of Erigon and Sentry on the same machine
Following is the Sentry client running separately:

```bash
screen ./build/bin/sentry --datadir=~/.local/share/erigon
./build/bin/sentry --datadir=~/.local/share/erigon
```

And here is Erigon attaching to it
And Erigon attaching to it:

```bash
./build/bin/erigon --internalcl --snapshots=true --sentry.api.addr=127.0.0.1:9091
./build/bin/erigon --sentry.api.addr=127.0.0.1:9091
```

Erigon might be attached to several Sentry instances running across different machines. As per Erigon help:

```bash
--sentry.api.addr value
```
Where `value` is comma separated sentry addresses '<host>:<port>,<host>:<port>'.
Where `value` is comma separated sentry addresses `<host>:<port>,<host>:<port>`.

## More info

Expand All @@ -76,7 +77,7 @@ Usage:
sentry [flags]

Flags:
--datadir string Data directory for the databases (default "/home/bloxster/.local/share/erigon")
--datadir string Data directory for the databases (default "/home/user/.local/share/erigon")
--diagnostics.disabled Disable diagnostics
--diagnostics.endpoint.addr string Diagnostics HTTP server listening interface (default "127.0.0.1")
--diagnostics.endpoint.port uint Diagnostics HTTP server listening port (default 6062)
Expand Down
Loading