- GO語言公鏈開發實戰
- 鄭東旭等
- 547字
- 2019-08-15 14:12:47
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功能,出錯時顯示出錯棧信息