Goduck运维小工具
1 安装
1.1 获取源码
下载源码并切到稳定版本release-1.0
git clone git@github.com:meshplus/goduck
cd goduck
git checkout release-1.0
1.2 编译安装
make install
1.3 初始化
goduck init
使用之前一定要先初始化
2 使用
2.1 命令格式
goduck [global options] command [command options] [arguments...]
command
deploy
远程部署bitxhub和pierversion
查看组件版本信息init
初始化配置status
列举实例化组件状态key
创建并展示密钥信息bitxhub
启动或关闭bithxub节点pier
有关pier的操作playground
一键启动跨链组件info
展示跨链基本信息prometheus
启动或关闭prometheushelp, h
这些命令中,比较重要的是init(使用前一定要初始化)、status(查看当前运行组件状态)、bitxhub、pier。
global options
--repo value
goduck配置文件默认存储路径--help, -h
2.2 关于BitXHub的操作
goduck bitxhub command [command options] [arguments...]
2.2.1 启动BitXHub节点
goduck bitxhub start
该命令会初始化并启动BitXHub节点,如果有已启动的BitXHub节点会执行失败。执行成功后提示如下:
1 BitXHub nodes at /Users/fangbaozhu/.goduck/bitxhub are initialized successfully
exec: /bin/bash /Users/fangbaozhu/.goduck/playground.sh up v1.4.0 solo binary 4
Start bitxhub solo by binary
===> Start bitxhub solo successful
这是默认启动方式,也可以携带参数自定义启动,参数设置如下:
--type value
配置类型,binary或docker (默认:“binary”)--mode value
配置模式,solo或cluster (默认:“solo”)--num value
节点个数,只在cluster 模式下作用(默认:4)--tls
是否启动TLS, 只在v1.4.0+版本有效 (default: false)--version value
BitXHub版本 (default: "v1.4.0")--help, -h
2.2.2 为BitXHub节点生成配置文件
goduck bitxhub config
该命令默认初始化4个BitXHub节点。执行成功后当前文件夹会生成相关证书、私钥文件以及四个节点的文件夹,成功提示如下:
initializing 4 BitXHub nodes at .
4 BitXHub nodes at . are initialized successfully
You can see the following in the current directory:
.
├── agency.cert
├── agency.priv
├── ca.cert
├── ca.priv
├── key.priv
├── node1/
├── node2/
├── node3/
└── node4/
可以携带参数自定义配置情况:
--num value
节点个数,只在cluster 模式下作用(默认:4)--type value
配置类型,binary或docker (默认:“binary”)--mode value
配置模式,solo或cluster (默认:“solo”)--ips value
节点IP, 默认所有节点为127.0.0.1, e.g. --ips "127.0.0.1" --ips "127.0.0.2" --ips "127.0.0.3" --ips " 127.0.0.4"--target value
节点的配置文件位置(默认:当前目录)--tls
是否启动TLS, 只在v1.4.0+版本有效 (default: false)--version value
BitXHub版本 (default: "v1.4.0")--help, -h
2.2.3 关闭BitXHub节点
goduck bitxhub stop
该命令会关闭所有启动的BitXHub节点。执行成功后会提示里会给出关闭节点的id:
exec: /bin/bash /Users/fangbaozhu/.goduck/playground.sh down
===> Stop bitxhub
node pid:65246 exit
2.2.4 清除BitXHub节点
goduck bitxhub clean
该命令会清除bitxhub节点的配置文件。如果bitxhub节点没有关闭,会先关闭节点再清除配置文件。
当bitxhub solo节点成功在关闭后执行此命令,会打印出提示如下:
exec: /bin/bash /Users/fangbaozhu/.goduck/playground.sh clean
===> Stop bitxhub
===> Clean bitxhub
remove bitxhub configure nodeSolo
当bitxhub solo节点成功在未关闭的情况下执行此命令,会打印出提示如下:
exec: /bin/bash /Users/fangbaozhu/.goduck/playground.sh clean
===> Stop bitxhub
node pid:65686 exit
===> Clean bitxhub
remove bitxhub configure nodeSolo
2.3 关于pier的操作
GoDuck pier command [command options] [arguments...]
2.3.1 启动pier
goduck pier start
参数设置如下:
--chain value
应用链类型,ethereum 或 fabric(默认:ethereum)--cryptoPath value
crypto-config路径, 只对fabric链有效, e.g $HOME/crypto-config--pier-type value
pier类型,docker或者binary (默认: "docker")--version value
pier版本 (默认: "v1.4.0")--tls value
是否启动TLS, true or false, 只对v1.4.0+版本有效 (默认: "false")--http-port value
pier的http端口号, 只对v1.4.0+版本有效 (默认: "44544")--pprof-port value
pier的pprof端口号, 只对binary有效 (默认: "44550")--api-port value
pier的api端口号, 只对binary有效 (默认: "8080")--overwrite value
当本地默认路径存在pier配置文件时是否重写配置 (默认: "true")--appchainIP value
pier连接的应用链ip (默认: "127.0.0.1")--help, -h
在使用此命令之前,您需要启动一个相同版本的BitxHub和一个需要pier连接的应用链。如果应用链或bitxhub不存在,pier将无法启动,打印提示如下:
exec: /bin/bash run_pier.sh up -m ethereum -t docker -r .pier_ethereum -v v1.4.0 -c -p 44550 -a 8080
===> Start pier of ethereum-v1.4.0 in docker...
===> Start a new pier-ethereum container
===> Wait for ethereum-node container to start for seconds...
136d323b1418a026101515313dbbdafee240ac0f0c0d63b4f202304019e13e24
===> Start pier fail
如果要连接的应用链和BitxHub已经启动,且PIER已经启动成功,打印提示如下:
exec: /bin/bash run_pier.sh up -m ethereum -t docker -r .pier_ethereum -v v1.0.0-rc1 -c -p 44550 -a 8080
===> Start pier of ethereum-v1.0.0-rc1 in docker...
===> Start a new pier-ethereum container
===> Wait for ethereum-node container to start for seconds...
351bd8e8eb8d5a1803690ac0cd9b77c274b775507f30cb6271164fb843442bfd
===> Start pier successfully
2.3.2 关闭pier
goduck pier stop
该命令可以关闭pier,可以通过携带参数指定关闭那种类型应用链的pier
2.3.3 清除Pier
goduck pier clean
该命令可以清除pier的配置文件,如果pier还没有关闭,该命令会先关闭pier再清除其配置文件。
2.3.4 生成Pier的配置文件
goduck pier config
--mode value
配置模式, 直连模式或者中继模式(默认: "direct")--type value
配置类型, binary或者docker (默认: "binary")--bitxhub value
BitXHub的地址,只在中继模式有效--validators value
BitXHub的验证人地址,只在中继模式有效, 例如 --validators "0xc7F999b83Af6DF9e67d0a37Ee7e900bF38b3D013" --validators "0x79a1215469FaB6f9c63c1816b45183AD3624bE34" --validators "0x97c8B516D19edBf575D72a172Af7F418BE498C37" --validators "0x97c8B516D19edBf575D72a172Af7F418BE498C37"--port value
pier的端口号,只在直连模式有效 (默认: 5001)--peers value
连接节点的地址,只在直连模式有效, 例如 --peers " /ip4/127.0.0.1/tcp/4001/p2p/Qma1oh5JtrV24gfP9bFrVv4miGKz7AABpfJhZ4F2Z5ngmL"--connectors value
待连接节点的地址,只在v1.4.0+版本的union模式有效, 例如 --connectors " /ip4/127.0.0.1/tcp/4001/p2p/Qma1oh5JtrV24gfP9bFrVv4miGKz7AABpfJhZ4F2Z5ngmL" --connectors " /ip4/127.0.0.1/tcp/4002/p2p/Qma1oh5JtrV24gfP9bFrVv4miGKz7AABpfJhZ4F2Z5abcD"--appchain-type value
应用链类型, ethereum或者fabric (默认: "ethereum")--appchain-IP value
应用链IP地址 (默认: "127.0.0.1")--target value
生成配置文件路径 (默认: ".")--tls value
是否开启TLS,只在v1.4.0+版本有效 (默认: "false")--http-port value
pier的http端口号, 只在v1.4.0+版本有效 (默认: "44544")--pprof-port value
pier的pprof端口号 (默认: "44550")--api-port value
pier的api端口号 (默认: "8080")--cryptoPath value
crypto-config文件的路径,只对fabric链有效,例如 $HOME/crypto-config (default: " $HOME/.goduck/crypto-config")--version value
pier版本 (默认: "v1.4.0")--help, -h