写点什么

长安链源码分析启动(1)

作者:
  • 2022 年 8 月 29 日
    湖南
  • 本文字数:650 字

    阅读完需:约 2 分钟

本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star


下载源码后,在 main 的 cmd 目录下,有一个 cli_start.go

其中可以看到 mainStart 就是启动方法


先看主脉络:

  1. 追踪内容使用:

if localconf.ChainMakerConfig.DebugConfig.IsTraceMemoryUsage { traceMemoryUsage() }


2.创建一个 chainMakerServer,调用它的初始化方法初始化

chainMakerServer := blockchain.NewChainMakerServer()if err := chainMakerServer.Init(); err != nil {   log.Errorf("chainmaker server init failed, %s", err.Error())   return}
复制代码


3.初始化一个 rpcserver

// init rpc serverrpcServer, err := rpcserver.NewRPCServer(chainMakerServer)if err != nil {  log.Errorf("rpc server init failed, %s", err.Error())  return}
复制代码


4.初始化一个监听服务

// init monitor servermonitorServer := monitor.NewMonitorServer()
复制代码


5.启动 chainMakerServer

if err := chainMakerServer.Start(); err != nil {   log.Errorf("chainmaker server startup failed, %s", err.Error())   return}
复制代码


6.启动 rpcserver

if err := rpcServer.Start(); err != nil {   errorC <- err}
复制代码

7.启动监听服务

if err := monitorServer.Start(); err != nil {   errorC <- err}
复制代码


以上就是核心启动主链路了。


再精简一下

就是创建了一个 chainMakerServer,并调用初始化,然后包装成 rpc 服务,启动 rpc 服务。

至于内存追踪,服务监控,不是核心业务主链路。

下篇文章,我们继续分析主链路的初始化方法。

用户头像

关注

还未添加个人签名 2018.05.04 加入

还未添加个人简介

评论

发布
暂无评论
长安链源码分析启动(1)_长安链_李_InfoQ写作社区