BEP20 如何从 maxlimit 函数中排除销毁钱包
Posted
技术标签:
【中文标题】BEP20 如何从 maxlimit 函数中排除销毁钱包【英文标题】:BEP20 How to exclude the burn wallet from the maxlimit function 【发布时间】:2021-08-18 21:44:44 【问题描述】:我正在尝试创建一个项目和新的solidity。 我添加了一个最大限制以防止鲸鱼钱包。 限制是 150m 代币,我想烧更多的代币,如何从这个函数中排除烧录地址 0x0000000000000000000000000000000000000000。
代码:
@函数_transfer(
uint256 contractBalanceRecepient = balanceOf(to);
require(contractBalanceRecepient + amount <= _maxWalletToken, "Exceeds maximum wallet token amount (150,000,000)");
向凯文问好!
【问题讨论】:
【参考方案1】:您可以扩展require()
中的条件,使其仅适用于非 0x0 的地址。
require(
(
contractBalanceRecepient + amount <= _maxWalletToken
&& to != address(0x0)
),
"Exceeds maximum wallet token amount (150,000,000)"
);
注意:大多数刻录实现不会将代币转移到0x0
。相反,他们只是降低总供应量,降低发件人余额并发出Transfer()
事件,就好像他们正在转移到 0x0 - 而不执行实际转移......但是你的方式(实际转移到 0x0)也是可能的。
【讨论】:
以上是关于BEP20 如何从 maxlimit 函数中排除销毁钱包的主要内容,如果未能解决你的问题,请参考以下文章
如何获得USDT余额BEP-20? web3.eth.getBalance