aboutsummaryrefslogtreecommitdiffstats
path: root/dex/backend.go
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2019-03-17 09:12:50 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 13:50:04 +0800
commit9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547 (patch)
treef6d859629fa413c3b3ed1624b5262798e6d5afac /dex/backend.go
parentfc2f94990eeac244ccb50fea5d6fda63b67ccc69 (diff)
downloaddexon-9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547.tar
dexon-9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547.tar.gz
dexon-9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547.tar.bz2
dexon-9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547.tar.lz
dexon-9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547.tar.xz
dexon-9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547.tar.zst
dexon-9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547.zip
dex: implement recovery mechanism (#258)
* dex: implement recovery mechanism The DEXON recovery protocol allows us to use the Ethereum blockchain as a fallback consensus chain to coordinate recovery. * fix
Diffstat (limited to 'dex/backend.go')
-rw-r--r--dex/backend.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/dex/backend.go b/dex/backend.go
index 056a6d221..6ee1a5fa1 100644
--- a/dex/backend.go
+++ b/dex/backend.go
@@ -21,6 +21,7 @@ import (
"fmt"
"time"
+ "github.com/dexon-foundation/dexon-consensus/core/syncer"
"github.com/dexon-foundation/dexon/accounts"
"github.com/dexon-foundation/dexon/consensus"
"github.com/dexon-foundation/dexon/consensus/dexcon"
@@ -180,7 +181,12 @@ func New(ctx *node.ServiceContext, config *Config) (*Dexon, error) {
dex.protocolManager = pm
dex.network = NewDexconNetwork(pm)
- dex.bp = NewBlockProposer(dex, dMoment)
+ recovery := NewRecovery(chainConfig.Recovery, config.RecoveryNetworkRPC,
+ dex.governance, config.PrivateKey)
+ watchCat := syncer.NewWatchCat(recovery, dex.governance, 10*time.Second,
+ time.Duration(chainConfig.Recovery.Timeout)*time.Second, log.Root())
+
+ dex.bp = NewBlockProposer(dex, watchCat, dMoment)
return dex, nil
}