Skip to content

ClassicBlockProcessor

Diego López León edited this page Jun 2, 2026 · 1 revision

ClassicBlockProcessor

Verdict: Byte-for-byte identical (executable logic)

ECIP-1017 era-based block rewards. Every constant (era length 5,000,000, the 4/5 disinflation factor, ommer/coinbase rewards) and formula is character-for-character identical. Differences are pure scaffolding: package, imports, MutableWorldState moved to plugin-api, visibility.

Native (pre-removal) ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicBlockProcessor.java @ 1167c5a544^
Plugin (current) src/main/java/org/hyperledger/besu/plugins/classic/protocol/ClassicBlockProcessor.java
Change +9 / -3 lines

Diff

--- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicBlockProcessor.java (1167c5a544^)
+++ b/src/main/java/org/hyperledger/besu/plugins/classic/protocol/ClassicBlockProcessor.java
@@ -12,13 +12,19 @@
  *
  * SPDX-License-Identifier: Apache-2.0
  */
-package org.hyperledger.besu.ethereum.mainnet;
+package org.hyperledger.besu.plugins.classic.protocol;
 
 import org.hyperledger.besu.datatypes.Wei;
 import org.hyperledger.besu.ethereum.core.BlockHeader;
-import org.hyperledger.besu.ethereum.core.MutableWorldState;
+import org.hyperledger.besu.ethereum.mainnet.AbstractBlockProcessor;
+import org.hyperledger.besu.ethereum.mainnet.AbstractBlockProcessor.TransactionReceiptFactory;
+import org.hyperledger.besu.ethereum.mainnet.BalConfiguration;
+import org.hyperledger.besu.ethereum.mainnet.MainnetTransactionProcessor;
+import org.hyperledger.besu.ethereum.mainnet.MiningBeneficiaryCalculator;
+import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule;
 import org.hyperledger.besu.evm.account.MutableAccount;
 import org.hyperledger.besu.evm.worldstate.WorldUpdater;
+import org.hyperledger.besu.plugin.services.worldstate.MutableWorldState;
 
 import java.math.BigInteger;
 import java.util.List;
@@ -56,7 +62,7 @@
   }
 
   @Override
-  boolean rewardCoinbase(
+  protected boolean rewardCoinbase(
       final MutableWorldState worldState,
       final BlockHeader header,
       final List<BlockHeader> ommers,

Auto-generated by generate-diffs.py · base 1167c5a544^ (commit before #9671, which removed ETC from Besu).

Clone this wiki locally