我可以使用web3.js在bep20上创建一个事务,事务的结果如下:
https://bscscan.com/tx/0xbe21da71e975cb1b092fc7838e9885704dc676b80f4decd089854f9759c1d633
交易中的资产金额为252,000,000 Babydoge,但在data部分,您可以看到以下内容:
Function: transfer(address recipient, uint256 amount)
MethodID: 0xa9059cbb
[0]: 00000000000000000000000066ab3910a28331fce99de609dd29790f76a9f4e8
[1]: 00000000000000000000000000000000000000000000000003e2c284391c0000如你所知,3e2c284391c0000在该数据中提到了我打算发送的金额!它的十进制对应值是280,000,000 Babydoge,为什么?它为什么不转移280万巴比多??
有趣的一点是280,000,000 - 28,000,000 = 252,000,000,实际上发生在事务中,有什么错误我看不到?
任何帮助都将不胜感激。
发布于 2023-04-07 09:12:17
这是因为BabyDoge令牌具有象征性转移税特性。
对于ERC-20令牌,transfer()函数可以有任意的实现,可以做他们想做的任何事情,包括没有给出适当数量的令牌。
大多数像这样做诡计的代币都是骗局。
https://ethereum.stackexchange.com/questions/148637
复制相似问题