From b5c7aaae2a314bb259bf9fc5bd2ee58a4d10661a Mon Sep 17 00:00:00 2001 From: Sonic Date: Mon, 22 Oct 2018 11:49:29 +0800 Subject: geth: add propose flag to enable/disable proposing --- cmd/geth/main.go | 15 +++++++++++++++ cmd/geth/usage.go | 6 ++++++ cmd/utils/flags.go | 5 +++++ 3 files changed, 26 insertions(+) (limited to 'cmd') diff --git a/cmd/geth/main.go b/cmd/geth/main.go index 956469b9e..05f5c45b6 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -31,6 +31,7 @@ import ( "github.com/dexon-foundation/dexon/accounts/keystore" "github.com/dexon-foundation/dexon/cmd/utils" "github.com/dexon-foundation/dexon/console" + "github.com/dexon-foundation/dexon/dex" "github.com/dexon-foundation/dexon/eth" "github.com/dexon-foundation/dexon/ethclient" "github.com/dexon-foundation/dexon/internal/debug" @@ -96,6 +97,7 @@ var ( utils.ListenPortFlag, utils.MaxPeersFlag, utils.MaxPendingPeersFlag, + utils.ProposingEnabledFlag, utils.MiningEnabledFlag, utils.MinerThreadsFlag, utils.MinerLegacyThreadsFlag, @@ -355,4 +357,17 @@ func startNode(ctx *cli.Context, stack *node.Node) { utils.Fatalf("Failed to start mining: %v", err) } } + + if ctx.GlobalBool(utils.ProposingEnabledFlag.Name) { + if ctx.GlobalString(utils.SyncModeFlag.Name) == "light" { + utils.Fatalf("Light clients do not support proposing") + } + var dexon *dex.Dexon + if err := stack.Service(&dexon); err != nil { + utils.Fatalf("Dexon service not running: %v", err) + } + if err := dexon.StartProposing(); err != nil { + utils.Fatalf("Failed to string proposing: %v", err) + } + } } diff --git a/cmd/geth/usage.go b/cmd/geth/usage.go index 18c9743e0..fb14a9bbd 100644 --- a/cmd/geth/usage.go +++ b/cmd/geth/usage.go @@ -183,6 +183,12 @@ var AppHelpFlagGroups = []flagGroup{ utils.NodeKeyHexFlag, }, }, + { + Name: "PROPOSER", + Flags: []cli.Flag{ + utils.ProposingEnabledFlag, + }, + }, { Name: "MINER", Flags: []cli.Flag{ diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index cf41f5cdd..585f9c313 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -317,6 +317,11 @@ var ( Usage: "Number of trie node generations to keep in memory", Value: int(state.MaxTrieCacheGen), } + // Proposer settings + ProposingEnabledFlag = cli.BoolFlag{ + Name: "propose", + Usage: "Enable proposing", + } // Miner settings MiningEnabledFlag = cli.BoolFlag{ Name: "mine", -- cgit v1.2.3