Register chain services for a *full* node.
(cfg *cpc.Config, n *node.Node, cliCtx *cli.Context)
| 129 | |
| 130 | // Register chain services for a *full* node. |
| 131 | func 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 |
| 155 | func createNode(ctx *cli.Context) *node.Node { |
no test coverage detected