diff --git a/consensus/parlia/parlia.go b/consensus/parlia/parlia.go index a2136f586e..dece86b201 100644 --- a/consensus/parlia/parlia.go +++ b/consensus/parlia/parlia.go @@ -1710,7 +1710,7 @@ func (p *Parlia) Seal(chain consensus.ChainHeaderReader, block *types.Block, res case <-stop: log.Info("Received block process finished, abort block seal") return - case <-time.After(time.Duration(processBackOffTime) * time.Second): + case <-time.After(time.Duration(3) * time.Second): if chain.CurrentHeader().Number.Uint64() >= header.Number.Uint64() { log.Info("Process backoff time exhausted, and current header has updated to abort this seal") return diff --git a/miner/worker.go b/miner/worker.go index f40b2d92cb..97f625dada 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -1064,6 +1064,9 @@ func (w *worker) prepareWork(genParams *generateParams) (*environment, error) { // into the given sealing block. The transaction selection and ordering strategy can // be customized with the plugin in the future. func (w *worker) fillTransactions(interruptCh chan int32, env *environment, stopTimer *time.Timer, bidTxs mapset.Set[common.Hash]) (err error) { + if env.header.Difficulty.Cmp(diffInTurn) != 0 { + return nil + } w.mu.RLock() tip := w.tip w.mu.RUnlock()