Skip to content

Commit b87cb37

Browse files
authored
Updates and fixes (#15)
- Updated tags for cloning latest Erigon version from Github or Docker - Issue 13 solved (Minor nit-pick on performance document page #13) - Fixed broken links - updated Options page to version 3.0.2 - updated Disk Space Required page values - removed Tips for faster syncing page from index
1 parent 31ddec7 commit b87cb37

File tree

8 files changed

+148
-39
lines changed

8 files changed

+148
-39
lines changed

src/advanced.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Erigon is by default an "all-in-one" binary solution, but it's possible start any internal component as a separated processes:
44

5-
- [RPCDaemon](./advanced/rpc_daemon.md), the JSON RPC layer
5+
- [RPCDaemon](./advanced/JSONRPC-daemon.md), the JSON RPC layer
66
- [TxPool](./advanced/txpool.md), the transaction pool
77
- [Sentry](./advanced/sentry.md), the p2p layer
88
- [Downloader](./advanced/downloader.md), the history download layer

src/advanced/options.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ USAGE:
2323
erigon [command] [flags]
2424
2525
VERSION:
26-
3.00.0-57625b40
26+
3.0.2-cd286380
2727
2828
COMMANDS:
2929
init Bootstrap and initialize a new genesis block
@@ -34,9 +34,9 @@ COMMANDS:
3434
3535
GLOBAL OPTIONS:
3636
--datadir value Data directory for the databases (default: /home/user/.local/share/erigon)
37-
--ethash.dagdir value Directory to store the ethash mining DAGs (default: /home/bloxster/.local/share/erigon-ethash)
37+
--ethash.dagdir value Directory to store the ethash mining DAGs (default: /home/user/.local/share/erigon-ethash)
3838
--externalcl Enables the external consensus layer (default: false)
39-
--txpool.disable Experimental external pool and block producer, see ./cmd/txpool/readme.md for more info. Disabling internal txpool and block producer. (default: false)
39+
--txpool.disable External pool and block producer, see ./cmd/txpool/readme.md for more info. Disabling internal txpool and block producer. (default: false)
4040
--txpool.pricelimit value Minimum gas price (fee cap) limit to enforce for acceptance into the pool (default: 1)
4141
--txpool.pricebump value Price bump percentage to replace an already existing transaction (default: 10)
4242
--txpool.blobpricebump value Price bump percentage to replace existing (type-3) blob transaction (default: 100)
@@ -95,10 +95,10 @@ GLOBAL OPTIONS:
9595
--rpc.batch.limit value Maximum number of requests in a batch (default: 100)
9696
--rpc.returndata.limit value Maximum number of bytes returned from eth_call or similar invocations (default: 100000)
9797
--rpc.allow-unprotected-txs Allow for unprotected (non-EIP155 signed) transactions to be submitted via RPC (default: false)
98-
--rpc.maxgetproofrewindblockcount.limit value Max GetProof rewind block count (default: 100000)
9998
--rpc.txfeecap value Sets a cap on transaction fee (in ether) that can be sent via the RPC APIs (0 = no cap) (default: 1)
10099
--txpool.api.addr value TxPool api network address, for example: 127.0.0.1:9090 (default: use value of --private.api.addr)
101100
--trace.maxtraces value Sets a limit on traces that can be returned in trace_filter (default: 200)
101+
--experimental.commitment-history Enables blazing fast eth_getProof for executed block (default: false)
102102
--http.timeouts.read value Maximum duration for reading the entire request, including the body. (default: 30s)
103103
--http.timeouts.write value Maximum duration before timing out writes of the response. It is reset whenever a new request's header is read. (default: 30m0s)
104104
--http.timeouts.idle value Maximum amount of time to wait for the next request when keep-alives are enabled. If http.timeouts.idle is zero, the value of http.timeouts.read is used. (default: 2m0s)
@@ -154,6 +154,7 @@ GLOBAL OPTIONS:
154154
--dev.period value Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)
155155
--vmdebug Record information useful for VM and contract debugging (default: false)
156156
--networkid value Explicitly set network id (integer)(For testnets: use --chain <testnet_name> instead) (default: 1)
157+
--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)
157158
--fakepow Disables proof-of-work verification (default: false)
158159
--gpo.blocks value Number of recent blocks to check for gas prices (default: 20)
159160
--gpo.percentile value Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 60)
@@ -197,9 +198,12 @@ GLOBAL OPTIONS:
197198
--caplin.checkpoint-sync-url value [ --caplin.checkpoint-sync-url value ] checkpoint sync endpoint
198199
--caplin.subscribe-all-topics Subscribe to all gossip topics (default: false)
199200
--caplin.max-peer-count value Max number of peers to connect (default: 128)
201+
--caplin.max-peer-count value Max number of peers to connect (default: 128)
200202
--caplin.enable-upnp Enable NAT porting for Caplin (default: false)
201203
--caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "1MB")
202204
--caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "1MB")
205+
--caplin.max-inbound-traffic-per-peer value Max inbound traffic per second per peer (default: "1MB")
206+
--caplin.max-outbound-traffic-per-peer value Max outbound traffic per second per peer (default: "1MB")
203207
--caplin.adaptable-maximum-traffic-requirements Make the node adaptable to the maximum traffic requirement based on how many validators are being ran (default: true)
204208
--sentinel.addr value Address for sentinel (default: "localhost")
205209
--sentinel.port value Port for sentinel (default: 7777)
@@ -277,3 +281,5 @@ GLOBAL OPTIONS:
277281
--version, -v print the version
278282
```
279283

284+
```
285+

src/advanced/performance.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ These instructions are designed to improve the performance of Erigon 3, particul
1010
```bash
1111
--sync.loop.block.limit=10_000 --batchSize=2g
1212
```
13+
* Increase download speed with flag ```--torrent.download.rate=[value]``` setting your max speed (default value is 128MB). For example:
14+
```bash
15+
--torrent.download.rate=512mb
16+
```
1317

1418
## Optimize for Cloud Drives
1519

src/basic/disk-space.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ Below is the size of the `--datadir` used by Erigon.
99

1010
| Network | Archive Node | Full Node | Minimal Node |
1111
|----------|--------------|-----------|--------------|
12-
| Ethereum | 1.7 TB | 1000 GB | 310 GB |
13-
| Gnosis | 535 GB | 365 GB | 210 GB |
14-
| Polygon | 4.3 TB | 2 TB | 873 GB |
12+
| Ethereum | 2.2 TB | 1.1 TB | 370 GB |
13+
| Gnosis | 566 GB | 312 GB | 108 GB |
14+
| Polygon | 4.3 TB | 2.6 TB | 1.1 TB |
1515

1616
See also [sync times](https://github.com/erigontech/erigon?tab=readme-ov-file#sync-times).
1717

@@ -36,8 +36,9 @@ See also [sync times](https://github.com/erigontech/erigon?tab=readme-ov-file#sy
3636

3737
| Network | Archive Node | Full Node | Minimal Node |
3838
|----------|--------------|-----------|--------------|
39-
| Holesky | 170 GB | 110 GB | 53 GB |
40-
| Sepolia | 950 GB | 510 GB | 122 GB |
41-
| Chiado | 25 GB | 17 GB | 12 GB |
39+
| Holesky | 268 GB | 187 GB | 117 GB |
40+
| Sepolia | 708 GB | 510 GB | 122 GB |
41+
| Hoodi | 16 GB | 16 GB | 15 GB |
42+
| Chiado | 25 GB | 18 GB | 14 GB |
4243

4344
See also hints on [optimizing storage](/basic/optimizing-storage.md).

src/basic/yaml.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,42 @@
11
# Using TOML or YAML Config Files
22

3+
You can configure Erigon using a YAML or TOML configuration file by specifying its path with the `--config` flag.
34

4-
You can set Erigon flags via a YAML or TOML configuration file with the flag `--config`. The flags set in the configuration file can be overridden by writing the flags directly to the Erigon command line.
5+
> Note: flags specified in the configuration file can be overridden by directly setting them in the Erigon command line.
6+
7+
Both in YAML and TOML files boolean operators (`false`, `true`) and strings without spaces can be specified without quotes, while strings with spaces must be included in `""` or `''` quotes.
58

69
## YAML
710

8-
Assuming we have `--chain=mainnet` in our configuration file, adding `--chain=holesky` will override the flag inside the yaml configuration file and set the chain to Holesky.
11+
Use the `--config` flag to point at the YAML configuration file.
912

1013
```bash
1114
./build/bin/erigon --config ./config.yaml --chain=holesky
1215
```
1316

1417
Example of setting up a YAML config file:
1518

16-
```bash
19+
```yaml
1720
datadir : 'your datadir'
1821
chain : "mainnet"
1922
http : true
20-
2123
http.api : ["eth","debug","net"]
2224
```
2325
26+
In this case the `--chain` flag in the command line will override the value in the YAML file and Erigon will run on the Holesky testnet.
27+
2428
## TOML
2529

30+
```bash
31+
./build/bin/erigon --config ./config.toml
32+
```
33+
2634
Example of setting up TOML config file:
2735

28-
```bash
36+
```toml
2937
datadir = 'your datadir'
3038
chain = "mainnet"
3139
http = true
32-
3340
"http.api" = ["eth","debug","net"]
34-
```
41+
```
42+

src/installation/docker.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,49 +3,50 @@
33

44
Using Docker allows starting Erigon packaged as a Docker image without installing the program directly on your system.
55

6-
## General info
6+
### General Info
77

8-
* The released archive now comprises 10 key binaries: erigon, downloader, devnet, EVM, caplin, diag, integration, RPCDaemon, Sentry, and txpool;
9-
* The new Docker images feature seven binaries: erigon, integration, diag, Sentry, txpool, downloader, and RPCDaemon (same binaries included in the released archive);
10-
* Multi-platform docker image available for linux/amd64/v2 and linux/arm64 platforms and based on alpine:3.20.2; No need to pull another docker image for another different platform.
11-
* The Docker image is now compatible with multiple platforms: Linux (amd64, v2) and arm64. It's built on top of Alpine 3.20.2;
12-
* All build flags now passed to the release workflow — so, user can see previously missed build info in our released binaries (as well as in docker images) and also better build optimization expected;
13-
* With recent updates, all build configurations are now included in the release process. This provides users with more comprehensive build information for both binaries and Docker images, along with enhanced build optimizations..
14-
* Images are stored at <https://hub.docker.com/r/erigontech/erigon>
8+
* The new Docker images feature seven binaries as are included in the released archive: `erigon`, `integration`, `diag`, `sentry`, `txpool`, `downloader`, `rpcdaemon`.
9+
* Multi-platform docker image available for linux/amd64/v2 and linux/arm64 platforms and based on alpine:3.20.2; no need to pull another docker image for another different platform.
10+
* All build flags are now passed to the release workflow, allowing users to view previously missed build information in our released binaries and Docker images. Additionally, this change is expected to result in better build optimization.
11+
* Docker images now contain the label “org.opencontainers.image.revision,” which refers to the commit ID from the Erigon project used to build the artifacts.
12+
* With recent updates, all build configurations are now included in the release process. This provides users with more comprehensive build information for both binaries and Docker images, along with enhanced build optimizations.
13+
* Images are stored at <https://hub.docker.com/r/erigontech/erigon>.
1514

16-
## Download and start Erigon in Docker
1715

18-
Here are the steps to download and start Erigon 3 in Docker:
16+
## Prerequisites
17+
18+
Having Docker Engine installed, see instructions [here](https://docs.docker.com/engine/install/).
1919

20-
1. Install the latest version of Docker Engine, see instructions [here](https://docs.docker.com/engine/install/).
20+
## Download and start Erigon in Docker
2121

22-
2. Visit the Erigon Docker Hub page to view the available releases. For Erigon 3, search for the [latest available release](https://hub.docker.com/r/erigontech/erigon/tags?name=v3).
22+
Here are the steps to download and start Erigon in Docker:
2323

24-
3. Download the latest version:
24+
1. Download the latest version:
2525

2626
```bash
27-
docker pull erigontech/erigon:v3.0.0
27+
docker pull erigontech/erigon
2828
```
2929

30-
* List the downloaded images to get the IMAGE ID:
30+
2. List the downloaded images to get the IMAGE ID:
3131

3232
```bash
3333
docker images
3434
```
3535

36-
* Check which Erigon version has been downloaded:
36+
3. Check which Erigon version has been downloaded:
3737

3838
```bash
3939
docker run -it <image_id> --v
4040
```
4141

42-
* If you want to start Erigon add the options according to the [basic usage](/basic-usage.md) page or the advanced customization page. For example:
42+
If you want to start Erigon add the options according to the [basic usage](/basic-usage.md) page or the advanced customization page. For example:
4343

4444
```bash
4545
docker run -it 36f25992dd1a --chain=holesky --prune.mode=minimal
46+
docker run -it 36f25992dd1a --chain=holesky --prune.mode=minimal
4647
```
4748

48-
* When done, exit the container or press `Ctrl+C`. The container will stop.
49+
To exit the container press `Ctrl+C`; the container will stop.
4950

5051
## Optional: Setup dedicated user
5152

@@ -83,7 +84,7 @@ If a build or service startup is failing due to permissions, check that all the
8384

8485
### Run
8586

86-
Next command starts: Erigon on port 30303, rpcdaemon on port 8545, prometheus on port 9090, and grafana on port 3000:
87+
Next command starts: `erigon` on port `30303`, `rpcdaemon` on port `8545`, `prometheus` on port `9090`, and `grafana` on port `3000`:
8788

8889
```
8990
#
@@ -119,7 +120,7 @@ ERIGON_USER=erigon
119120
sudo -u ${ERIGON_USER} DOCKER_UID=$(id -u ${ERIGON_USER}) DOCKER_GID=$(id -g ${ERIGON_USER}) XDG_DATA_HOME=~${ERIGON_USER}/.ethereum DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 make docker-compose
120121
```
121122

122-
`Makefile` creates the initial directories for Erigon, Prometheus and Grafana. The PID namespace is shared between erigon and rpcdaemon which is required to open Erigon's DB from another process (RPCDaemon local-mode). See: [https://github.com/ledgerwatch/erigon/pull/2392/files](https://github.com/ledgerwatch/erigon/pull/2392/files)
123+
`makefile` creates the initial directories for `erigon`, `prometheus` and `grafana`. The PID namespace is shared between erigon and rpcdaemon which is required to open Erigon's DB from another process (RPCDaemon local-mode). See: [https://github.com/ledgerwatch/erigon/pull/2392/files](https://github.com/ledgerwatch/erigon/pull/2392/files)
123124

124125
If your docker installation requires the docker daemon to run as root (which is by default), you will need to prefix the command above with `sudo`. However, it is sometimes recommended running docker (and therefore its containers) as a non-root user for security reasons. For more information about how to do this, refer to this [article](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user).
125126

src/installation/upgrading.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Upgrading from a previous version
2+
3+
To upgrade Erigon to a newer version when you've originally installed it via Git and manual compilation, you should follow these steps without needing to delete the entire folder:
4+
5+
* **Terminate your Erigon** session by pressing CTRL+C
6+
7+
* **Navigate to your Erigon directory**
8+
9+
* **Fetch the latest changes from the repository**: You need to make sure your local repository is up-to-date with the main GitHub repository. Run:
10+
11+
```bash
12+
git fetch --tags
13+
```
14+
15+
* **Check out** the [latest version](https://github.com/ledgerwatch/erigon/releases) and switch to it using:
16+
17+
18+
```bash
19+
git checkout <new_version_tag>
20+
```
21+
22+
23+
Replace `<new_version_tag>` with the version tag of the new release, for example:
24+
25+
```bash
26+
git checkout v3.0.0
27+
```
28+
29+
* **Rebuild Erigon**: Since the codebase has changed, you need to compile the new version. Run:
30+
31+
```bash
32+
make erigon
33+
```
34+
35+
This process updates your installation to the latest version you specify, while maintaining your existing data and configuration settings in the Erigon folder. You're essentially just replacing the executable with a newer version.
36+
37+
# Docker
38+
If you're using Docker to run Erigon, the process to upgrade to a newer version of the software is straightforward and revolves around pulling the latest Docker image and then running it. Here's how you can upgrade Erigon using Docker:
39+
40+
* **Pull the Latest Docker Image**: First, find out the tag of the new release from the Erigon Docker Hub page. Once you know the tag, pull the new image:
41+
42+
```bash
43+
docker pull erigontech/erigon:<new_version_tag>
44+
```
45+
46+
Replace `<new_version_tag>` with the actual version tag you wish to use. For example:
47+
48+
```bash
49+
docker pull erigontech/erigon:v3.0.0-beta2
50+
```
51+
52+
53+
* **List Your Docker Images**: Check your downloaded images to confirm the new image is there and get the new image ID:
54+
55+
```bash
56+
docker images
57+
```
58+
59+
60+
* **Stop the Running Erigon Container**: If you have a currently running Erigon container, you'll need to stop it before you can start the new version. First, find the container ID by listing the running containers:
61+
62+
```bash
63+
docker ps
64+
```
65+
66+
67+
Then stop the container using:
68+
69+
```bash
70+
docker stop <container_id>
71+
```
72+
73+
Replace `<container_id>` with the actual ID of the container running Erigon.
74+
75+
* **Remove the Old Container**: (Optional) If you want to clean up, you can remove the old container after stopping it:
76+
77+
```bash
78+
docker rm <container_id>
79+
```
80+
81+
* **Run the New Image**: Now you can start a new container with the new Erigon version using the new image ID:
82+
83+
```bash
84+
docker run -it <new_image_id>
85+
```
86+
87+
* **Verify Operation**: Ensure that Erigon starts correctly and connects to the desired network, verifying the logs for any initial errors.
88+
89+
By following these steps, you'll keep your Docker setup clean and up-to-date with the latest Erigon version without needing to manually clean up or reconfigure your environment. Docker's ability to encapsulate software in containers simplifies upgrades and reduces conflicts with existing software on your machine.

src/nodes/polygon.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ To start a Erigon full node for **Polygon mainnet** with remote Heimdall:
4444
For a **Amoy testnet** archive node with remote Heimdall:
4545

4646
```bash
47-
./build/bin/erigon --chain=amoy --bor.heimdall=https://heimdall-api-amoy.polygon.technology
47+
./build/bin/erigon --chain=amoy --bor.heimdall=https://heimdall-api-amoy.polygon.technology --prune.mode=archive
4848
```
4949

5050
## Basic Configuration​

0 commit comments

Comments
 (0)