MCPcopy Create free account
hub / github.com/akash-network/node / startInProcess

Function startInProcess

testutil/network/util.go:35–140  ·  view source on GitHub ↗
(cfg Config, val *Validator)

Source from the content-addressed store, hash-verified

33)
34
35func 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

Callers 1

NewFunction · 0.85

Calls 6

NewLocalRPCClientFunction · 0.85
WithMethod · 0.80
RegisterTxServiceMethod · 0.80
RegisterNodeServiceMethod · 0.80
RegisterAPIRoutesMethod · 0.80

Tested by

no test coverage detected