我应该为 Bep20 代币设置每笔交易/24 小时的最大卖出限额吗?
Posted
技术标签:
【中文标题】我应该为 Bep20 代币设置每笔交易/24 小时的最大卖出限额吗?【英文标题】:Should I set a maximum sell limit per transaction/24 hours on a Bep20 token? 【发布时间】:2021-08-12 15:33:17 【问题描述】:我正在创建一个代币,并想解决抽水和转储的大鲸鱼问题,或者只是转储问题。因此,我考虑限制一个地址每笔交易或每 24 小时可以销售多少。
这在 Bep20 智能合约中是否可行?我的编码员告诉我不是。如果是,这是否也会自动影响一个人可以购买的数量?
这种限制会产生未知的负面后果吗?
你会买这种代币吗?
最后,目前是否有任何 BEP20(或其他区块链)代币实现此功能?
感谢您的建议。
【问题讨论】:
【参考方案1】:可以限制一个地址在一段时间内可以接收多少令牌。
struct TransferHistory
uint32 transferTime;
address from;
address to;
uint256 amount;
mapping (address => TransferHistory[]) transferHistoryPerReceiver;
function transfer(address _to, uint256 _amount) external returns (bool)
require(receivedDuringPast24Hours(_to) <= 100, 'You can only receive up to 100 tokens during the past 24 hours');
function receivedDuringPast24Hours(address _who) external view returns (uint256)
// todo loop through `transferHistoryPerReceiver[_who]`
// filter and return sum based on the time period
去中心化交易所(例如 PancakeSwap)在其配对合约中持有代币(例如 YourToken/CAKE 是一对合约,YourToken/WBNB 是另一对合约,...)。您可以根据msg.sender
(即配对合约)限制转账。
if (msg.sender == pancakeswapPairAddress)
require(receivedDuringPast24Hours(_to) <= 100, 'You can only receive up to 100 tokens during the past 24 hours');
但是,一个人实际上可以拥有无限数量的地址。因此,除非您执行一些 KYC 流程(链下)将每个真实的人连接到他们的地址,否则可以轻松绕过此限制。
【讨论】:
哇。感谢您确认可以完成。我的编码员可能只是在他的技能方面受到限制。哈哈。我没有足够的声誉来投票,但我确实投了。你知道 pancakeswap 是否有购买限制。如果我创建一个流动资金池,有人可以一次购买全部吗? 目前没有硬性限制 - 除了实际流动资金池中的资产数量限制(不能超过实际支出)。如果您即将提交一个会显着改变价格或花费大部分质押资产的订单,那么在 Pancake UI 上几乎不会出现警告(并且可能需要在提交实际交易之前进行确认)。 谢谢。我计划在流动资金池上花费 10 亿美元来购买 300 亿个代币。我知道这有多危险。 @NiftyMcG,幸好我不是你的程序员,pancakeswap 将价格影响限制在 15%。以上是关于我应该为 Bep20 代币设置每笔交易/24 小时的最大卖出限额吗?的主要内容,如果未能解决你的问题,请参考以下文章