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 |