Skip to content

Coverage — fork vs upstream v1.17.3

Every file go-ethereum-classic changes versus upstream v1.17.3, and whether this wiki documents it. This is the completeness backstop: a real git diff --name-only against upstream, grouped by subsystem, so nothing the fork touched can hide.

Metric Count
Files touched vs upstream 167
Documented in the wiki 131
Undocumented — production code 0
Undocumented — tests 2
Undocumented — fixtures/data 26
Undocumented — CI/build 8

code gaps are the ones worth auditing; data (testdata fixtures) and ci (workflows, build scripts) are listed for completeness but rarely need a page.

Provenance — what's actually fork-only

Line-level origin across the symbol 3-way diffs. The fork's genuine fork-only code is the fork-only lines; everything else is transplanted from upstream or adopted from core-geth.

Origin Lines
upstream pre-purge 5203
upstream current 77
common (in both) 372
core-geth 295
≈ adapted from upstream/core-geth (inferred) 304
fork-only 477
total 6728

7% of the 3-way lines are genuinely fork-only. Exact origin matches plus the ≈ adapted lines (code whose origin was inferred by similarity, not matched exactly) make up the rest — the adapted count is a heuristic, shown separately so it isn't mistaken for certainty.

See Fork-only for the symbols and files behind these lines.

Consensus & Ethash — 16/16 documented

File Class In wiki
consensus/etc/engine.go code
consensus/etc/engine_etc_test.go test
consensus/etc/rewards_test.go test
consensus/ethash/algorithm.go code
consensus/ethash/algorithm_etc_test.go test
consensus/ethash/api.go code
consensus/ethash/consensus.go code
consensus/ethash/consensus_etc_test.go test
consensus/ethash/ethash.go code
consensus/ethash/ethash_etc_test.go test
consensus/ethash/mmap_help_linux.go code
consensus/ethash/mmap_help_other.go code
consensus/ethash/sealer.go code
consensus/ethash/sealer_etc_test.go test
consensus/ethash/verifyseal.go code
params/protocol_params_etc.go code

Total Difficulty (TD) — 15/15 documented

File Class In wiki
core/blockchain.go code
core/blockchain_etc_test.go test
core/blockchain_pow.go code
core/events_pow.go code
core/forkchoice_pow.go code
core/genesis.go code
core/headerchain.go code
core/headerchain_etc_test.go test
core/headerchain_pow.go code
core/rawdb/accessors_chain.go code
core/rawdb/accessors_chain_etc_test.go test
core/rawdb/accessors_chain_pow.go code
core/rawdb/accessors_pow.go code
core/rawdb/ancient_scheme.go code
core/rawdb/chain_freezer.go code

Core & EVM — 15/15 documented

File Class In wiki
consensus/misc/eip1559/eip1559.go code
core/chain_makers.go code
core/evm.go code
core/state/statedb.go code
core/state_transition.go code
core/txpool/legacypool/legacypool.go code
core/txpool/validation.go code
core/txpool/validation_etc_test.go test
core/types/transaction_signing.go code
core/vm/common.go code
core/vm/eips.go code
core/vm/evm.go code
core/vm/jump_table_etc.go code
core/vm/jump_table_etc_test.go test
core/vm/jump_table_export.go code

Sync & Downloader — 13/13 documented

File Class In wiki
eth/downloader/downloader.go code
eth/downloader/downloader_pow.go code
eth/downloader/downloader_test.go test
eth/downloader/fetchers.go code
eth/downloader/fetchers_concurrent.go code
eth/downloader/fetchers_concurrent_headers_pow.go code
eth/downloader/metrics.go code
eth/downloader/peer.go code
eth/downloader/queue.go code
eth/downloader/queue_pow.go code
eth/fetcher/block_fetcher_pow.go code
eth/fetcher/block_fetcher_pow_test.go test
eth/sync_pow.go code

eth Protocol — 18/26 documented

File Class In wiki
cmd/devp2p/internal/ethtest/chain.go code
cmd/devp2p/internal/ethtest/conn.go code
cmd/devp2p/internal/ethtest/mkchain.sh ci
cmd/devp2p/internal/ethtest/protocol.go code
cmd/devp2p/internal/ethtest/snap.go code
cmd/devp2p/internal/ethtest/suite.go code
cmd/devp2p/internal/ethtest/suite_test.go test
cmd/devp2p/internal/ethtest/testdata/chain.rlp data
cmd/devp2p/internal/ethtest/testdata/forkenv.json data
cmd/devp2p/internal/ethtest/testdata/genesis.json data
cmd/devp2p/internal/ethtest/testdata/headblock.json data
cmd/devp2p/internal/ethtest/testdata/headfcu.json data
cmd/devp2p/internal/ethtest/testdata/headstate.json data
cmd/devp2p/internal/ethtest/testdata/newpayload.json data
cmd/devp2p/internal/ethtest/testdata/txinfo.json data
eth/peerset.go code
eth/peerset_pow.go code
eth/protocols/eth/handler.go code
eth/protocols/eth/handlers_pow.go code
eth/protocols/eth/handshake.go code
eth/protocols/eth/handshake_etc_test.go test
eth/protocols/eth/handshake_pow.go code
eth/protocols/eth/peer.go code
eth/protocols/eth/peer_pow.go code
eth/protocols/eth/protocol_etc_test.go test
eth/protocols/eth/protocol_pow.go code

Eth Service — 10/10 documented

File Class In wiki
eth/backend.go code
eth/backend_mining_pow.go code
eth/ethconfig/config.go code
eth/ethconfig/config_pow.go code
eth/handler.go code
eth/handler_eth.go code
eth/handler_mining_pow.go code
eth/handler_pow.go code
eth/peer.go code
node/config.go code

Miner — 9/9 documented

File Class In wiki
miner/miner.go code
miner/miner_pow.go code
miner/miner_pow_etc_test.go test
miner/stress/ethash/main.go code
miner/uncles_pow.go code
miner/unconfirmed_pow.go code
miner/worker.go code
miner/worker_pow.go code
miner/worker_pow_test.go test

MESS — 3/3 documented

File Class In wiki
core/blockchain_mess.go code
core/blockchain_mess_test.go test
eth/sync_mess.go code

RPC & API — 13/32 documented

File Class In wiki
eth/api_backend_pow.go code
eth/api_miner_pow.go code
eth/api_pow.go code
eth/gasprice/feehistory.go code
ethstats/ethstats.go code
graphql/graphql.go code
internal/ethapi/api.go code
internal/ethapi/api_pow.go code
internal/ethapi/api_test.go test
internal/ethapi/backend.go code
internal/ethapi/simulate.go code
internal/ethapi/testdata/eth_getBlockByHash-hash-1.json data
internal/ethapi/testdata/eth_getBlockByHash-hash-genesis.json data
internal/ethapi/testdata/eth_getBlockByHash-hash-latest-1-fullTx.json data
internal/ethapi/testdata/eth_getBlockByHash-hash-latest.json data
internal/ethapi/testdata/eth_getBlockByNumber-number-0.json data
internal/ethapi/testdata/eth_getBlockByNumber-number-1.json data
internal/ethapi/testdata/eth_getBlockByNumber-number-latest-1.json data
internal/ethapi/testdata/eth_getBlockByNumber-tag-latest.json data
internal/ethapi/testdata/eth_getBlockByNumber-tag-pending-fullTx.json data
internal/ethapi/testdata/eth_getBlockByNumber-tag-pending.json data
internal/ethapi/testdata/eth_getHeaderByHash-hash-0.json data
internal/ethapi/testdata/eth_getHeaderByHash-hash-1.json data
internal/ethapi/testdata/eth_getHeaderByHash-hash-latest-1.json data
internal/ethapi/testdata/eth_getHeaderByHash-hash-latest.json data
internal/ethapi/testdata/eth_getHeaderByNumber-number-0.json data
internal/ethapi/testdata/eth_getHeaderByNumber-number-1.json data
internal/ethapi/testdata/eth_getHeaderByNumber-number-latest-1.json data
internal/ethapi/testdata/eth_getHeaderByNumber-tag-latest.json data
internal/ethapi/testdata/eth_getHeaderByNumber-tag-pending.json data
internal/ethapi/transaction_args.go code
internal/ethapi/transaction_args_test.go test

CLI, Config & Genesis — 15/17 documented

File Class In wiki
cmd/geth/config.go code
cmd/geth/consolecmd.go code
cmd/geth/consolecmd_test.go test
cmd/geth/main.go code
cmd/geth/main_pow.go code
cmd/geth/misccmd_pow.go code
cmd/utils/flags.go code
cmd/utils/flags_etc.go code
cmd/utils/flags_legacy.go code
core/coregeth_migration.go code
core/genesis_etc.go code
core/genesis_etc_test.go test
params/bootnodes_etc.go code
params/bootnodes_etc_test.go test
params/config.go code
params/config_compat_etc_test.go test
params/config_etc.go code

Build & Meta — 4/11 documented

File Class In wiki
.github/workflows/ci.yml ci
.github/workflows/deploy-pages.yml ci
.github/workflows/go.yml ci
.github/workflows/release.yml ci
.github/workflows/validate_pr.yml ci
.gitignore ci
README.md code
build/ci.go ci
go.mod code
go.sum code
version/version.go code

← Code Changes overview