go-dht/cmd/cmd.go
cmd/cmd.goRaw
1package cmd
2
3import (
4 "go-dht/config"
5 "go-dht/node"
6
7 log "github.com/sirupsen/logrus"
8 "github.com/urfave/cli"
9)
10
11var NodeCommands = []cli.Command{
12 {
13 Name: "start",
14 Usage: "start the node",
15 Action: cmdStart,
16 },
17}
18
19func cmdStart(c *cli.Context) error {
20 if err := config.MustRead(c); err != nil {
21 return err
22 }
23
24 var n node.Node
25 var err error
26 if config.C.ID != "" {
27 n, err = node.LoadNode(config.C.ID)
28 if err != nil {
29 return err
30 }
31 log.Info("Node loaded with ID: ", n.ID())
32 } else {
33 n, err = node.NewNode()
34 if err != nil {
35 return err
36 }
37 log.Info("New node created with ID: ", n.ID())
38 }
39 return nil
40}