aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSonic <sonic@cobinhood.com>2018-10-22 11:49:29 +0800
committerWei-Ning Huang <w@byzantine-lab.io>2019-06-12 17:27:16 +0800
commitc87eec6ae59687d8a041140bf02add6ad1ef9788 (patch)
treefd15076ae1edc55128d4d1c60967d216e8ebd84f
parent5f1b306988f331695de76d4a1e6ff1ad26d83649 (diff)
downloadgo-tangerine-c87eec6ae59687d8a041140bf02add6ad1ef9788.tar
go-tangerine-c87eec6ae59687d8a041140bf02add6ad1ef9788.tar.gz
go-tangerine-c87eec6ae59687d8a041140bf02add6ad1ef9788.tar.bz2
go-tangerine-c87eec6ae59687d8a041140bf02add6ad1ef9788.tar.lz
go-tangerine-c87eec6ae59687d8a041140bf02add6ad1ef9788.tar.xz
go-tangerine-c87eec6ae59687d8a041140bf02add6ad1ef9788.tar.zst
go-tangerine-c87eec6ae59687d8a041140bf02add6ad1ef9788.zip
geth: add propose flag to enable/disable proposing
-rw-r--r--cmd/geth/main.go15
-rw-r--r--cmd/geth/usage.go6
-rw-r--r--cmd/utils/flags.go5
-rw-r--r--dex/backend.go7
4 files changed, 33 insertions, 0 deletions
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
@@ -184,6 +184,12 @@ var AppHelpFlagGroups = []flagGroup{
},
},
{
+ Name: "PROPOSER",
+ Flags: []cli.Flag{
+ utils.ProposingEnabledFlag,
+ },
+ },
+ {
Name: "MINER",
Flags: []cli.Flag{
utils.MiningEnabledFlag,
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",
diff --git a/dex/backend.go b/dex/backend.go
index 7a7ad7f47..9c931ee2c 100644
--- a/dex/backend.go
+++ b/dex/backend.go
@@ -255,6 +255,13 @@ func (s *Dexon) Stop() error {
return nil
}
+func (s *Dexon) StartProposing() error {
+ // TODO(sonic):
+ // enable dispatch vote, agreement result, finalization result.. msg to consensus core.
+ log.Debug("###############start proposing")
+ return nil
+}
+
// CreateDB creates the chain database.
func CreateDB(ctx *node.ServiceContext, config *Config, name string) (ethdb.Database, error) {
db, err := ctx.OpenDatabase(name, config.DatabaseCache, config.DatabaseHandles)