小赖子的英国生活和资讯

使用AWK来看见证人生成块的速度

阅读 桌面完整版
unix-where-there-is-a-shell-there-is-a-way 使用AWK来看见证人生成块的速度 I.T. LINUX SteemIt 程序设计

unix-where-there-is-a-shell-there-is-a-way

每次见证人出块, 媳妇总我说 “又生了”. 每次出块我总会去算一下离上次出块多少时间, 这是可以通过当前块数和上次出块数算出来的.

首先, 我们可以通过 docker logs [容器 ID] 来显示很多很多的记录:

steemit-witness-docker-logs

有一个脚本 ./run.sh logs是显示最近几条记录 (tail) 我们可以通过管道 grep “Generated” 列出出块时候的记录.

steemit-witness-docker-logs-grep

然后我们就可以通过AWK来处理文本了, 比如 $8 返回第8列, 我们就可以算出每次出块的间隔, 然后已知每3秒STEEM产生一个块, 这样我们就知道时间了.

NR 表示行号, substr($8, 2) 去掉第8列中的 # 字符, 也就是得到块号.

{
  cur=substr($8,2);
  if (NR>1){
    print "blocks=",cur-prev," hours=", (cur-prev)*3/3600
  }
  prev=cur;
}

完整的命令如下:

docker logs [容器ID]  | grep "Generated" | awk '{cur=substr($8,2);if (NR>1){print "blocks=",cur-prev," hours=",(cur-prev)*3/3600}prev=cur;}'

docker-steemit-awk-grep-logs-witness

我的目标是一个小时生成一块, 请帮助我达成这个目标吧, 投我为见证人, 感谢! (SteemIt 见证人贴: 投行长为见证人, 带领CN社区一起脱贫致富! )

英文: AWK Tutorial: How often do you generate a Witness Block? (SteemIt)

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version