diff --git a/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/BlockMiner.java b/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/BlockMiner.java
index 2fb128c005..0c26dd20e7 100755
--- a/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/BlockMiner.java
+++ b/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/BlockMiner.java
@@ -24,19 +24,20 @@ import org.apache.logging.log4j.Logger;
*
This class is responsible for mining a single block only - the AbstractBlockCreator maintains
* state so must be destroyed between block mining activities.
*/
-public class BlockMiner implements Runnable {
+public class BlockMiner> implements Runnable {
private static final Logger LOG = LogManager.getLogger();
- private final AbstractBlockCreator blockCreator;
- private final ProtocolContext protocolContext;
+ protected final M blockCreator;
+ protected final ProtocolContext protocolContext;
+ protected final BlockHeader parentHeader;
+
private final ProtocolSchedule protocolSchedule;
private final Subscribers observers;
private final AbstractBlockScheduler scheduler;
- private final BlockHeader parentHeader;
public BlockMiner(
- final AbstractBlockCreator blockCreator,
+ final M blockCreator,
final ProtocolSchedule protocolSchedule,
final ProtocolContext protocolContext,
final Subscribers observers,
@@ -67,13 +68,13 @@ public class BlockMiner implements Runnable {
}
}
- private boolean mineBlock() throws InterruptedException {
+ protected boolean mineBlock() throws InterruptedException {
// Ensure the block is allowed to be mined - i.e. the timestamp on the new block is sufficiently
// ahead of the parent, and still within allowable clock tolerance.
- LOG.trace("Waiting for next block timestamp to be valid.");
+ LOG.trace("Started a mining operation.");
long newBlockTimestamp = scheduler.waitUntilNextBlockCanBeMined(parentHeader);
- LOG.trace("Started a mining operation.");
+ LOG.trace("Mining a new block with timestamp {}", newBlockTimestamp);
Block block = blockCreator.createBlock(newBlockTimestamp);
LOG.info(
"Block created, importing to local chain, block includes {} transactions",
diff --git a/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/EthHashBlockMiner.java b/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/EthHashBlockMiner.java
index b83311f6c1..4eb2903cca 100755
--- a/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/EthHashBlockMiner.java
+++ b/ethereum/core/src/main/java/net/consensys/pantheon/ethereum/blockcreation/EthHashBlockMiner.java
@@ -18,9 +18,7 @@ import java.util.Optional;
* All other aspects of mining (i.e. pre-block delays, block creation and importing to the chain)
* are all conducted by the parent class.
*/
-public class EthHashBlockMiner extends BlockMiner {
-
- private final EthHashBlockCreator blockCreator;
+public class EthHashBlockMiner extends BlockMiner {
public EthHashBlockMiner(
final EthHashBlockCreator blockCreator,
@@ -30,7 +28,6 @@ public class EthHashBlockMiner extends BlockMiner {
final AbstractBlockScheduler scheduler,
final BlockHeader parentHeader) {
super(blockCreator, protocolSchedule, protocolContext, observers, scheduler, parentHeader);
- this.blockCreator = blockCreator;
}
public Optional getWorkDefinition() {