Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var StartExporterNodeCmd = &cobra.Command{ Use: "start-exporter", Short: "Starts exporter node", Run: func(cmd *cobra.Command, args []string) { if err := cleanenv.ReadConfig(globalArgs.ConfigPath, &cfg); err != nil { log.Fatal(err) } loggerLevel, err := logex.GetLoggerLevelValue(cfg.LogLevel) Logger := logex.Build(cmd.Parent().Short, loggerLevel) if err != nil { Logger.Warn(fmt.Sprintf("Default log level set to %s", loggerLevel), zap.Error(err)) } cfg.DBOptions.Logger = Logger db, err := storage.GetStorageFactory(cfg.DBOptions) if err != nil { Logger.Fatal("failed to create db!", zap.Error(err)) } network, err := p2p.New(cmd.Context(), Logger, &cfg.P2pNetworkConfig) if err != nil { Logger.Fatal("failed to create network", zap.Error(err)) } Logger.Info("using registry contract address", zap.String("addr", cfg.ETH1Options.RegistryContractAddr)) if len(cfg.ETH1Options.RegistryContractABI) > 0 { Logger.Info("using registry contract abi", zap.String("abi", cfg.ETH1Options.RegistryContractABI)) if err = eth1.LoadABI(cfg.ETH1Options.RegistryContractABI); err != nil { Logger.Fatal("failed to load ABI JSON", zap.Error(err)) } } eth1Client, err := goeth.NewEth1Client(goeth.ClientOptions{ Ctx: cmd.Context(), Logger: Logger, NodeAddr: cfg.ETH1Options.ETH1Addr, ContractABI: eth1.ContractABI(), RegistryContractAddr: cfg.ETH1Options.RegistryContractAddr, ShareEncryptionKeyProvider: func() (*rsa.PrivateKey, error) { return nil, nil }, }) if err != nil { Logger.Fatal("failed to create eth1 client", zap.Error(err)) } exporterOptions := new(exporter.Options) exporterOptions.Eth1Client = eth1Client exporterOptions.Logger = Logger exporterOptions.Network = network exporterOptions.DB = db exporterOptions.Ctx = cmd.Context() exporterOptions.WS = api.NewWsServer(Logger, gorilla.NewGorillaAdapter(Logger), http.NewServeMux()) exporterOptions.WsAPIPort = cfg.WsAPIPort exporterNode := exporter.New(*exporterOptions) if err := exporterNode.StartEth1(eth1.HexStringToSyncOffset(cfg.ETH1Options.ETH1SyncOffset)); err != nil { Logger.Fatal("failed to start eth1", zap.Error(err)) } if cfg.MetricsAPIPort > 0 { go startMetricsHandler(Logger, network, cfg.MetricsAPIPort) } if err := exporterNode.Start(); err != nil { Logger.Fatal("failed to start exporter", zap.Error(err)) } }, }
StartExporterNodeCmd is the command to start SSV boot node
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.