Skip to content
You are reading Hyperledger Besu development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.
Date of last update: August 19, 2022

Configure mining

Hyperledger Besu supports CPU and GPU mining, which are configured using command line options.

GPU mining tests used Ethminer with the stratum+tcp and getwork schemes.

Ethminer has been used with Hyperledger Besu to mine blocks on the Ropsten testnet, ETC Mainnet (uncle block only) and Mordor ETC testnet.

Notes

  • Some mining software supports the getwork scheme as the http scheme.

  • The Ropsten testnet is now deprecated. It transitioned to proof of stake consensus before deprecation.

Configure CPU mining

To enable CPU mining, start Hyperledger Besu with the following options:

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 and miner_stop APIs.

Configure GPU mining

Besu supports GPU mining, tested using Ethminer with the stratum+tcp scheme.

To enable GPU mining, start Hyperledger Besu with the following options:

besu --rpc-http-api=ETH,MINER --miner-enabled --miner-stratum-enabled --miner-coinbase=<account>

Where <account> is the account you pay mining rewards to. For example, fe3b557e8fb62b89f4916b721be55ceb828dbd73.

Optional command line options are:

Note

Besu also supports the getwork scheme. Use the --miner-stratum-enabled option and enable the ETH RPCs.

The getwork scheme is supported as the http scheme in certain mining software.

Start and stop mining using the miner_start and miner_stop APIs.

Mining APIs

The JSON-RPC API methods for mining are:

Hyperledger Besu mined blocks

Hyperledger Besu has successfully mined blocks on the Ropsten testnet, ETC Mainnet (uncle block only) and Mordor ETC testnet. Blocks mined by the Hyperledger Besu team contain the version number used in the block’s extraData field. The following accounts have been used to mine on public networks with Hyperledger Besu: