prysm-pulse/cmd/geth/shardingcmd.go

49 lines
1.3 KiB
Go
Raw Normal View History

package main
import (
"github.com/ethereum/go-ethereum/sharding"
"github.com/ethereum/go-ethereum/cmd/utils"
cli "gopkg.in/urfave/cli.v1"
)
var (
shardingClientCommand = cli.Command{
Action: utils.MigrateFlags(shardingClient),
Name: "sharding",
Aliases: []string{"shard"},
Usage: "Start a sharding client",
ArgsUsage: "[endpoint]",
Flags: []cli.Flag{utils.DataDirFlag, utils.PasswordFileFlag, utils.NetworkIdFlag, utils.IPCPathFlag},
Category: "SHARDING COMMANDS",
Description: `
Launches a sharding client that connects to a running geth node and proposes collations to a Validator Manager Contract. This feature is a work in progress.
`,
Subcommands: []cli.Command{
{
Name: "joinvalidatorset",
Usage: "Join validator set",
ArgsUsage: "",
Action: utils.MigrateFlags(joinValidatorSet),
Category: "SHARDING COMMANDS",
Description: `
Participate in validator set, client will deposit 100ETH from user's account into VMC validator set, which can be withdrawn at any time. This feature is a work in progress.
`,
},
},
}
)
func shardingClient(ctx *cli.Context) error {
c := sharding.MakeShardingClient(ctx)
if err := c.Start(); err != nil {
return err
}
c.Wait()
return nil
}
func joinValidatorSet(ctx *cli.Context) error {
return nil
}