长安链学习 - 启动脚本分析
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
分析脚本启动过程,打开黑盒子。
执行
cluster_quick_start.sh
脚本,会解压各个安装包,调用bin
目录中的start.sh
脚本,启动chainmaker
节点
复制代码
这个脚本在 chainmaker-go 的 scirpts 目录下,找到对应的方法
复制代码
复制代码
可以看到进入到了 release 目录,并且遍历该下面子目录。
然后进入子目录下的 bin 目录, 并执行./start.sh 脚本
RELEASE_PATH 目录就是当前项目目录下面的 build/release
可以看到下面还有子目录,每个子目录下面的文件夹都是一样的
包含 bin 目录、config 目录、data 目录、lib 目录、log 目录
我们打开其中一个 bin 目录下的 start.sh
因为最终都是执行各个目录下的该脚本
判断 enable_dockervm 配置是否为 TRUE,该配置在对应 config 目录下的对应目录的 chainmaker.yml 里面
复制代码
默认是 false 的,所以不会调用 start_docker_vm 方法,会走下面的逻辑
下面的逻辑很简单:
复制代码
就是调用二进制文件 chainmaker 的 start 命令,并通过-c 传入配置文件
这样脚本启动思路就非常清晰了,不用脚本,我们也可以通过命令自己启动,只是说,我们自己要一个个去启动不同的节点
评论