add node structure (cmd, config...)

This commit is contained in:
arnaucube
2019-12-07 17:27:30 +01:00
parent 5a4d536f0d
commit a3d1d8db78
11 changed files with 419 additions and 54 deletions

40
cmd/cmd.go Normal file
View File

@@ -0,0 +1,40 @@
package cmd
import (
"go-dht/config"
"go-dht/node"
log "github.com/sirupsen/logrus"
"github.com/urfave/cli"
)
var NodeCommands = []cli.Command{
{
Name: "start",
Usage: "start the node",
Action: cmdStart,
},
}
func cmdStart(c *cli.Context) error {
if err := config.MustRead(c); err != nil {
return err
}
var n node.Node
var err error
if config.C.ID != "" {
n, err = node.LoadNode(config.C.ID)
if err != nil {
return err
}
log.Info("Node loaded with ID: ", n.ID())
} else {
n, err = node.NewNode()
if err != nil {
return err
}
log.Info("New node created with ID: ", n.ID())
}
return nil
}