diff --git a/docs/private-networks/get-started/install/run-docker-image.md b/docs/private-networks/get-started/install/run-docker-image.md
index c85ebbf055f..b75c253b22c 100644
--- a/docs/private-networks/get-started/install/run-docker-image.md
+++ b/docs/private-networks/get-started/install/run-docker-image.md
@@ -6,6 +6,9 @@ tags:
- private networks
---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
# Run Besu from a Docker image
Besu provides a Docker image to run a Besu node in a Docker container.
@@ -66,9 +69,21 @@ When running in a Docker container, [`--nat-method`](../../../public-networks/ho
You can specify [Besu environment variables](../../../public-networks/reference/cli/options.md#specify-options) with the Docker image instead of the command line options.
-```bash
-docker run -p 30303:30303 -p 8545:8545 -e BESU_RPC_HTTP_ENABLED=true -e BESU_NETWORK=holesky hyperledger/besu:latest
-```
+
+
+
+ ```bash
+ docker run -p 30303:30303 -p 8545:8545 -e BESU_RPC_HTTP_ENABLED=true -e BESU_NETWORK=holesky hyperledger/besu:latest
+ ```
+
+
+
+
+ ```bash
+ docker run -p 30303:30303 -p 8545:8545 -e BESU_RPC_HTTP_ENABLED=true -e BESU_NETWORK=ephemery hyperledger/besu:latest
+ ```
+
+
:::caution "Unsupported address type exception"
diff --git a/docs/private-networks/how-to/configure/bootnodes.md b/docs/private-networks/how-to/configure/bootnodes.md
index d0e02ec6b14..2805e7e1afc 100644
--- a/docs/private-networks/how-to/configure/bootnodes.md
+++ b/docs/private-networks/how-to/configure/bootnodes.md
@@ -24,7 +24,7 @@ To find peers, configure one or more bootnodes. To configure a specific set of p
:::note Mainnet and public testnets
-For Mainnet and the Sepolia and Holesky testnets, Besu has an internal list of enode URLs and uses this list automatically when you specify the [`--network`](../../../public-networks/reference/cli/options.md#network) option.
+For Mainnet and the Sepolia, Ephemery and Holesky testnets, Besu has an internal list of enode URLs and uses this list automatically when you specify the [`--network`](../../../public-networks/reference/cli/options.md#network) option.
:::
diff --git a/docs/private-networks/how-to/monitor/chainlens.md b/docs/private-networks/how-to/monitor/chainlens.md
index 695213eb9a3..418b8ed9243 100644
--- a/docs/private-networks/how-to/monitor/chainlens.md
+++ b/docs/private-networks/how-to/monitor/chainlens.md
@@ -72,7 +72,7 @@ The **Dashboard** page provides an aggregated view of network activities.
![`Chainlens_dashboard`](../../../assets/images/chainlens-dashboard.png)
The **Network** page provides an overview of the network status and connected peers.
-This page is disabled by default, and is only visible if you set `DISPLAY_NETWOR_TAB=enabled` using
+This page is disabled by default, and is only visible if you set `DISPLAY_NETWORK_TAB=enabled` using
the following command:
```bash
diff --git a/docs/public-networks/concepts/network-and-chain-id.md b/docs/public-networks/concepts/network-and-chain-id.md
index ae5f6afe213..c306afff239 100644
--- a/docs/public-networks/concepts/network-and-chain-id.md
+++ b/docs/public-networks/concepts/network-and-chain-id.md
@@ -42,6 +42,7 @@ Besu sets the chain ID (and by default the network ID) automatically, using eith
| `dev` | ETH | 2018 | 2018 | Development |
| `classic` | ETC | 61 | 1 | Production |
| `mordor` | ETC | 63 | 7 | Test |
+| `ephemery`| ETH | [dynamic](https://github.com/ephemery-testnet/ephemery-genesis/releases) | [dynamic](https://github.com/ephemery-testnet/ephemery-genesis/releases) | Test |
:::info
diff --git a/docs/public-networks/concepts/node-sync.md b/docs/public-networks/concepts/node-sync.md
index 99874a3b628..8a532b4f375 100644
--- a/docs/public-networks/concepts/node-sync.md
+++ b/docs/public-networks/concepts/node-sync.md
@@ -108,7 +108,7 @@ You need Besu version 22.4.3 or later to use checkpoint sync.
Checkpoint sync behaves like [snap sync](#snap-synchronization), but instead of syncing from the
genesis block, it syncs from a specific checkpoint block configured in the [Besu genesis file](genesis-file.md).
-Ethereum Mainnet and the Holesky testnet configurations already define default checkpoints, so you
+Ethereum Mainnet, Holesky, and Ephemery testnet configurations already define default checkpoints, so you
don't have to add this yourself.
For other networks, you can configure a checkpoint in the genesis file by specifying the block hash,
diff --git a/docs/public-networks/get-started/connect/testnet.md b/docs/public-networks/get-started/connect/testnet.md
index 689c7399909..b631a19a4be 100644
--- a/docs/public-networks/get-started/connect/testnet.md
+++ b/docs/public-networks/get-started/connect/testnet.md
@@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem';
# Connect to a testnet
-Run Besu as an [execution client](../../concepts/node-clients.md#execution-clients) with any consensus client on the [Holesky](https://github.com/eth-clients/holesky) and [Sepolia](https://github.com/eth-clients/sepolia) testnets.
+Run Besu as an [execution client](../../concepts/node-clients.md#execution-clients) with any consensus client on the [Holesky](https://github.com/eth-clients/holesky), [Sepolia](https://github.com/eth-clients/sepolia), and [Ephemery](https://github.com/ephemery-testnet/ephemery-resources) testnets.
If you're using [Teku](https://docs.teku.consensys.net/en/latest/) as a consensus client, you can follow the [Besu and Teku testnet tutorial](../../tutorials/besu-teku-testnet.md).
@@ -21,6 +21,14 @@ Sepolia is a permissioned network and you can't run a validator client on it wit
:::
+:::note
+
+Ephemery is a single network that resets to the genesis block after a set period. The network focuses on
+short-term, intensive testing use cases. This approach avoids issues like insufficient testnet funds, inactive
+validators, and state bloat that long-running testnets face.
+
+:::
+
## Prerequisites
- [Besu installed](../install/binary-distribution.md).
@@ -42,7 +50,7 @@ You will specify `jwtsecret.hex` when starting Besu and the consensus client. Th
If you're running the consensus client as a beacon node only, skip to the [next step](#3-start-besu).
-If you're also running the consensus client as a validator client, create a test Ethereum address (you can do this in [MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015289452-How-to-create-an-additional-account-in-your-wallet)). Fund this address with testnet ETH (32 ETH and gas fees for each validator) using a faucet. See the list of [Holesky faucets](https://github.com/eth-clients/holesky) and [Sepolia faucets](https://github.com/eth-clients/sepolia#meta-data-sepolia).
+If you're also running the consensus client as a validator client, create a test Ethereum address (you can do this in [MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015289452-How-to-create-an-additional-account-in-your-wallet)). Fund this address with testnet ETH (32 ETH and gas fees for each validator) using a faucet. See the list of [Holesky faucets](https://github.com/eth-clients/holesky), [Sepolia faucets](https://github.com/eth-clients/sepolia#meta-data-sepolia), and [Ephemery faucets](https://ephemery-faucet.pk910.de/).
:::note
@@ -50,7 +58,7 @@ If you can't get testnet ETH using the faucet, you can ask for help on the [EthS
:::
-Generate validator keys for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/) (or [request to become validator on Sepolia](https://notes.ethereum.org/zvkfSmYnT0-uxwwEegbCqg)).
+Generate validator keys for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/), [Ephemery Staking Launchpad](https://launchpad.ephemery.dev/), or [request to become validator on Sepolia](https://notes.ethereum.org/zvkfSmYnT0-uxwwEegbCqg).
:::info
@@ -100,6 +108,23 @@ besu \
+
+
+ ```bash
+ besu \
+ --network=ephemery \
+ --rpc-http-enabled=true \
+ --rpc-http-host=0.0.0.0 \
+ --rpc-http-cors-origins="*" \
+ --rpc-ws-enabled=true \
+ --rpc-ws-host=0.0.0.0 \
+ --host-allowlist="*" \
+ --engine-host-allowlist="*" \
+ --engine-rpc-enabled \
+ --engine-jwt-secret=
+ ```
+
+
Specify the path to the `jwtsecret.hex` file generated in [step 1](#1-generate-the-shared-secret) using the [`--engine-jwt-secret`](../../reference/cli/options.md#engine-jwt-secret) option.
@@ -160,6 +185,6 @@ If you're running the consensus client as a beacon node only, you're all set. If
### 6. Stake ETH
-Stake your testnet ETH for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/).
+Stake your testnet ETH for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/) or [Ephemery Staking Launchpad](https://launchpad.ephemery.dev/).
-You can check your validator status by searching your Ethereum address on the [Holesky Beacon Chain explorer](https://holesky.beaconcha.in/). It may take up to multiple days for your validator to be activated and start proposing blocks.
+You can check your validator status by searching your Ethereum address on the [Holesky Beacon Chain explorer](https://holesky.beaconcha.in/) or [Ephemery Beacon Chain explorer](https://beaconchain.ephemery.dev/). It may take up to multiple days for your validator to be activated and start proposing blocks.
diff --git a/docs/public-networks/get-started/start-node.md b/docs/public-networks/get-started/start-node.md
index bc520b48ed5..ab3f01a7180 100644
--- a/docs/public-networks/get-started/start-node.md
+++ b/docs/public-networks/get-started/start-node.md
@@ -24,7 +24,7 @@ To delete the local block data, delete the `database` directory in the `besu/bui
## Genesis configuration
-Besu specifies the genesis configuration, and sets the network ID and bootnodes when connecting to [Holesky](#run-a-node-on-holesky-testnet), [Sepolia](#run-a-node-on-sepolia-testnet), and [Mainnet](#run-a-node-on-ethereum-mainnet).
+Besu specifies the genesis configuration, and sets the network ID and bootnodes when connecting to [Holesky](#run-a-node-on-holesky-testnet), [Sepolia](#run-a-node-on-sepolia-testnet), [Ephemery](#run-a-node-on-ephemery-testnet) and [Mainnet](#run-a-node-on-ethereum-mainnet).
:::info
@@ -104,6 +104,18 @@ Where `` and `` are the path and directory to save the S
See the [guide on connecting to a testnet](connect/testnet.md) for more information.
+## Run a node on Ephemery testnet
+
+To run a node on [Ephemery](https://github.com/ephemery-testnet/ephemery-resources?tab=readme-ov-file) specifying a data directory:
+
+```bash
+besu --network=ephemery --data-path=/
+```
+
+Where `` and `` are the path and directory to save the Ephemery chain data to.
+
+See the [guide on connecting to a testnet](connect/testnet.md) for more information.
+
## Run a node on Ethereum Mainnet
To run a node on the Ethereum Mainnet:
diff --git a/docs/public-networks/index.md b/docs/public-networks/index.md
index 02fcda2d210..a3a601bc6d4 100644
--- a/docs/public-networks/index.md
+++ b/docs/public-networks/index.md
@@ -9,7 +9,7 @@ tags:
# Besu for public networks
-Besu serves as an [execution client](concepts/node-clients.md#execution-clients) on public proof-of-stake Ethereum networks such as Ethereum Mainnet, Holesky, and Sepolia.
+Besu serves as an [execution client](concepts/node-clients.md#execution-clients) on public proof-of-stake Ethereum networks such as Ethereum Mainnet, Holesky, Ephemery, and Sepolia.
You can also run Besu using proof of work on [Ethereum Classic (ETC)](how-to/use-pow/mining.md).
diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md
index 7c7b95c7421..17d1d4b72c9 100644
--- a/docs/public-networks/reference/cli/options.md
+++ b/docs/public-networks/reference/cli/options.md
@@ -2688,6 +2688,7 @@ Possible values include the following:
| `dev` | ETH | Development | [`FULL`](#sync-mode) | A PoW network | Development network with low difficulty to enable local CPU mining |
| `classic` | ETC | Production | [`SNAP`](#sync-mode) | A PoW network | The main [Ethereum Classic network](https://ethereumclassic.org) |
| `mordor ` | ETC | Test | [`SNAP`](#sync-mode) | A PoW network | Testnet for [Ethereum Classic](https://github.com/eth-classic/mordor) |
+| `ephemery` | ETH | Test | [`SNAP`](#sync-mode) | A PoS network | Multi-client testnet [Ephemery](https://ephemery.dev) |
:::tip
diff --git a/docs/public-networks/tutorials/besu-teku-testnet.md b/docs/public-networks/tutorials/besu-teku-testnet.md
index 7b554f08043..2841cf2fb87 100644
--- a/docs/public-networks/tutorials/besu-teku-testnet.md
+++ b/docs/public-networks/tutorials/besu-teku-testnet.md
@@ -1,7 +1,7 @@
---
title: Run Besu and Teku on a testnet
sidebar_position: 2
-description: Run Besu and Teku on Holesky or Sepolia testnet.
+description: Run Besu and Teku on Holesky, Ephemery, or Sepolia testnet.
tags:
- public networks
---
@@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem';
# Run Besu and Teku on a testnet
-Run Besu as an [execution client](../concepts/node-clients.md#execution-clients) and [Teku](https://docs.teku.consensys.net/) as a [consensus client](../concepts/node-clients.md#consensus-clients) on the [Holesky](https://github.com/eth-clients/holesky) and [Sepolia](https://github.com/eth-clients/sepolia) Ethereum testnets.
+Run Besu as an [execution client](../concepts/node-clients.md#execution-clients) and [Teku](https://docs.teku.consensys.net/) as a [consensus client](../concepts/node-clients.md#consensus-clients) on the [Holesky](https://github.com/eth-clients/holesky), [Ephemery](https://github.com/ephemery-testnet/ephemery-resources), and [Sepolia](https://github.com/eth-clients/sepolia) Ethereum testnets.
:::note
@@ -41,7 +41,7 @@ You will specify `jwtsecret.hex` when starting Besu and Teku. This is a shared J
If you're running Teku as a beacon node only, skip to the [next step](#4-start-besu).
-If you're also running Teku as a validator client, create a test Ethereum address (you can do this in [MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015289452-How-to-create-an-additional-account-in-your-wallet)). Fund this address with testnet ETH (32 ETH and gas fees for each validator) using a faucet. See the list of [Holesky faucets](https://github.com/eth-clients/holesky) and [Sepolia faucets](https://github.com/eth-clients/sepolia#meta-data-sepolia).
+If you're also running Teku as a validator client, create a test Ethereum address (you can do this in [MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015289452-How-to-create-an-additional-account-in-your-wallet)). Fund this address with testnet ETH (32 ETH and gas fees for each validator) using a faucet. See the list of [Holesky faucets](https://github.com/eth-clients/holesky), [Ephemery faucets](https://ephemery-faucet.pk910.de/), and [Sepolia faucets](https://github.com/eth-clients/sepolia#meta-data-sepolia).
:::note
@@ -49,7 +49,7 @@ If you can't get ETH using the faucet, you can ask for help on the [EthStaker Di
:::
-Generate validator keys for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/) (or [request to become validator on Sepolia](https://notes.ethereum.org/zvkfSmYnT0-uxwwEegbCqg)).
+Generate validator keys for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/), [Ephemery Staking Launchpad](https://launchpad.ephemery.dev/) (or [request to become validator on Sepolia](https://notes.ethereum.org/zvkfSmYnT0-uxwwEegbCqg)).
:::info
@@ -97,6 +97,23 @@ besu \
+
+
+```bash
+besu \
+ --network=ephemery \
+ --rpc-http-enabled=true \
+ --rpc-http-cors-origins="*" \
+ --rpc-ws-enabled=true \
+ --p2p-host= \
+ --host-allowlist="*" \
+ --engine-host-allowlist="*" \
+ --engine-rpc-enabled \
+ --engine-jwt-secret=
+```
+
+
+
Specify the path to the `jwtsecret.hex` file generated in [step 2](#2-generate-the-shared-secret) using the [`--engine-jwt-secret`](../reference/cli/options.md#engine-jwt-secret) option.
@@ -143,6 +160,21 @@ teku \
+
+
+```bash
+teku \
+ --network=ephemery \
+ --ee-endpoint=http://localhost:8551 \
+ --ee-jwt-secret-file= \
+ --metrics-enabled=true \
+ --rest-api-enabled=true \
+ --p2p-advertised-ip= \
+ --checkpoint-sync-url=
+```
+
+
+
Specify:
@@ -249,9 +281,9 @@ If you're running Teku as a beacon node only, you're all set. If you're also run
## 7. Stake ETH
-Stake your testnet ETH for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/).
+Stake your testnet ETH for one or more validators using the [Holesky Staking Launchpad](https://holesky.launchpad.ethereum.org/) or [Ephemery Staking Launchpad](https://launchpad.ephemery.dev/).
-You can check your validator status by searching your Ethereum address on the [Holesky Beacon Chain explorer](https://holesky.beaconcha.in/). It may take up to multiple days for your validator to be activated and start proposing blocks.
+You can check your validator status by searching your Ethereum address on the [Holesky Beacon Chain explorer](https://holesky.beaconcha.in/) or [Ephemery Beacon Chain explorer](https://beaconchain.ephemery.dev/). It may take up to multiple days for your validator to be activated and start proposing blocks.
diff --git a/src/components/HomepageCards/index.tsx b/src/components/HomepageCards/index.tsx
index 4c62518a4b4..cef20cbfb4e 100644
--- a/src/components/HomepageCards/index.tsx
+++ b/src/components/HomepageCards/index.tsx
@@ -26,7 +26,7 @@ const CardList: CardItem[] = [
// prettier-ignore
description: (
<>
- Run Besu as an execution client on Ethereum Mainnet and Ethereum public testnets, such as Holesky and Sepolia.
+ Run Besu as an execution client on Ethereum Mainnet and Ethereum public testnets, such as Holesky, Ephemery, and Sepolia.
>
),
buttonName: "Get started",