Skip to content

peerSet.peerWithHighestTD

Source (upstream pre-purge) Current
File eth/peerset.go peerset_pow.go
Symbol peerSet.peerWithHighestTD peerSet.peerWithHighestTD
Ref f4d53133f~1 etc/v1.17.3-full-node

3-way merge — purge → getc ← upstream

pre-purge
// peerWithHighestTD retrieves the known peer with the currently highest total
// difficulty, but below the given PoS switchover threshold.
func (ps *peerSet) peerWithHighestTD() *eth.Peer {
ps.lock.RLock()
defer ps.lock.RUnlock()
var (
bestPeer *eth.Peer
bestTd *big.Int
)
for _, p := range ps.peers {
if _, td := p.Head(); bestPeer == nil || td.Cmp(bestTd) > 0 {
bestPeer, bestTd = p.Peer, td
}
}
return bestPeer
}
core-geth validation — +1 -1 | | | |---|---| | File | [`peerset.go`](https://github.com/etclabscore/core-geth/blob/v1.12.20/eth/peerset.go) | | Symbol | `peerSet.peerWithHighestTD` | | Ref | `v1.12.20` |
--- a/core-geth/eth/peerset.go
+++ b/etc/eth/peerset_pow.go
@@ -9,7 +9,7 @@
        bestTd   *big.Int
    )
    for _, p := range ps.peers {
-       if _, td, _ := p.Head(); bestPeer == nil || td.Cmp(bestTd) > 0 {
+       if _, td := p.Head(); bestPeer == nil || td.Cmp(bestTd) > 0 {
            bestPeer, bestTd = p.Peer, td
        }
    }

← eth Protocol