(cfg Config, val *Validator)
| 33 | ) |
| 34 | |
| 35 | func startInProcess(cfg Config, val *Validator) error { |
| 36 | logger := val.Ctx.Logger |
| 37 | cmtCfg := val.Ctx.Config |
| 38 | cmtCfg.Instrumentation.Prometheus = false |
| 39 | |
| 40 | if err := val.AppConfig.ValidateBasic(); err != nil { |
| 41 | return err |
| 42 | } |
| 43 | |
| 44 | nodeKey, err := p2p.LoadOrGenNodeKey(cmtCfg.NodeKeyFile()) |
| 45 | if err != nil { |
| 46 | return err |
| 47 | } |
| 48 | |
| 49 | app := cfg.AppConstructor(*val) |
| 50 | val.app = app |
| 51 | |
| 52 | registry := aclient.DefaultRegistry( |
| 53 | aclient.WithChainID(cfg.ChainID), |
| 54 | aclient.WithNodeVersion(version.Version), |
| 55 | ) |
| 56 | |
| 57 | appGenesisProvider := func() (node.ChecksummedGenesisDoc, error) { |
| 58 | appGenesis, err := genutiltypes.AppGenesisFromFile(cmtCfg.GenesisFile()) |
| 59 | if err != nil { |
| 60 | return node.ChecksummedGenesisDoc{}, err |
| 61 | } |
| 62 | |
| 63 | genDoc, err := appGenesis.ToGenesisDoc() |
| 64 | if err != nil { |
| 65 | return node.ChecksummedGenesisDoc{}, err |
| 66 | } |
| 67 | return node.ChecksummedGenesisDoc{ |
| 68 | GenesisDoc: genDoc, |
| 69 | Sha256Checksum: appGenesis.Sha256Checksum, |
| 70 | }, nil |
| 71 | } |
| 72 | |
| 73 | cmtApp := server.NewCometABCIWrapper(app) |
| 74 | tmNode, err := node.NewNode( //resleak:notresource |
| 75 | context.Background(), |
| 76 | cmtCfg, |
| 77 | pvm.LoadOrGenFilePV(cmtCfg.PrivValidatorKeyFile(), cmtCfg.PrivValidatorStateFile()), |
| 78 | nodeKey, |
| 79 | proxy.NewLocalClientCreator(cmtApp), |
| 80 | appGenesisProvider, |
| 81 | cmtcfg.DefaultDBProvider, |
| 82 | node.DefaultMetricsProvider(cmtCfg.Instrumentation), |
| 83 | servercmtlog.CometLoggerWrapper{Logger: logger.With("module", val.Moniker)}, |
| 84 | ) |
| 85 | if err != nil { |
| 86 | return err |
| 87 | } |
| 88 | |
| 89 | if err := tmNode.Start(); err != nil { |
| 90 | return err |
| 91 | } |
| 92 | val.tmNode = tmNode |
no test coverage detected