Skip to content

Consensus & Ethash

The PoW engine: the ethash algorithm, sealer and verifier, plus the ETC consensus wrapper that applies ECIP-1017 era rewards.

Nature Count
🔄 Revived (from upstream pre-purge) 99
✏️ In-place (modified on upstream) 1
🆕 New (fork-only, no upstream pedigree) 9

🔄 Revived (from upstream pre-purge)

Code upstream deleted, transplanted back from the commit just before its removal.

Change Kind Origin Δ vs origin
API symbol purge3 view
API.GetHashrate symbol purge3 view
API.GetWork symbol purge3 view
API.SubmitHashrate symbol purge3 view
API.SubmitWork symbol purge3 view
CalcEpoch symbol core_geth view
CalcEpochLength symbol core_geth view
Config symbol purge3 +2 -0 view
ETCEngine.VerifyHeaders (parallel) symbol purge3 +6 -11 view
ETCEngine.VerifyUncles symbol purge3 +5 -8 view
ETCEngine.verifyHeader symbol purge3 +21 -27 view
ETCEngine.verifyHeaderWorker symbol purge3 +4 -2 view
ETCEngine.verifyUncleHeader symbol purge3 +17 -32 view
Ethash symbol purge3 +1 -1 view
Ethash.APIs symbol purge3 view
Ethash.Close symbol purge3 view
Ethash.Hashrate symbol purge3 +6 -3 view
Ethash.Seal symbol purge3 +29 -0 view
Ethash.SetThreads symbol purge3 view
Ethash.StopRemoteSealer symbol purge3 view
Ethash.Threads symbol purge3 view
Ethash.cache symbol purge3 +3 -2 view
Ethash.dataset symbol purge3 +8 -2 view
Ethash.makePoissonFakeDelay symbol core_geth view
Ethash.mine symbol purge3 view
Ethash.verifySeal symbol purge3 +4 -3 view
MakeCache symbol purge3 +3 -2 view
MakeDataset symbol purge3 +3 -2 view
Mode symbol purge3 view
Mode.String symbol core_geth view
New symbol purge3 +1 -1 view
NewFakeDelayer symbol purge3 view
NewFakeFailer symbol purge3 view
NewFaker symbol purge3 view
NewFullFaker symbol purge3 view
NewPoissonFaker symbol core_geth view
NewShared symbol purge3 view
NewTester symbol purge3 view
SeedHash symbol purge3 +2 -2 view
cache symbol purge3 +1 -0 view
cache.finalizer symbol purge3 view
cache.generate symbol purge3 +40 -15 view
cacheOrDataset symbol purge3 view
cacheSize symbol purge3 +3 -4 view
calcCacheSize symbol purge3 view
calcDatasetSize symbol purge3 view
calcEpoch symbol core_geth view
calcEpochBlock symbol core_geth view
calcEpochLength symbol core_geth view
dataset symbol purge3 +1 -0 view
dataset.finalizer symbol purge3 view
dataset.generate symbol purge3 +39 -16 view
dataset.generated symbol purge3 view
datasetSize symbol purge3 +3 -4 view
ensureSize (linux) symbol purge3 view
ensureSize (other) symbol purge3 view
errEthashStopped symbol purge3 view
ethash algorithm consts symbol purge3 +3 -1 view
ethash global vars symbol purge3 view
ethash mode consts symbol purge3 +1 -0 view
ethash size tables symbol purge3 view
fnv symbol purge3 view
fnvHash symbol purge3 view
generateCache symbol purge3 +4 -9 view
generateDataset symbol purge3 +4 -9 view
generateDatasetItem symbol purge3 view
hasher symbol purge3 view
hashimoto symbol purge3 +3 -1 view
hashimotoFull symbol purge3 view
hashimotoLight symbol purge3 view
hashrate symbol purge3 view
init symbol purge3 view
isLittleEndian symbol purge3 view
lru symbol purge3 +1 -1 view
lru.get symbol purge3 +29 -8 view
makeHasher symbol purge3 view
memoryMap symbol purge3 view
memoryMapAndGenerate symbol purge3 view
memoryMapFile symbol purge3 +1 -5 view
mineResult symbol purge3 view
newCache symbol purge3 +2 -2 view
newDataset symbol purge3 +2 -2 view
newlru symbol purge3 +1 -1 view
remoteSealer symbol purge3 view
remoteSealer.loop symbol purge3 view
remoteSealer.makeWork symbol purge3 +3 -1 view
remoteSealer.notifyWork symbol purge3 view
remoteSealer.sendNotification symbol purge3 view
remoteSealer.submitWork symbol purge3 view
sealTask symbol purge3 view
sealWork symbol purge3 view
sealer consts symbol purge3 view
sealer error vars symbol purge3 view
seedHash symbol purge3 +8 -4 view
startRemoteSealer symbol purge3 view
swap symbol purge3 view
uint32Array2ByteArray symbol core_geth view
uint32Array2Keccak256 symbol core_geth view
verifyseal error vars symbol purge3 +1 -9 view

✏️ In-place (modified on upstream)

Upstream files the fork edits in place; the diff is against upstream v1.17.3.

Change Kind Origin Δ vs origin
consensus/ethash/consensus.go file upstream v1.17.3 +102 -8 view

🆕 New (fork-only)

Files with no upstream pedigree — the highest-scrutiny changes.

Change Kind Origin Δ vs origin
Ethash.VerifySeal symbol 🆕 view
consensus/etc/engine.go file 🆕 view
consensus/etc/engine_etc_test.go file 🆕 view
consensus/etc/rewards_test.go file 🆕 view
consensus/ethash/algorithm_etc_test.go file 🆕 view
consensus/ethash/consensus_etc_test.go file 🆕 view
consensus/ethash/ethash_etc_test.go file 🆕 view
consensus/ethash/sealer_etc_test.go file 🆕 view
params/protocol_params_etc.go file 🆕 view

← Code Changes overview · Coverage