You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1013 B
42 lines
1013 B
package main |
|
|
|
import ( |
|
"fmt" |
|
"os" |
|
|
|
"github.com/jessevdk/go-flags" |
|
"github.com/lightningnetwork/lnd" |
|
"github.com/lightningnetwork/lnd/signal" |
|
) |
|
|
|
func main() { |
|
// Hook interceptor for os signals. |
|
shutdownInterceptor, err := signal.Intercept() |
|
if err != nil { |
|
_, _ = fmt.Fprintln(os.Stderr, err) |
|
os.Exit(1) |
|
} |
|
|
|
// Load the configuration, and parse any command line options. This |
|
// function will also set up logging properly. |
|
loadedConfig, err := lnd.LoadConfig(shutdownInterceptor) |
|
if err != nil { |
|
if e, ok := err.(*flags.Error); !ok || e.Type != flags.ErrHelp { |
|
// Print error if not due to help request. |
|
_, _ = fmt.Fprintln(os.Stderr, err) |
|
os.Exit(1) |
|
} |
|
|
|
// Help was requested, exit normally. |
|
os.Exit(0) |
|
} |
|
|
|
// Call the "real" main in a nested manner so the defers will properly |
|
// be executed in the case of a graceful shutdown. |
|
if err = lnd.Main( |
|
loadedConfig, lnd.ListenerCfg{}, shutdownInterceptor, |
|
); err != nil { |
|
_, _ = fmt.Fprintln(os.Stderr, err) |
|
os.Exit(1) |
|
} |
|
}
|
|
|