提升 @anti-phishing 反钓鱼机器人响应速度 / 最新块以及不可回退块

提升 @anti-phishing 反钓鱼机器人响应速度 / 最新块以及不可回退块

在之前的文章中,我介绍了我新上线的反钓鱼机器人

hacker-1944688_960_720.jpg

响应速度的重要性

机器人上线后,很负责任,昨天又监测到诈骗账户的一系列帖子并予以处理。

我看了一下处理记录,基本上在一分钟左右处理的,比如最下边的一条记录

  • 诈骗账户发文时间为:2017-10-27 09:02:48
  • @anti-phishing差评时间为:2017-10-27T09:04:00

中间耗时为1分钟12秒。

我们很高兴看到 @cheetah 以及 @steemcleaners 都行动了起来。
但是略为遗憾的是 @steemcleaners 的差评落后了近 50分钟,这个时间差,足已让很多人上当了。

但是 @anti-phishing 落后一分钟,就不存在问题吗?显然不是,处理的时间越晚,别人被骗的概率越高。所以如何提升响应速度,对于 @anti-phishing 反钓鱼机器人而言,有重要的意义。

如何提升响应速度

说到如何提升响应速度,我们需要先了解一下最新区块以及不可回退的区块

顾名思义,最新区块 就是steem 区块链上最新的区块(好像是废话啊?)不可回退的区块,就是对应区块里的操作都不可回退。(哎,太技术的我解释不清楚,就这么回事吧)

https://steemd.com/ 首页右侧,我们可以看到

(最新区块的数值为:16,715,679)


(最后一个不可回退块的数值为:16,715,662)

不可回退块 比 最新区块落后了 17个块,这个数值不是固定的,但是一般情况是20个块左右。

steem区块间隔是3秒(STEEMIT_BLOCK_INTERVAL),如果20个块,那么就是落后一分钟。

如果用于交易充值确认,那么我们当然要使用不可回退的块。如果用于点赞机器人等,因为30分钟内有早鸟惩罚,所以在文章发布一两分钟内就急着点赞没什么特别的好处。所以无论怎么看,用不可回退块来处理点赞什么的都没问题,除了用于反钓鱼机器人

用于反钓鱼机器人,我们没必要纠结是否是不可回退块,读取最新块即可。

所以读取区块时,我们应该使用head_block_number 而不是 last_irreversible_block_num

响应速度

按照上述思路,我对 @anti-phishing 代码进行了更新。

更新后,牺牲我的 @oflyhigh.test ID进行测试。

回复创建时间为:2017-10-28 03:44:39

@anti-phishing 差评时间为: @2017-10-28T03:44:45

耗时仅为6秒,相比之前的1分钟12秒,快了12倍 😀

完全符合我的预期。
superhero-534120_960_720.jpg
(图源 :pixabay)

更进一步

尽管 @anti-phishing 提前了,但是 @oflyhigh 比 @anti-phishing 落后了三秒(下一个块)
回复的提示内容,比 @oflyhigh 还要落后九秒

如何提升这个速度也是个问题。比如,如果把这些操作都打包到一个块中,或许会更加合理。

不过这个留给之后改进吧。

(封面图源 :pixabay)


This page is synchronized from the post: 提升 @anti-phishing 反钓鱼机器人响应速度 / 最新块以及不可回退块

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×