diff options
author | Péter Szilágyi <peterke@gmail.com> | 2015-05-28 18:06:10 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2015-05-28 19:03:10 +0800 |
commit | 29b0480cfb2f2bd6c350fdce0063312ad691d7b8 (patch) | |
tree | acffafea6ff39c6e1cad36120bc00d7378565f4c /core | |
parent | 27e0d2a97325edc9a870a747412d0b9a2abd1ed1 (diff) | |
download | dexon-29b0480cfb2f2bd6c350fdce0063312ad691d7b8.tar.gz dexon-29b0480cfb2f2bd6c350fdce0063312ad691d7b8.tar.zst dexon-29b0480cfb2f2bd6c350fdce0063312ad691d7b8.zip |
core, eth/downloader: expose the bad hashes, check in downloader
Diffstat (limited to 'core')
-rw-r--r-- | core/blocks.go | 7 | ||||
-rw-r--r-- | core/chain_manager.go | 2 | ||||
-rw-r--r-- | core/manager.go | 6 |
3 files changed, 5 insertions, 10 deletions
diff --git a/core/blocks.go b/core/blocks.go index d09242a07..35e170af3 100644 --- a/core/blocks.go +++ b/core/blocks.go @@ -2,7 +2,8 @@ package core import "github.com/ethereum/go-ethereum/common" -var badHashes = []common.Hash{ - common.HexToHash("f269c503aed286caaa0d114d6a5320e70abbc2febe37953207e76a2873f2ba79"), - common.HexToHash("38f5bbbffd74804820ffa4bab0cd540e9de229725afb98c1a7e57936f4a714bc"), +// Set of manually tracked bad hashes (usually hard forks) +var BadHashes = map[common.Hash]bool{ + common.HexToHash("f269c503aed286caaa0d114d6a5320e70abbc2febe37953207e76a2873f2ba79"): true, + common.HexToHash("38f5bbbffd74804820ffa4bab0cd540e9de229725afb98c1a7e57936f4a714bc"): true, } diff --git a/core/chain_manager.go b/core/chain_manager.go index ee73145c1..edf8825f3 100644 --- a/core/chain_manager.go +++ b/core/chain_manager.go @@ -121,7 +121,7 @@ func NewChainManager(blockDb, stateDb common.Database, pow pow.PoW, mux *event.T bc.setLastState() // Check the current state of the block hashes and make sure that we do not have any of the bad blocks in our chain - for _, hash := range badHashes { + for hash, _ := range BadHashes { if block := bc.GetBlock(hash); block != nil { glog.V(logger.Error).Infof("Found bad hash. Reorganising chain to state %x\n", block.ParentHash().Bytes()[:4]) block = bc.GetBlock(block.ParentHash()) diff --git a/core/manager.go b/core/manager.go index 695f0e99c..ba0ecf9d1 100644 --- a/core/manager.go +++ b/core/manager.go @@ -3,9 +3,7 @@ package core import ( "github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/eth/downloader" "github.com/ethereum/go-ethereum/event" - "github.com/ethereum/go-ethereum/p2p" ) // TODO move this to types? @@ -14,11 +12,7 @@ type Backend interface { BlockProcessor() *BlockProcessor ChainManager() *ChainManager TxPool() *TxPool - PeerCount() int - IsListening() bool - Peers() []*p2p.Peer BlockDb() common.Database StateDb() common.Database EventMux() *event.TypeMux - Downloader() *downloader.Downloader } |