解决了一个微信公众号查询见证人信息的BUG

in #witness6 years ago

早晨还没睡醒的时候,就看到 @justyy 在微信群里艾特我,并发过来一个截图,说是微信公众号查STEEMIT见证人信息有BUG。


(图源 :pixabay)

我写的程序怎么可能有BUG呢?况且查了这么多见证人也没发现啥问题啊,一定是他使用的姿势不对,哦,我想起来了,一定是他查询的这个见证人排名超出了200名以外,因为我只处理200名以内的见证人。嗯,就是这样了,继续睡。

等我睡醒了,再仔细一看这个截图,这还不是BUG是啥啊?得票这么低的见证人,居然被我算成了TOP20,并且收益也这么高,这显然不对嘛。

于是看了一下之前的程序,我擦,这写的都是什么乱七八糟的,根本看不懂啊,费了半天劲,总算理清了程序的流程,然后也找到了问题所在。

根本原因就是我只处理200名以内的见证人,对200名以外的见证人没有妥善处理。其实我也处理了,但是处理的程序有些漏洞,PHP对一个不存在的变量,读出来的数据是0。正确的做法是,在这之前,判断一下变量是否存在:isset($info["rank"])

这样修改之后,类型已经变成正常的TimeShare,不再是TOP20了,每块的奖励也正常了。但是每天出块以及每天收益啥的数据都为零,这很正常,因为我没计算200名以外的见证人嘛,我之前觉得200名以外都不会去查这个信息的。不过既然有人查了,那么再加大一些吧,加大到400吧(一共有没有400呢,哈哈)

这下都正确了,哈哈,只是这哥们每天0.1个STEEM能够上服务器成本否?心疼呀。另外感谢 @justyy 报告了这个BUG,CN区还没有投他见证人的朋友,去投他一票吧。😀

对了,顺便安利公众号,扫码即可添加:

Sort:  

难道不应该给富根 @justyy发送1000sbd奖励么🤣

Posted using Partiko iOS

这一次,你和@justyy都是CN区最棒的!👍

👍👍👍👍👍👍👍💕

心疼人家每天0.1个Steem,你有空的位置就行动下好了,哈哈哈~

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.028
BTC 61436.95
ETH 3388.33
USDT 1.00
SBD 2.49