YOYOW见证人监控程序部署教程(docker版)
yoyow 2018-04-11发布

部署YOYOW见证人有几个月了,发现貌似没有人关注丢块的问题,我也没有找到有相关的开源软件可以去完成丢块自动下线的功能。像 Steem 社区有太多的类似程序了,python 的、nodejs 的,多的数不胜数。只能说 YOYOW 还是很年轻。

文章来源:steemit | 作者:ety001


作为一个YOYOW的见证人,有义务去开发一款这样开源版本的工具。经过一晚上的折腾,基本功能已经是完成了。代码库在这里。这个工具是基于docker进行部署的,如果你看了上一篇我写的《YOYOW见证人教程》,那么这个工具的部署应该会很轻松。因为我花了大量的时间在部署脚本上(大约6个小时),目的就是尽可能把部署过程傻瓜化。

准备


  • 一台 Linux 服务器,装有 docker , wget

  • 如果需要通知服务,请自行注册discord,并创建一个新的服务器、频道和频道的webhook(文章最后有个简易获取 Webhook 的教程)。


开始


1.首先下载代码

git clone https://github.com/ety001/yoyow-witness-watcher.git cd yoyow-witness-watcher

2.部署 yoyow_client,并提供 RPC 服务。

./init.sh

首先提示你输入 yoyow_client 的下载地址:

********************************************* Welcome to use YOYOW witness watcher. This tool is made by ETY001. (https://github.com/ety001) My YOYOW ID is 485699321. It's pleasure to get your votes! ********************************************* Please input current yoyow_client download URL (https://github.com/yoyow-org/yoyow-core/releases/latest): https://github.com/yoyow-org/yoyow-core/releases/download/v0.2.1-180313/yoyow-client-v0.2.1-ubuntu-20180313.tgz


下载地址可以在 https://github.com/yoyow-org/yoyow-core/releases/latest找到,填写下载地址后,回车继续。

当看到出现Listening for incoming HTTP RPC requests on 0.0.0.0:9999以及new>>>的时候说明yoyow_client的docker镜像已经做好,现在开始创建钱包并导入你的账号


Create wallet Logging RPC to file: logs/rpc/rpc.log 3505859ms th_a       main.cpp:120                  main                 ] key_to_wif( committee_private_key ): 5KCBDTcyDqzsqehcb52tW5nU6pXife6V2rX9Yf7c3saYSzbDZ5W 3505862ms th_a       main.cpp:124                  main                 ] nathan_pub_key: YYW6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV 3505862ms th_a       main.cpp:125                  main                 ] key_to_wif( nathan_private_key ): 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 Starting a new wallet with chain ID ae4f234c75199f67e526c9478cf499dd6e94c2b66830ee5c58d0868a3179baf6 (from egenesis) 3505863ms th_a       main.cpp:172                  main                 ] wdata.ws_server: wss://wallet.yoyow.org/ws 3506840ms th_a       main.cpp:177                  main                 ] wdata.ws_user:  wdata.ws_password:   Please use the set_password method to initialize a new wallet before continuing 3509652ms th_a       main.cpp:243                  main                 ] Listening for incoming HTTP RPC requests on 0.0.0.0:9999 new >>>

先设置本地钱包密码(比如 123456)

set_password 123456

解锁本地钱包

unlock 123456

导入你的 YOYOW 账号

import_key YOUR_YOYOW_ID  YOUR_YOYOW_ACTIVE_KEY

完成以上工作后,按ctrl+d退出钱包,docker容器开始重启直到看到get status出现你目前的出块和丢块数时,整个yoyow_client 的部署完成。


Get Status
00200e8bde55        yoyow_client                     "/bin/sh -c '/data/y…"    10 seconds ago      Up 10 seconds                                                  yoyow_client

Logs
Logging RPC to file: logs/rpc/rpc.log
140909ms th_a       main.cpp:120                  main                 ] key_to_wif( committee_private_key ): 5K**********************5W 
140910ms th_a       main.cpp:124                  main                 ] nathan_pub_key: YY************************CV 
140910ms th_a       main.cpp:125                  main                 ] key_to_wif( nathan_private_key ): 5****************************3 
140912ms th_a       main.cpp:172                  main                 ] wdata.ws_server: wss://wallet.yoyow.org/ws 
141820ms th_a       main.cpp:177                  main                 ] wdata.ws_user:  wdata.ws_password:  
145239ms th_a       main.cpp:243                  main                 ] Listening for incoming HTTP RPC requests on 0.0.0.0:9999

************
Finish!


3.部署监控程序

直接运行下面的命令开始部署

./install_bot.sh

提示输入你的 YOYOW ID

# ./install_bot.sh Please input YOYOW ID: 485699321

提示输入你签名块用的公钥。

Please input Your Public Key: If you have multiple public keys, separate them with commas eg. YYW7TSRLZ9EXZps37Kt31qa7qi,YYW7TSRLZ9EXZpZqk25atoL2s37 YYW7TSRLZ9EXZpZqk25atoL2s37Kt31qa7qi78ZR368kCN969rFiT,YYW733FxEEaAFTHxdTJdowZyQzJ3JnPocsVmdq4aSsm1gSd1VkYDC

如果你有多台备机,可以用逗号把多个公钥隔开填写,请务必把当前正在运行的节点的公钥放在第一位,程序会在检测到丢块后,自动依次往后切换,直到所有节点都不可用。因此,如果你有两个节点的话,当第一个节点挂掉,程序自动切换到第二个备份节点后,赶紧去修第一个节点,第一个节点重启可用后,一定要重新部署下bot程序并且填写公钥时,把目前的第二个节点的公钥放在前面。

提示输入你的本地钱包密码

Please input wallet password: 123456

当你看到类似以下信息的时候,就已经完成了所有部署工作。

Get status total_produced: 1096, total_missed: 1 2018-04-10 00:07:29 *********** Finish!!

如果想查看监控程序的工作状态,执行下面的命令即可

docker logs --tail 20 yoyow_witness_watcher

4.卸载

卸载非常的简单,只需要执行下面的命令即可

./uninstall_bot.sh && ./uninstall.sh


如果你只想重新部署监控程序,只需要执行 ./uninstall_bot.sh 即可,执行完后重新执行 ./install_bot.sh


申请 Discord 的频道 Webhook


注册账号就不说了,打开桌面app界面(网页界面应该也差不多),在左下角找到一个加号,点击后如下图

11111111111111.jpg

选择创建一个服务器,进入下个界面,配置下你的服务器的名字和位置后,即可完成创建,进入你的服务器,新建一个频道,然后在频道右侧有个齿轮,点击一下,如图

22222222222222222222.jpg

打开频道配置页面后,找到 Webhook 选项,然后创建一个新的Webhook,如图

33333333333333333.jpg

填写下 Webhook 的名字后,即可完成创建,里面的 URL 即为你Webhook 的地址。

点击进入招聘详情>
微信扫一扫
关注区块链新金融
扫一扫
下载数链APP
内容合作/商务合作:
gxcj@gongxiangcj.com
联系电话:
021-31128751