具有空投功能的 BEP-20 智能合约

Posted

技术标签:

【中文标题】具有空投功能的 BEP-20 智能合约【英文标题】:BEP-20 smart contract with airdrop feature 【发布时间】:2021-07-22 18:22:35 【问题描述】:

我正在创建自己的 BEP20 代币,并希望实现一次将代币空投到多个地址的功能,以降低 gas 费用。用例将是在发布后向选定用户赠送免费代币。

这是我目前拥有的代码,但似乎缺少一些东西才能正常工作:

contract Airdrop is Ownable 

IERC20 token;

struct PaymentInfo 
  address payable payee;
  uint256 amount;

constructor(address _token) public 
    token = IERC20(_token);


function batchPayout(PaymentInfo[] calldata info) external onlyOwner 
    for (uint i=0; i < info.length; i++) 
        token.transfer(info[i].payee,info[i].amount);
    


function transfer(address to, uint256 amount) external onlyOwner 
    token.transfer(to, amount);
    

我可以使用 ERC20 示例中的代码 sn-ps 吗?他们会与 BEP20 合作吗?

【问题讨论】:

【参考方案1】:

以太坊和币安智能链使用的代币标准略有不同,因此为以太坊虚拟机设计的大部分 Solidity 代码都需要进行细微更改,包括将提及的 IERC20 替换为 IBEP20 以及为 IBEP20 接口使用正确的 Solidity 文件。

如果您使用正确版本的 Solidity 编译器,它应该会告诉您代码是否需要进一步更改。实际测试,最好在币安智能链测试网测试代码。

【讨论】:

【参考方案2】:

您不需要在令牌本身中包含批量发送。由于智能合约是可组合的,因此存在可以代表任何代币批量发送的第三方智能合约。

使用开源智能合约的一个示例服务是Token BulkSender。批量发送智能合约的来源是here。

【讨论】:

以上是关于具有空投功能的 BEP-20 智能合约的主要内容,如果未能解决你的问题,请参考以下文章

Freemoon 金融生态系统一览

如何将 BSCScan 中的合约部署到币安智能链上?

下一代智能合约开发语言

Binance Smart Chain - 将合约从测试网迁移到主网

智能合约重构社会契约(11)天德区块链智能合约系统

智能合约重构社会契约(11)天德区块链智能合约系统