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