diff options
author | Sonic <sonic@dexon.org> | 2018-12-21 14:53:37 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-12 17:27:20 +0800 |
commit | e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5 (patch) | |
tree | 2b794474971e637eea79c061ae0e686c390d90d4 /dex/app.go | |
parent | 1dae18a03ae58e4b98a81a1596fedb9cb2b893e6 (diff) | |
download | go-tangerine-e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5.tar go-tangerine-e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5.tar.gz go-tangerine-e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5.tar.bz2 go-tangerine-e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5.tar.lz go-tangerine-e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5.tar.xz go-tangerine-e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5.tar.zst go-tangerine-e7d6753c4b2ce239becf025d1e14a7c7fe86d8e5.zip |
core, dex, internal: block proposer syncing (first iteration) (#96)
* dex, internal: block proposer syncing (first iteration)
* core: find block from db if not in memory
This fix handles stopping proposing and then restarting
* core: no need to reorg when reset
Dexon will not fork. This commit also fix when a block confirm but
its parent is not in db yet, during restarting proposing.
* dex: always accept NewBlockMsg, NewBlockHashesMsg
We need to accept NewBlockMsg, NewBlockHashesMsg to sync current block with
other peers in block proposer mode when syncing lattice data. It's a waste
when the node is synced and start proposing.
Todo: control msg processing on/off more granular, accept NewBlockMsg,
NewBlockHashesMsg when syncing, but stop when synced.
Diffstat (limited to 'dex/app.go')
-rw-r--r-- | dex/app.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/dex/app.go b/dex/app.go index 9dcfd87e9..d04b2afd6 100644 --- a/dex/app.go +++ b/dex/app.go @@ -451,6 +451,9 @@ func (d *DexconApp) BlockDelivered( blockPosition coreTypes.Position, result coreTypes.FinalizationResult) { + log.Debug("DexconApp block deliver", "height", result.Height, "hash", blockHash, "position", blockPosition.String()) + defer log.Debug("DexconApp block delivered", "height", result.Height, "hash", blockHash, "position", blockPosition.String()) + chainID := blockPosition.ChainID d.chainLock(chainID) defer d.chainUnlock(chainID) @@ -461,6 +464,7 @@ func (d *DexconApp) BlockDelivered( } block.Payload = nil + block.Finalization = result dexconMeta, err := rlp.EncodeToBytes(block) if err != nil { panic(err) @@ -501,6 +505,7 @@ func (d *DexconApp) BlockConfirmed(block coreTypes.Block) { d.chainLock(block.Position.ChainID) defer d.chainUnlock(block.Position.ChainID) + log.Debug("DexconApp block confirmed", "block", block.String()) if err := d.blockchain.AddConfirmedBlock(&block); err != nil { panic(err) } |