From f1f0e7d0b962c802124b2ed9123d3e9bd9cd9644 Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Fri, 16 Nov 2018 17:26:50 +0800 Subject: core: fix light node synchronization issue (#30) InsertChain() need to record the correct roundHeight mapping in order to process snapshotRoundHeight() governance method correctly. --- dex/backend.go | 1 + dex/handler.go | 4 ++++ 2 files changed, 5 insertions(+) (limited to 'dex') diff --git a/dex/backend.go b/dex/backend.go index 740b8cd6f..07646fd76 100644 --- a/dex/backend.go +++ b/dex/backend.go @@ -131,6 +131,7 @@ func New(ctx *node.ServiceContext, config *Config) (*Dexon, error) { EnablePreimageRecording: config.EnablePreimageRecording, EWASMInterpreter: config.EWASMInterpreter, EVMInterpreter: config.EVMInterpreter, + IsBlockProposer: config.BlockProposerEnabled, } cacheConfig = &core.CacheConfig{Disabled: config.NoPruning, TrieCleanLimit: config.TrieCleanCache, TrieDirtyLimit: config.TrieDirtyCache, TrieTimeLimit: config.TrieTimeout} ) diff --git a/dex/handler.go b/dex/handler.go index 7bc9c297d..21322e4e0 100644 --- a/dex/handler.go +++ b/dex/handler.go @@ -1079,6 +1079,10 @@ func (pm *ProtocolManager) peerSetLoop() { pm.BroadcastBlock(event.Block, true) // First propagate block to peers pm.BroadcastBlock(event.Block, false) // Only then announce to the rest + if !pm.isBlockProposer { + break + } + newRound := pm.gov.LenCRS() - 1 log.Trace("new round", "round", newRound) if newRound == round { -- cgit v1.2.3