MCPcopy Create free account
hub / github.com/CPChain/chain / registerChainService

Function registerChainService

cmd/cpchain/cmd_run.go:131–152  ·  view source on GitHub ↗

Register chain services for a *full* node.

(cfg *cpc.Config, n *node.Node, cliCtx *cli.Context)

Source from the content-addressed store, hash-verified

129
130// Register chain services for a *full* node.
131func registerChainService(cfg *cpc.Config, n *node.Node, cliCtx *cli.Context) {
132 err := n.Register(func(ctx *node.ServiceContext) (node.Service, error) {
133 fullNode, err := cpc.New(ctx, cfg)
134 if err != nil {
135 return nil, err
136 }
137
138 primitive_register.RegisterPrimitiveContracts()
139
140 if cliCtx.Bool(flags.MineFlagName) {
141 fullNode.SetAsMiner(true)
142 }
143
144 if cliCtx.Bool(flags.ValidatorFlagName) {
145 fullNode.SetAsValidator()
146 }
147 return fullNode, err
148 })
149 if err != nil {
150 log.Fatalf("Failed to register the chain service: %v", err)
151 }
152}
153
154// Creates a node with chain services registered
155func createNode(ctx *cli.Context) *node.Node {

Callers 1

createNodeFunction · 0.85

Calls 3

RegisterMethod · 0.45
SetAsMinerMethod · 0.45
SetAsValidatorMethod · 0.45

Tested by

no test coverage detected