> For the complete documentation index, see [llms.txt](https://service.block-pro.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://service.block-pro.net/mainnet/fuel/ethereum-mainnet-full-node.md).

# Ethereum Mainnet Full Node

## Client Resource Usage

#### Consensus Clients (Lighthouse)

<table><thead><tr><th width="178">Client</th><th width="135">Version</th><th>Date</th><th>DB Size</th><th></th></tr></thead><tbody><tr><td>Lighthouse</td><td>4.5.0</td><td>Jan 2024</td><td>~130 GiB</td><td>~5 GiB</td></tr></tbody></table>

Comment:

* Lighthouse, Lodestar and Prysm can be resynced in minutes to bring space usage back down, with `./ethd resync-consensus`
* Lighthouse is working on tree states to continuously prune

#### Execution clients

For reference, here are disk, RAM and CPU requirements, as well as mainnet initial synchronization times, for different Ethereum execution clients.

| Client | Version | Date     | DB Size   | DB Growth        | RAM         |
| ------ | ------- | -------- | --------- | ---------------- | ----------- |
| Erigon | 2.56.1  | Jan 2024 | \~1.7 TiB | \~7-8 GiB / week | See comment |

Comment:

* Erigon will have the OS use all available RAM as a DB cache during post-sync operation, but this RAM is free to be used by other programs as needed. During sync, it may run out of memory on machines with less than 32 GiB.&#x20;
* Erigon does not compress its DB, leaving that to the filesystem

## Eth Docker QuickStart

1️⃣ **Create a New User (if needed)**

```
adduser ethuser
usermod -aG sudo ethuser
usermod -aG docker ethuser
```

Then, switch to the new user:

```
su - ethuser
```

1. **Install Required Dependencies**

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl wget
```

2. **Install Docker and Docker Compose**

```bash
curl -fsSL https://get.docker.com | sudo bash
sudo usermod -aG docker $USER
newgrp docker
```

Verify the installation:

```bash
docker --version
docker compose version
```

```bash
docker ps
./ethd status
```

3. **Download and Configure Eth Docker**

```bash
cd ~
git clone https://github.com/eth-educators/eth-docker.git
cd eth-docker
```

4. **Install Eth Docker**

```bash
./ethd install
```

5. **Configure Eth Docker**

```bash
./ethd config
```

If you **do not** plan to be an Ethereum validator, you can skip entering an address.

Select clients:

* **Execution Layer**: Erigon
* **Consensus Layer**: Lighthouse

Enable monitoring with Grafana.

If you want to use the recommended setup, add the following line to `.env`:

```bash
COMPOSE_FILE=lighthouse-cl-only.yml:erigon.yml:grafana.yml:grafana-shared.yml:el-shared.yml:cl-shared.yml
```

6. Start the Ethereum Node

```bash
./ethd up
```

This will start all containers in Docker.

7. **Check Node Status**

```bash
docker ps
./ethd status
./ethd logs execution
```

8. **Stop and Restart the Node**

To stop:

```bash
./ethd stop
```

To restart after changing settings:

```bash
./ethd up
```
