From 9d1b6a0d3f2645a84c6e2da29a933fb4a6f7f547 Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Sun, 17 Mar 2019 09:12:50 +0800 Subject: 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 --- dex/backend.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'dex/backend.go') 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 } -- cgit v1.2.3