diff --git a/docs/private-networks/concepts/node-sync-private.md b/docs/private-networks/concepts/node-sync-private.md
index e28c2f124d6..6ea0ef330dd 100644
--- a/docs/private-networks/concepts/node-sync-private.md
+++ b/docs/private-networks/concepts/node-sync-private.md
@@ -24,9 +24,9 @@ Select the sync mode based on your network's requirements and node purposes.
| Sync mode | Description | Requirements | Limitations |
|--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|-------------|
-| [Snap](../../public-networks/concepts/node-sync.md#snap-synchronization) | Recommended for fastest sync and lowest storage requirements on Mainnet. Downloads as many leaves of the trie as possible and reconstructs the trie locally. Faster than fast sync. | Available as an _early access feature_ in Besu version 24.7.1 or later | Cannot switch from fast sync to snap sync mid-process. |
+| [Snap](../../public-networks/concepts/node-sync.md#snap-synchronization) | Recommended for fastest sync and lowest storage requirements on Mainnet. Downloads as many leaves of the trie as possible and reconstructs the trie locally. Faster than fast sync. | Besu version 24.3.0 or later | Cannot switch from fast sync to snap sync mid-process. |
| [Checkpoint](../../public-networks/concepts/node-sync.md#checkpoint-synchronization) | Syncs from a specific checkpoint block configured in the genesis file. Fastest sync mode with lowest storage requirements. | Besu version 22.4.3 or later | Not supported for QBFT or IBFT 2.0 networks without a checkpoint configuration. |
-| [Fast](../../public-networks/concepts/node-sync.md#fast-synchronization-deprecated) | Downloads block headers and transaction receipts, verifies chain from genesis block. | None | Not supported with private transactions. |
+| [Fast](../../public-networks/concepts/node-sync.md#fast-synchronization-deprecated) | Downloads block headers and transaction receipts, verifies chain from genesis block. | None | Deprecated. Not supported with private transactions. |
| [Full](../../public-networks/concepts/node-sync.md#full-synchronization) | Default for all private networks. Downloads and verifies the entire blockchain and state from genesis block, building an archive node with full state history. | None | Slowest sync mode, requires the most disk space. |
:::warning Early access feature
diff --git a/docs/private-networks/concepts/pki.md b/docs/private-networks/concepts/pki.md
deleted file mode 100644
index f2555d544b9..00000000000
--- a/docs/private-networks/concepts/pki.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: Public key infrastructure
-sidebar_position: 5
-description: Public key infrastructure
-tags:
- - private networks
----
-
-# Public key infrastructure
-
-:::warning
-
-Public key infrastructure (PKI) support is an early access feature, and functionality and options may be updated between releases.
-
-:::
-
-Besu's public key infrastructure allows you to use certificates issued by a trusted authority to manage node and account identities in the following ways:
-
-- Node permissioning - Only authorized nodes can connect to other nodes in the network using TLS for the P2P communication.
-- Block proposal permissioning - Only blocks proposed by authorized validators are accepted.
-
-Supported keystore and truststore formats used to store the certificates include PKCS11, PKCS12, and JKS.
-
-## Node permissioning
-
-Allow TLS communication between nodes by using certificates issued by a trusted authority to connect to other authorized nodes in the network.
-
-When receiving connection requests, the incoming connection must be from another authorized node. Similarly, when connecting to a node the initiator ensures that the remote node is authorized to participate in the network.
-
-[Configure TLS for the P2P communication using the Besu command line options](../how-to/configure/tls/p2p.md).
-
-
diff --git a/docs/private-networks/how-to/configure/tls/p2p.md b/docs/private-networks/how-to/configure/tls/p2p.md
deleted file mode 100644
index 1f7a89e26bb..00000000000
--- a/docs/private-networks/how-to/configure/tls/p2p.md
+++ /dev/null
@@ -1,312 +0,0 @@
----
-title: Peer-to-peer TLS
-sidebar_position: 2
-description: Configure P2P TLS communication
-tags:
- - private networks
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Configure P2P TLS
-
-You can configure TLS to secure the P2P communication between nodes by ensuring only authorized nodes can communicate with each other. Use certificates issued by a trusted authority to connect authorized nodes in the network.
-
-:::caution
-
-P2P TLS is an early access feature, and functionality and options may be updated between releases.
-
-:::
-
-Besu supports PKCS11, PKCS12, and JKS keystore and truststore types for P2P TLS.
-
-## Configure P2P TLS
-
-**Prerequisites**:
-
-- A configured network. For example, [see steps 1 to 5 in the QBFT tutorial](../../../tutorials/qbft.md).
-- Each node requires a keystore that contains the node's certificate and key.
-- A truststore containing all the trusted certificates for the network.
-
-Start Besu and include the following command line options on the required nodes:
-
-```bash
-besu --Xp2p-tls-enabled=true \
---Xp2p-tls-keystore-type="PKCS12" \
---Xp2p-tls-keystore-file="keystore" \
---Xp2p-tls-keystore-password-file="keystore.password" \
---Xp2p-tls-crl-file="crl2.pem" \
---Xp2p-tls-truststore-type="JKS" \
---Xp2p-tls-truststore-file="truststore.jks" \
---Xp2p-tls-truststore-password-file="truststore_password.txt"
-```
-
-In the command line:
-
-- Enable TLS for P2P communication using [`--Xp2p-tls-enabled=true`](#xp2p-tls-enabled).
-- Specify the keystore type and keystore file using [`--Xp2p-tls-keystore-type`](#xp2p-tls-keystore-type) and [`--Xp2p-tls-keystore-file`](#xp2p-tls-keystore-file).
-- Specify the text file containing the password to unlock the keystore file using [`--Xp2p-tls-keystore-password-file`](#xp2p-tls-keystore-password-file).
-- Specify the optional [certificate revocation list (CRL)] file using [`--Xp2p-tls-crl-file`](#xp2p-tls-crl-file).
-- Specify the truststore type and truststore file using [`--Xp2p-tls-truststore-type`](#xp2p-tls-truststore-type) and [`--Xp2p-tls-truststore-file`](#xp2p-tls-truststore-file).
-- Specify the text file containing the password to unlock the truststore file using [`--Xp2p-tls-truststore-password-file`](#xp2p-tls-keystore-password-file).
-
-## Command line options
-
-### `Xp2p-tls-crl-file`
-
-
-
-
-
-```bash
---Xp2p-tls-crl-file=
-```
-
-
-
-
-
-```bash
---Xp2p-tls-crl-file=/home/cert/cert.crl.pem
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_CRL_FILE=/home/cert/cert.crl.pem
-```
-
-
-
-
-
-Path to the optional certificate revocation list (CRL) file.
-
-### `Xp2p-tls-enabled`
-
-
-
-
-
-```bash
---Xp2p-tls-enabled[=]
-```
-
-
-
-
-
-```bash
---Xp2p-tls-enabled=true
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_ENABLED=true
-```
-
-
-
-
-
-Enable TLS for P2P communication. The default is `false`.
-
-### `Xp2p-tls-keystore-file`
-
-
-
-
-
-```bash
---Xp2p-tls-keystore-file=
-```
-
-
-
-
-
-```bash
---Xp2p-tls-keystore-file=/home/cert/keystore.jks
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_KEYSTORE_FILE=/home/cert/keystore.jks
-```
-
-
-
-
-
-Keystore file containing the key and certificate to allow TLS for P2P communication.
-
-### `Xp2p-tls-keystore-password-file`
-
-
-
-
-
-```bash
---Xp2p-tls-keystore-password-file=
-```
-
-
-
-
-
-```bash
---Xp2p-tls-keystore-password-file=/home/cert/password.txt
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_KEYSTORE_PASSWORD_FILE=/home/cert/password.txt
-```
-
-
-
-
-
-Text file containing the password to unlock the keystore file.
-
-### `Xp2p-tls-keystore-type`
-
-
-
-
-
-```bash
---Xp2p-tls-keystore-type=
-```
-
-
-
-
-
-```bash
---Xp2p-tls-keystore-type=JKS
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_KEYSTORE_TYPE=JKS
-```
-
-
-
-
-
-Keystore type that allows TLS for P2P communication. Valid options are `JKS`, `PKCS11`, and `PKCS12`. The default is `JKS`.
-
-### `Xp2p-tls-truststore-file`
-
-
-
-
-
-```bash
---Xp2p-tls-truststore-file=
-```
-
-
-
-
-
-```bash
---Xp2p-tls-truststore-file=/home/cert/truststore.jks
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_TRUSTSTORE_FILE=/home/cert/truststore.jks
-```
-
-
-
-
-
-Truststore containing the trusted certificates that allows TLS for P2P communication.
-
-### `Xp2p-tls-truststore-password-file`
-
-
-
-
-
-```bash
---Xp2p-tls-truststore-password-file=
-```
-
-
-
-
-
-```bash
---Xp2p-tls-truststore-password-file=/home/cert/password.txt
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_TRUSTSTORE_PASSWORD_FILE=/home/cert/password.txt
-```
-
-
-
-
-
-Text file containing the password to unlock the truststore file.
-
-### `Xp2p-tls-truststore-type`
-
-
-
-
-
-```bash
---Xp2p-tls-truststore-type=
-```
-
-
-
-
-
-```bash
---Xp2p-tls-truststore-type=JKS
-```
-
-
-
-
-
-```bash
-BESU_XP2P_TLS_TRUSTSTORE_TYPE=JKS
-```
-
-
-
-
-
-Truststore type. Valid options are `JKS`, `PKCS11`, and `PKCS12`. The default is `JKS`.
-
-[certificate revocation list (CRL)]: https://www.securew2.com/blog/certificate-revocation-crl-explained
diff --git a/docs/private-networks/tutorials/ethash.md b/docs/private-networks/tutorials/ethash.md
index a16d164982c..25138fe603d 100644
--- a/docs/private-networks/tutorials/ethash.md
+++ b/docs/private-networks/tutorials/ethash.md
@@ -9,7 +9,13 @@ tags:
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
-# Create a private network using Ethash
+# Create a private network using Ethash (Deprecated)
+
+:::caution
+
+PoW consensus is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options.
+
+:::
A private network provides a configurable network for testing. By configuring a low difficulty and enabling mining, this allows for fast block creation.
diff --git a/docs/private-networks/tutorials/kubernetes/playground.md b/docs/private-networks/tutorials/kubernetes/playground.md
index b2561ddc6fe..6206162e46f 100644
--- a/docs/private-networks/tutorials/kubernetes/playground.md
+++ b/docs/private-networks/tutorials/kubernetes/playground.md
@@ -15,7 +15,7 @@ The [playground](https://github.com/ConsenSys/quorum-kubernetes/tree/master/play
1. Navigate to the playground [`README`](https://github.com/ConsenSys/quorum-kubernetes/tree/master/playground).
1. Ensure that your system meets the requirements specified.
1. Choose your Ethereum client (Besu or GoQuorum): `quorum-besu` or `quorum-go`.
-1. Choose your consensus algorithm. The playground supports Clique, Ethash (PoW), and IBFT2 for Besu, and IBFT for GoQuorum.
+1. Choose your consensus algorithm. The playground supports Clique, Ethash (PoW, deprecated), and IBFT2 for Besu, and IBFT for GoQuorum.
1. Follow the instructions from the `README` for the chosen client and consensus algorithm folder.
## Important notes
diff --git a/docs/public-networks/how-to/use-pow/mining.md b/docs/public-networks/how-to/use-pow/mining.md
index ce8e30091e3..9cd8b806b08 100644
--- a/docs/public-networks/how-to/use-pow/mining.md
+++ b/docs/public-networks/how-to/use-pow/mining.md
@@ -7,7 +7,13 @@ tags:
- private networks
---
-# Configure mining
+# Configure mining (Deprecated)
+
+:::caution
+
+PoW consensus is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options.
+
+:::
Besu supports CPU and GPU mining, which are configured using command line options.
@@ -30,7 +36,7 @@ besu --rpc-http-api=ETH,MINER --miner-enabled --miner-coinbase=
Where `` is the account you pay mining rewards to. For example, `fe3b557e8fb62b89f4916b721be55ceb828dbd73`.
-Start and stop mining using the [`miner_start`](../../reference/api/index.md#miner_start) and [`miner_stop`](../../reference/api/index.md#miner_stop) APIs.
+Start and stop mining using the [`miner_start`](../../reference/api/index.md#miner_start-deprecated) and [`miner_stop`](../../reference/api/index.md#miner_stop-deprecated) APIs.
## Configure GPU mining
@@ -46,30 +52,30 @@ Where `` is the account you pay mining rewards to. For example, `fe3b55
Optional command line options are:
-- [`--miner-stratum-host`](../../reference/cli/options.md#miner-stratum-host) to specify the host of the mining service.
-- [`--miner-stratum-port`](../../reference/cli/options.md#miner-stratum-port) to specify the port of the mining service.
+- [`--miner-stratum-host`](../../reference/cli/options.md#miner-stratum-host-deprecated) to specify the host of the mining service.
+- [`--miner-stratum-port`](../../reference/cli/options.md#miner-stratum-port-deprecated) to specify the port of the mining service.
:::note
-Besu also supports the `getwork` scheme. Use the [`--miner-stratum-enabled`](../../reference/cli/options.md#miner-stratum-enabled) option and [enable the `ETH` RPCs](../../reference/cli/options.md#rpc-http-api).
+Besu also supports the `getwork` scheme. Use the [`--miner-stratum-enabled`](../../reference/cli/options.md#miner-stratum-enabled-deprecated) option and [enable the `ETH` RPCs](../../reference/cli/options.md#rpc-http-api).
The `getwork` scheme is supported as the `http` scheme in certain mining software.
:::
-Start and stop mining using the [`miner_start`](../../reference/api/index.md#miner_start) and [`miner_stop`](../../reference/api/index.md#miner_stop) APIs.
+Start and stop mining using the [`miner_start`](../../reference/api/index.md#miner_start-deprecated) and [`miner_stop`](../../reference/api/index.md#miner_stop-deprecated) APIs.
## Mining APIs
The JSON-RPC API methods for mining are:
-- [`miner_start`](../../reference/api/index.md#miner_start) to start mining.
-- [`miner_stop`](../../reference/api/index.md#miner_stop) to stop mining.
-- [`eth_mining`](../../reference/api/index.md#eth_mining) to determine whether the client is actively mining new blocks.
-- [`eth_getMinerDataByBlockHash`](../../reference/api/index.md#eth_getminerdatabyblockhash) and [`eth_getMinerDataByBlockNumber`](../../reference/api/index.md#eth_getminerdatabyblocknumber) to get the miner data for a specified block.
-- [`eth_hashrate`](../../reference/api/index.md#eth_hashrate) to get the number of hashes per second with which the node is mining. Not supported for GPU mining.
-- [`eth_getWork`](../../reference/api/index.md#eth_getwork) to get the hash of the current block, the seed hash, and the target boundary condition. Only used when using the `getwork` scheme.
-- [`eth_submitWork`](../../reference/api/index.md#eth_submitwork) to submit the PoW solution. Only used when using the `getwork` scheme.
+- [`miner_start`](../../reference/api/index.md#miner_start-deprecated) to start mining.
+- [`miner_stop`](../../reference/api/index.md#miner_stop-deprecated) to stop mining.
+- [`eth_mining`](../../reference/api/index.md#eth_mining-deprecated) to determine whether the client is actively mining new blocks.
+- [`eth_getMinerDataByBlockHash`](../../reference/api/index.md#eth_getminerdatabyblockhash-deprecated) and [`eth_getMinerDataByBlockNumber`](../../reference/api/index.md#eth_getminerdatabyblocknumber) to get the miner data for a specified block.
+- [`eth_hashrate`](../../reference/api/index.md#eth_hashrate-deprecated) to get the number of hashes per second with which the node is mining. Not supported for GPU mining.
+- [`eth_getWork`](../../reference/api/index.md#eth_getwork-deprecated) to get the hash of the current block, the seed hash, and the target boundary condition. Only used when using the `getwork` scheme.
+- [`eth_submitWork`](../../reference/api/index.md#eth_submitwork-deprecated) to submit the PoW solution. Only used when using the `getwork` scheme.
## Troubleshoot
diff --git a/docs/public-networks/index.md b/docs/public-networks/index.md
index a3a601bc6d4..d823cbc0af8 100644
--- a/docs/public-networks/index.md
+++ b/docs/public-networks/index.md
@@ -11,8 +11,6 @@ tags:
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).
-
Get started by [installing Besu](get-started/install/index.md).
## Architecture
diff --git a/docs/public-networks/reference/api/index.md b/docs/public-networks/reference/api/index.md
index 6e6b31122b2..44aa8d1312c 100644
--- a/docs/public-networks/reference/api/index.md
+++ b/docs/public-networks/reference/api/index.md
@@ -4135,7 +4135,7 @@ curl -X POST -H "Content-Type: application/json" --data '{"query": "{logs(filter
-### `eth_getMinerDataByBlockHash`
+### `eth_getMinerDataByBlockHash` (Deprecated)
Returns miner data for the specified block.
@@ -5506,7 +5506,7 @@ curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(numb
-### `eth_getWork`
+### `eth_getWork` (Deprecated)
Returns the hash of the current block, the seed hash, and the required target boundary condition.
@@ -5563,7 +5563,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getWork","params":[],"id":1}
-### `eth_hashrate`
+### `eth_hashrate` (Deprecated)
Returns the number of hashes per second with which the node is mining.
@@ -5653,7 +5653,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_maxPriorityFeePerGas","param
-### `eth_mining`
+### `eth_mining` (Deprecated)
Whether the client is actively mining new blocks. Besu pauses mining while the client synchronizes with the network regardless of command settings or methods called.
@@ -6018,7 +6018,7 @@ mutation {
-### `eth_submitHashrate`
+### `eth_submitHashrate` (Deprecated)
Submits the mining hashrate. This is used by mining software such as [Ethminer](https://github.com/ethereum-mining/ethminer).
@@ -6072,7 +6072,7 @@ curl -X POST --data '{"jsonrpc":"2.0", "method":"eth_submitHashrate", "params":[
-### `eth_submitWork`
+### `eth_submitWork` (Deprecated)
Submits a proof of work (Ethash) solution. This is used by mining software such as [Ethminer](https://github.com/ethereum-mining/ethminer).
@@ -6696,7 +6696,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"miner_setMinPriorityFee","params
-### `miner_start`
+### `miner_start` (Deprecated)
Starts the mining process.
To start mining, you must first specify a miner coinbase using the [`--miner-coinbase`](../cli/options.md#miner-coinbase) command line option or using [`miner_setCoinbase`](#miner_setcoinbase).
@@ -6741,7 +6741,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":[],"id":1}
-### `miner_stop`
+### `miner_stop` (Deprecated)
Stops the mining process on the client.
diff --git a/docs/public-networks/reference/api/objects.md b/docs/public-networks/reference/api/objects.md
index e9c8d9c78b3..8fe8317d23f 100644
--- a/docs/public-networks/reference/api/objects.md
+++ b/docs/public-networks/reference/api/objects.md
@@ -91,7 +91,7 @@ Returned by [`eth_getFilterChanges`](index.md#eth_getfilterchanges) and [`priv_g
## Miner data object
-Returned by [`eth_getMinerDataByBlockHash`](index.md#eth_getminerdatabyblockhash) and [`eth_getMinerDataByBlockNumber`](index.md#eth_getminerdatabyblocknumber).
+Returned by [`eth_getMinerDataByBlockHash`](index.md#eth_getminerdatabyblockhash-deprecated) and [`eth_getMinerDataByBlockNumber`](index.md#eth_getminerdatabyblocknumber).
| Key | Type | Value |
| --- | :-: | --- |
diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md
index 37977a000a6..e3fc246cbdf 100644
--- a/docs/public-networks/reference/cli/options.md
+++ b/docs/public-networks/reference/cli/options.md
@@ -2335,7 +2335,7 @@ miner-coinbase="0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
The account you pay mining rewards to.
You must specify a valid coinbase when you enable mining using the
-[`--miner-enabled`](#miner-enabled) option or the [`miner_start`](../api/index.md#miner_start)
+[`--miner-enabled`](#miner-enabled) option or the [`miner_start`](../api/index.md#miner_start-deprecated)
JSON-RPC API method.
:::note
@@ -2427,7 +2427,7 @@ miner-extra-data="0x444F4E27542050414E4943202120484F444C2C20484F444C2C20484F444C
A hex string representing the 32 bytes included in the extra data field of a created block.
The default is `0x`.
-### `miner-stratum-enabled`
+### `miner-stratum-enabled` (Deprecated)
@@ -2460,7 +2460,7 @@ miner-stratum-enabled=true
Enables a node to perform stratum mining.
The default is `false`.
-### `miner-stratum-host`
+### `miner-stratum-host` (Deprecated)
@@ -2501,7 +2501,7 @@ miner-stratum-host="192.168.1.132"
The host of the stratum mining service.
The default is `0.0.0.0`.
-### `miner-stratum-port`
+### `miner-stratum-port` (Deprecated)
@@ -2569,7 +2569,7 @@ Specify the method for handling [NAT environments](../../how-to/connect/specify-
- [`UPNP`](../../how-to/connect/specify-nat.md#upnp)
- [`UPNPP2PONLY`](../../how-to/connect/specify-nat.md#upnp)
-- [`KUBERNETES`](../../how-to/connect/specify-nat.md#kubernetes)
+- [`KUBERNETES` (Deprecated)](../../how-to/connect/specify-nat.md#kubernetes)
- [`DOCKER`](../../how-to/connect/specify-nat.md#docker)
- [`AUTO`](../../how-to/connect/specify-nat.md#auto)
- [`NONE`](../../how-to/connect/specify-nat.md#none).