前言
本篇介绍如何利用 docker 快速在本地部署 mtool,远程连接 PlatON 进程来进行转账,质押,委托以及治理等相关的操作,参照官方原本的安装方式,改成利用 docker 部署有几个优势:
- mtool 工具可以在大部分系统下快速安装部署,如 Windows,Ubuntu,mac 等,且简单易用。
- 节点和 mtool 工具分离,质押地址私钥文件不必存在节点服务器上,增加安全性。
- 只需要更改 conf 下的节点信息和连接地址就可以操作不同的节点,更加方便管理。
docker 安装
首先我们需要在操作机上安装 docker 安装地址,选择系统,然后按照步骤安装。
注:以下步骤在 macOS 系统环境下演示,本次安装是版本 mtool-client.0.15.0
注:git 安装地址
下载关于安装 MTOOL 的 dockerfile
mkdir -pv mtool
cd mtool
git clone https://github.com/zonzpoo/dockerfile-mtool.git
build mtool 工具镜像,镜像名称/版本(mtool:0.15.0)
cd 0.15.0
docker build -t mtool:0.15.0 .
构建完成后检查是否能本地运行 mtool 工具
cd ..
docker run --rm -ti mtool:0.15.0 mtool-client -v
执行结果:
version: alaya_0.15.0.0
timestamp: 2020-12-29 11:54:10
revision: f222e60ccae27b1488ae8be2b8cffee6d3757409
sdk version: 0.15.0.0-SNAPSHOT
本地创建 conf 目录,拷贝 ca.crt, validator_config.json, staking.json 到 conf 目录下
- ca.crt 是节点安装 nginx 时生成的证书文件,mtool 默认通过 ssl 方式连接 nginx 代理到 platon 时需要该证书
- validator_config.json 是 mtool 配置文件,参考 validator_config.json.example
- staking.json 质押地址私钥文件
validator_config.json 参数说明:
- nodePublicKey:节点公钥/ID
- blsPubKey:节点 bls 公钥
- nodeAddress:mtool 请求地址,格式:https://<用户名>:<密码>@<域名>
- nodePort:节点通信端口
- nodeRpcPort:节点 rpc 端口
- certificate:证书文件(ca.crt)路径,此处替换为:/root/ca/ca.crt
参考官方文档执行相应的 mtool 命令,注意把替换成 conf 目录真正的路径,如/root/conf
更新节点信息
docker run --rm -ti --add-host=<域名>:<IP> -v <conf path>:/root/ca mtool:0.15.0 mtool-client update_validator --config /root/ca/validator_config.json --keystore /root/ca/staking.json --details "超元立方社区,提供更多获取ATP/LAT的正确姿势.VX:Kidd1997"
执行结果:
please input keystore password:
.....
operation finished
transaction hash: xxxxx
SUCCESS
升级提案投票操作:
docker run --rm -ti --add-host=<域名>:<IP> -v <conf path>:/root/ca mtool:0.15.0 mtool-client vote_versionproposal --config /root/ca/validator_config.json --keystore /root/ca/staking.json --proposalid 0x444c3df404bc1ce4d869166623514b370046cd37cdfa6e932971bc2f98afd1a6