首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图文并茂教你查看BNB的销毁情况

我们已经知道BNB是币安发行的ERC20代币,每三个月会进行一次销毁活动,目前已经进行了两次。但是很多人都不知道去哪里才能看到BNB确实已经进行了销毁。今天就通过截图一步步进行这个查询。

既然是以太坊代币,那我们就需要用以太坊浏览器来查询。

https://etherscan.io/

有人可能除了BNB这个名字,别的信息都不太清楚。没关系,登录浏览器,直接在右上角的搜索栏里输入BNB,网站会自动补全匹配的内容。很容易看到,只有一个匹配的结果,就是名为BNB的一个TOKEN。

点击进入,我们看到如下的一个界面,展示了BNB这个token的大部分信息。

Total Supply: 197192382目前的BNB总量。

Token Holders: 41963个不同的以太坊地址上持有BNB。

No. of Transfers: 72816笔BNB的流通(区块链上,不包括交易所内)

Token Decimals: 18。 与直观印象不一样的是,ERC20代币在智能合约里存储的Token的数量其实并不会精确到小数点后,而是整数,只不过整数的单位不同。BNB的合约18,代表着这个数量中1代表0.000000000000000001个BNB,小数点后18位。

Contract Address: 智能合约地址

至于市值、市价,则不是来自于区块链的信息,我们忽略掉它。

点击Contract Address后面的智能合约地址的链接,可以看到智能合约的源代码:

从第110行开始可以看到BNB的智能合约中确实有burn(销毁)这个函数。阅读这8行简单的代码可以得知,销毁需要由持有足够数量BNB的地址发起,执行之后,在该地址的持仓中扣除对应的数量,并减少BNB的总供应量。

但这当然还不够。严谨的观察当然要具体到销毁Token的那笔txid才行。如何从区块链上找到这个信息呢?

最近一次销毁的日期是1.15日,销毁势必伴随着这样一大笔BNB的转移。还是刚才的页面,我们向下看,默认选中的是一个叫做Token Transfer的标签,也就是代币的转移,其中记录了区块链上BNB每一笔交易。

一个一个点下一页太麻烦了。我们把页面拉到最底部,右下角有一个Download CSV Export。点击,输入日期2018/01/15,就可以把UTC时间2018/01/05当天的全部交易下载回来了。

用Excel打开它,按照交易Token数量排序,就可以看到最大一笔是1821586 枚BNB的巨额交易。txid如下:

这个数量与销毁数量是一致的。交易概要如下:

其中源地址是众所周知的Binance的热钱包地址(如果你还不知道,赶快记下来),而目的地址则是一个没有多少交易的地址:

0x00d41f0c9a94edbfac0cc0b3b02bd1f14a5ee237

我们点开来看看。

容易看到,这个地址上有3笔ETH转入交易,3笔BNB转入交易,1笔成功的BNB转出交易,1笔失败的BNB转出交易(有叹号的那个),以及三笔BNB智能合约的执行交易

其中最近的一笔BNB转入交易,就是我们上面用Excel筛出来的1821586枚BNB的转账。

(*知识点:Token的转入交易实质上是发生在源地址与合约地址之间的交易,因此不会显示在目的地址的Transactions列表里。)

从这个界面里可以方便地得知,这三笔BNB智能合约内执行交易的txid分别为:

发生的时间依次为:

2017/10/18

2017/10/18

2018/01/15

而交易详情分别为:

可以看到,他们都调用了burn这个函数。burn函数值只接收一个参数就是销毁数量,那么这三个销毁数量分别是多少呢? 我们把这些十六进制数转成十进制:

(区块链上用的是256位无符号数,而我们普通的电脑一般是32位最多64位,所以电脑自带的计算器可能无法完成这个转换工作。我是使用

https://www.rapidtables.com/convert/number/hex-to-decimal.html

这个网站完成转换的。)

1000000000000000000

986000000000000000000000

1821586000000000000000000

这三个数字是不是太大了? 还记得前面说的吗? BNB智能合约中表示数量的数字的1代表0.000000000000000001个BNB,所以要把上面的数字转换成BNB的数量,还要抹去后面18个零:

看懂了么?第二笔交易就是去年10月18日第一次销毁986000个BNB的交易,而第三笔交易就是1月15日销毁1821586枚BNB的交易。

而第一币,是cz第一次销毁之前,怕自己手滑,所以销毁了一个练练手。

(其实如果你有关注去年的第一次销毁公告,会发现其中公布的txid正是我们找到的上述第二个txid)

慢着,还有个问题。

200000000-1-986000-1821586 = 197192413,为什么现在浏览器上查到的BNB Total Supply是197192382呢?

只可能是有个无聊的人在去年第一次销毁之前,自己销毁了31个玩。。。

因为BNB只能合约里burn这个函数是有公开访问权限的,如果你愿意,你也可以销毁你钱包里的BNB。

不过不用担心手滑,除非你使用的是Ethereum官方的完整节点钱包,否则类似imtoken或者myetherwallet这样的通用版钱包是没有内置burn这个函数的调用的。

吐槽竞争对手时间:

BIG的智能合约代码里面没有burn函数,官方说明中销毁的办法是

Kucoin Share的智能合约代码浏览器上不可见,就不吐好了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126G00PNU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券