我们已经知道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: 智能合约地址
-
至于市值、市价,则不是来自于区块链的信息,我们忽略掉它。
在这些信息中,我们最关心的是总量。这里看到197192382明显已经少于原始发行的200000000,减少了2807618枚。
点击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如下:
0x826866c66e9a14fa7acf2ef8c5945190884a59914e2d164015219da8c907ffa2
这个数量与销毁数量是一致的。交易概要如下:
其中源地址是众所周知的Binance的热钱包地址(如果你还不知道,赶快记下来),而目的地址则是一个没有多少交易的地址:
0x00d41f0c9a94edbfac0cc0b3b02bd1f14a5ee237
我们点开来看看。
容易看到,这个地址上有3笔ETH转入交易,3笔BNB转入交易,1笔成功的BNB转出交易,1笔失败的BNB转出交易(有叹号的那个),
以及三笔BNB智能合约的执行交易
。
其中最近的一笔BNB转入交易,就是我们上面用Excel筛出来的1821586枚BNB的转账。
(*知识点:Token的转入交易实质上是发生在源地址与合约地址之间的交易,因此不会显示在目的地址的Transactions列表里。)
从这个界面里可以方便地得知,这三笔BNB智能合约内执行交易的txid分别为:
0xcddfe7bff402d9fa4876f769bcc839848406a80a95f284ee3167a05cf50ea596
0x5c2c458b4af0ed8d3ce822fbae71878de10b8a2405101344456c358e19045463
0x3ebe8fa51909536be4ecae47b0877fa72ec5fd2afda7ae2d829064847757282b
发生的时间依次为:
2017/10/18
2017/10/18
2018/01/15
而交易详情分别为:
可以看到,他们都调用了burn这个函数。burn函数值只接收一个参数就是销毁数量,那么这三个销毁数量分别是多少呢? 我们把这些十六进制数转成十进制:
(区块链上用的是256位无符号数,而我们普通的电脑一般是32位最多64位,所以电脑自带的计算器可能无法完成这个转换工作。我是使用