forked from iotaledger/hornet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
68 lines (62 loc) · 1.78 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package main
import (
"github.com/iotaledger/hive.go/node"
"github.com/gohornet/hornet/pkg/config"
"github.com/gohornet/hornet/pkg/toolset"
"github.com/gohornet/hornet/plugins/autopeering"
"github.com/gohornet/hornet/plugins/cli"
"github.com/gohornet/hornet/plugins/coordinator"
"github.com/gohornet/hornet/plugins/curl"
"github.com/gohornet/hornet/plugins/dashboard"
"github.com/gohornet/hornet/plugins/database"
"github.com/gohornet/hornet/plugins/gossip"
"github.com/gohornet/hornet/plugins/gracefulshutdown"
"github.com/gohornet/hornet/plugins/metrics"
"github.com/gohornet/hornet/plugins/mqtt"
"github.com/gohornet/hornet/plugins/peering"
"github.com/gohornet/hornet/plugins/pow"
"github.com/gohornet/hornet/plugins/profiling"
"github.com/gohornet/hornet/plugins/prometheus"
"github.com/gohornet/hornet/plugins/snapshot"
"github.com/gohornet/hornet/plugins/spammer"
"github.com/gohornet/hornet/plugins/tangle"
"github.com/gohornet/hornet/plugins/urts"
"github.com/gohornet/hornet/plugins/warpsync"
"github.com/gohornet/hornet/plugins/webapi"
"github.com/gohornet/hornet/plugins/zmq"
)
func main() {
cli.ParseFlags()
cli.PrintVersion()
cli.ParseConfig()
toolset.HandleTools()
cli.PrintConfig()
plugins := []*node.Plugin{
cli.PLUGIN,
gracefulshutdown.PLUGIN,
profiling.PLUGIN,
database.PLUGIN,
curl.PLUGIN,
autopeering.PLUGIN,
webapi.PLUGIN,
}
if !config.NodeConfig.GetBool(config.CfgNetAutopeeringRunAsEntryNode) {
plugins = append(plugins, []*node.Plugin{
pow.PLUGIN,
gossip.PLUGIN,
tangle.PLUGIN,
peering.PLUGIN,
warpsync.PLUGIN,
urts.PLUGIN,
metrics.PLUGIN,
snapshot.PLUGIN,
dashboard.PLUGIN,
zmq.PLUGIN,
mqtt.PLUGIN,
spammer.PLUGIN,
coordinator.PLUGIN,
prometheus.PLUGIN,
}...)
}
node.Run(node.Plugins(plugins...))
}