Skip to content

Commit

Permalink
PoW - deprecation warnings in docs for mining (#1736)
Browse files Browse the repository at this point in the history
Co-authored-by: Alexandra Tran <alexandra.tran@consensys.net>
  • Loading branch information
macfarla and Alexandra Tran authored Nov 28, 2024
1 parent 0e4c7d2 commit 354bad4
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 31 deletions.
8 changes: 7 additions & 1 deletion docs/private-networks/tutorials/ethash.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion docs/private-networks/tutorials/kubernetes/playground.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
32 changes: 19 additions & 13 deletions docs/public-networks/how-to/use-pow/mining.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -30,7 +36,7 @@ besu --rpc-http-api=ETH,MINER --miner-enabled --miner-coinbase=<account>

Where `<account>` 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

Expand All @@ -46,30 +52,30 @@ Where `<account>` 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

Expand Down
2 changes: 0 additions & 2 deletions docs/public-networks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 8 additions & 8 deletions docs/public-networks/reference/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4135,7 +4135,7 @@ curl -X POST -H "Content-Type: application/json" --data '{"query": "{logs(filter
</Tabs>
### `eth_getMinerDataByBlockHash`
### `eth_getMinerDataByBlockHash` (Deprecated)
Returns miner data for the specified block.
Expand Down Expand Up @@ -5506,7 +5506,7 @@ curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(numb
</Tabs>
### `eth_getWork`
### `eth_getWork` (Deprecated)
Returns the hash of the current block, the seed hash, and the required target boundary condition.
Expand Down Expand Up @@ -5563,7 +5563,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getWork","params":[],"id":1}
</Tabs>
### `eth_hashrate`
### `eth_hashrate` (Deprecated)
Returns the number of hashes per second with which the node is mining.
Expand Down Expand Up @@ -5653,7 +5653,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_maxPriorityFeePerGas","param
</Tabs>
### `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.
Expand Down Expand Up @@ -6018,7 +6018,7 @@ mutation {
</Tabs>
### `eth_submitHashrate`
### `eth_submitHashrate` (Deprecated)
Submits the mining hashrate. This is used by mining software such as [Ethminer](https://github.com/ethereum-mining/ethminer).
Expand Down Expand Up @@ -6072,7 +6072,7 @@ curl -X POST --data '{"jsonrpc":"2.0", "method":"eth_submitHashrate", "params":[
</Tabs>
### `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).
Expand Down Expand Up @@ -6696,7 +6696,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"miner_setMinPriorityFee","params
</Tabs>
### `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).
Expand Down Expand Up @@ -6741,7 +6741,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":[],"id":1}
</Tabs>
### `miner_stop`
### `miner_stop` (Deprecated)
Stops the mining process on the client.
Expand Down
2 changes: 1 addition & 1 deletion docs/public-networks/reference/api/objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
| --- | :-: | --- |
Expand Down
10 changes: 5 additions & 5 deletions docs/public-networks/reference/cli/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)

<Tabs>

Expand Down Expand Up @@ -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)

<Tabs>

Expand Down Expand Up @@ -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)

<Tabs>

Expand Down Expand Up @@ -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).
Expand Down

0 comments on commit 354bad4

Please sign in to comment.