diff options
author | Sonic <sonic@dexon.org> | 2018-12-21 14:53:37 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 13:49:59 +0800 |
commit | a4c306aecc3637e9d94ba2170e044927af78c523 (patch) | |
tree | c172f0cf588a2e6cb74f996c114afefdb3dfc640 /dex/api.go | |
parent | d7515068e90747db95a93af077a195d30d1412be (diff) | |
download | dexon-a4c306aecc3637e9d94ba2170e044927af78c523.tar dexon-a4c306aecc3637e9d94ba2170e044927af78c523.tar.gz dexon-a4c306aecc3637e9d94ba2170e044927af78c523.tar.bz2 dexon-a4c306aecc3637e9d94ba2170e044927af78c523.tar.lz dexon-a4c306aecc3637e9d94ba2170e044927af78c523.tar.xz dexon-a4c306aecc3637e9d94ba2170e044927af78c523.tar.zst dexon-a4c306aecc3637e9d94ba2170e044927af78c523.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/api.go')
-rw-r--r-- | dex/api.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/dex/api.go b/dex/api.go index 40928a5c1..4d39f9f6e 100644 --- a/dex/api.go +++ b/dex/api.go @@ -131,6 +131,22 @@ func (api *PrivateAdminAPI) ImportChain(file string) (bool, error) { return true, nil } +func (api *PrivateAdminAPI) StartProposing() error { + return api.dex.StartProposing() +} + +func (api *PrivateAdminAPI) StopProposing() { + api.dex.StopProposing() +} + +func (api *PrivateAdminAPI) IsLatticeSyncing() bool { + return api.dex.IsLatticeSyncing() +} + +func (api *PrivateAdminAPI) IsProposing() bool { + return api.dex.IsProposing() +} + // PublicDebugAPI is the collection of Ethereum full node APIs exposed // over the public debugging endpoint. type PublicDebugAPI struct { |