eth: drop blocks with low TD
This commit is contained in:
		
							parent
							
								
									6e1aa91aaf
								
							
						
					
					
						commit
						3d497be9bd
					
				| @ -36,6 +36,7 @@ pm.chainman.InsertChain(blocks) | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"math/big" | ||||
| 	"sync" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| @ -273,12 +274,11 @@ func (self *ProtocolManager) handleMsg(p *peer) error { | ||||
| 		if self.chainman.HasBlock(hash) { | ||||
| 			break | ||||
| 		} | ||||
| 		/* XXX unsure about this | ||||
| 		/* XXX unsure about this */ | ||||
| 		if self.chainman.Td().Cmp(request.TD) > 0 && new(big.Int).Add(request.Block.Number(), big.NewInt(7)).Cmp(self.chainman.CurrentBlock().Number()) < 0 { | ||||
| 			glog.V(logger.Debug).Infoln("dropped block", request.Block.Number(), "due to low TD", request.TD) | ||||
| 			glog.V(logger.Debug).Infof("[%s] dropped block %v due to low TD %v\n", p.id, request.Block.Number(), request.TD) | ||||
| 			break | ||||
| 		} | ||||
| 		*/ | ||||
| 
 | ||||
| 		// Attempt to insert the newly received by checking if the parent exists.
 | ||||
| 		// if the parent exists we process the block and propagate to our peers
 | ||||
|  | ||||
| @ -6,6 +6,8 @@ import ( | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 	"github.com/ethereum/go-ethereum/core/types" | ||||
| 	"github.com/ethereum/go-ethereum/logger" | ||||
| 	"github.com/ethereum/go-ethereum/logger/glog" | ||||
| 	"github.com/ethereum/go-ethereum/p2p" | ||||
| 	"gopkg.in/fatih/set.v0" | ||||
| ) | ||||
| @ -85,12 +87,12 @@ func (p *peer) sendNewBlock(block *types.Block) error { | ||||
| } | ||||
| 
 | ||||
| func (p *peer) requestHashes(from common.Hash) error { | ||||
| 	p.Debugf("fetching hashes (%d) %x...\n", maxHashes, from[0:4]) | ||||
| 	glog.V(logger.Debug).Infof("[%s] fetching hashes (%d) %x...\n", p.id, maxHashes, from[:4]) | ||||
| 	return p2p.Send(p.rw, GetBlockHashesMsg, getBlockHashesMsgData{from, maxHashes}) | ||||
| } | ||||
| 
 | ||||
| func (p *peer) requestBlocks(hashes []common.Hash) error { | ||||
| 	p.Debugf("fetching %v blocks", len(hashes)) | ||||
| 	glog.V(logger.Debug).Infof("[%s] fetching %v blocks\n", p.id, len(hashes)) | ||||
| 	return p2p.Send(p.rw, GetBlocksMsg, hashes) | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user