上QQ阅读APP看书,第一时间看更新
3.2 bytomd守护进程初始化流程及命令参数
守护进程是一种特殊进程,启动后一直在后台运行,只有当触发特定的信号时,才会执行退出操作。比原链的守护进程是bytomd,初始化流程如图3-1所示。
图3-1 bytomd守护进程初始化流程
在编写命令行程序时,通常需要对命令参数进行解析。不同语言一般都会提供解析命令行参数的方法或库,以方便程序员使用。在GO语言标准库中提供了flag包,方便进行命令行解析。
bytomd进程支持的传参如下:
$ ./bytomd -h Multiple asset management. Usage: bytomd [command] Available Commands: help 显示帮助信息 init 初始化网络类型 node 运行bytomd节点 version 显示版本信息 coral[coralmac] bytomd $ ./bytomd node -h Run the bytomd Usage: bytomd node [flags] Flags: --auth.disable 关闭API Server Auth验证功能,默认为true --chain_id string 指定网络类型 -h, --help 显示帮助信息 --log_file string 指定日志输出文件 --log_level string 指定日志输出级别 --mining 开启挖矿模式,默认为false --p2p.dial_timeout int 设置p2p节点连接超时时间,默认3s --p2p.handshake_timeout int 设置p2p节点握手超时时间,默认30s --p2p.laddr string 设置p2p节点监听地址,默认"tcp://0.0.0.0:46656" --p2p.max_num_peers int 设置p2p节点最大连接节点,默认50 --p2p.pex 设置p2p节点信息交换功能,默认true --p2p.seeds string 设置p2p节点的seeds种子节点 --p2p.skip_upnp 设置是否使用upnp协议功能。默认false --prof_laddr string 指定pprof地址进入pprof调试模式,默认不指定则不进入 pprof调试功能 --simd.enable 是否启用simd,用于Tenaority CPU指令优化 --vault_mode 运行vault模式,无网络模式 --wallet.disable 关闭本地钱包功能,默认开启 --wallet.rescan 重载本地钱包信息 --web.closed 自动打开dashboard功能,默认为true Global Flags: --home string 指定bytomd运行的home目录,存储配置、keystore、数据的目录 --trace 启用trace功能,出错时显示出错栈信息