diff --git a/cmd/config.go b/cmd/config.go index b53b252323..9be624c22e 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -81,6 +81,15 @@ func setGenesis(ctx *cli.Context, cfg *config.OntologyConfig) error { cfg.Genesis = config.PolarisConfig } + if ctx.Bool(utils.GetFlagName(utils.EnableLayer2ModeFlag)) { + cfg.Genesis.ConsensusType = config.CONSENSUS_TYPE_SOLO + cfg.Genesis.SOLO.GenBlockTime = ctx.Uint(utils.GetFlagName(utils.Layer2ModeGenBlockTimeFlag)) + if cfg.Genesis.SOLO.GenBlockTime <= 1 { + cfg.Genesis.SOLO.GenBlockTime = config.DEFAULT_GEN_BLOCK_TIME + } + return nil + } + if ctx.Bool(utils.GetFlagName(utils.EnableTestModeFlag)) { cfg.Genesis.ConsensusType = config.CONSENSUS_TYPE_SOLO cfg.Genesis.SOLO.GenBlockTime = ctx.Uint(utils.GetFlagName(utils.TestModeGenBlockTimeFlag)) @@ -135,6 +144,7 @@ func setCommonConfig(ctx *cli.Context, cfg *config.CommonConfig) { cfg.EnableEventLog = !ctx.Bool(utils.GetFlagName(utils.DisableEventLogFlag)) cfg.GasLimit = ctx.Uint64(utils.GetFlagName(utils.GasLimitFlag)) cfg.GasPrice = ctx.Uint64(utils.GetFlagName(utils.GasPriceFlag)) + cfg.MinOngLimit = ctx.Uint64(utils.GetFlagName(utils.MinOngLimitFlag)) cfg.DataDir = ctx.String(utils.GetFlagName(utils.DataDirFlag)) } diff --git a/cmd/usage.go b/cmd/usage.go index 62177473bb..b3b4a54a99 100644 --- a/cmd/usage.go +++ b/cmd/usage.go @@ -184,6 +184,13 @@ var AppHelpFlagGroups = []flagGroup{ utils.WsPortFlag, }, }, + { + Name: "LAYER2 MODE", + Flags: []cli.Flag{ + utils.EnableLayer2ModeFlag, + utils.Layer2ModeGenBlockTimeFlag, + }, + }, { Name: "TEST MODE", Flags: []cli.Flag{ diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 5c90f187d9..bf35935342 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -104,6 +104,23 @@ var ( Value: config.DEFAULT_GAS_PRICE, } + MinOngLimitFlag = cli.Uint64Flag{ + Name: "minonglimit", + Usage: "Min withdraw and transfer Ong ``.", + Value: config.DEFAULT_MIN_ONG_LIMIT, + } + + EnableLayer2ModeFlag = cli.BoolFlag{ + Name: "layer2mode", + Usage: "Single node for layer2. In layer2 mode, will start rpc, rest, web socket server, and set default gasprice to 0", + } + + Layer2ModeGenBlockTimeFlag = cli.UintFlag{ + Name: "layer2mode-gen-block-time", + Usage: "Block-out `