github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/cmd/burrow/commands/start.go (about) 1 package commands 2 3 import ( 4 "github.com/hyperledger/burrow/core" 5 cli "github.com/jawher/mow.cli" 6 ) 7 8 // Start launches the burrow daemon 9 func Start(output Output) func(cmd *cli.Cmd) { 10 return func(cmd *cli.Cmd) { 11 configOpts := addConfigOptions(cmd) 12 13 cmd.Action = func() { 14 conf, err := configOpts.obtainBurrowConfig() 15 if err != nil { 16 output.Fatalf("could not set up config: %v", err) 17 } 18 19 if err := conf.Verify(); err != nil { 20 output.Fatalf("cannot continue with config: %v", err) 21 } 22 23 output.Logf("Using validator address: %s", *conf.ValidatorAddress) 24 25 kern, err := core.LoadKernelFromConfig(conf) 26 if err != nil { 27 output.Fatalf("could not configure Burrow kernel: %v", err) 28 } 29 30 if err = kern.Boot(); err != nil { 31 output.Fatalf("could not boot Burrow kernel: %v", err) 32 } 33 34 kern.WaitForShutdown() 35 } 36 } 37 }