aboutsummaryrefslogtreecommitdiffstats
path: root/dex/api.go
diff options
context:
space:
mode:
authorSonic <sonic@dexon.org>2018-12-21 14:53:37 +0800
committerWei-Ning Huang <w@dexon.org>2019-03-12 12:19:09 +0800
commitf5522f0ffcbe127a8fd364647848be46ecc68cda (patch)
treefb31ed0a49864ff6876f2130acd5e33c245fad1a /dex/api.go
parent4002c85e8e073f3a03dbd8c71e98188c0306a942 (diff)
downloaddexon-f5522f0ffcbe127a8fd364647848be46ecc68cda.tar
dexon-f5522f0ffcbe127a8fd364647848be46ecc68cda.tar.gz
dexon-f5522f0ffcbe127a8fd364647848be46ecc68cda.tar.bz2
dexon-f5522f0ffcbe127a8fd364647848be46ecc68cda.tar.lz
dexon-f5522f0ffcbe127a8fd364647848be46ecc68cda.tar.xz
dexon-f5522f0ffcbe127a8fd364647848be46ecc68cda.tar.zst
dexon-f5522f0ffcbe127a8fd364647848be46ecc68cda.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.go16
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 {