首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何成功空投令牌

如何成功空投令牌
EN

Ethereum用户
提问于 2018-05-12 00:06:01
回答 3查看 3.1K关注 0票数 2

我有空投令牌的脚本,我所需要的就是知道在混合脚本的drop部分输入这些值:令牌、收件人、值。

假设我想发送到5个地址,请回复一个样本,我们可以复制和粘贴到字段。

EN

回答 3

Ethereum用户

发布于 2018-05-12 00:58:01

这就是您想要在契约参数字段中输入的内容。

令牌字段:“令牌合同的地址”

收件人字段:"address1“、"address2”、"address3“、"address4、address5”

values字段:1,2,3,4,5

在你提供代码之后,我正在更新我的答案。你的代码不安全。下面我给你做了一个简单的空投合同,我相信你会发现其中的不同之处。

代码语言:javascript
复制
    contract AirDrop is Owned {
    using SafeMath for uint256;

    uint8   public constant DECIMALS = 18;
    uint256 public constant DECIMALFACTOR = 10 ** uint256(DECIMALS);
    uint256 public AIRDROP_SUPPLY = 10000000 * uint256(DECIMALFACTOR);
    uint256 public TOTAL_SUPPLY = 1000000000000 * uint256(DECIMALFACTOR);
    uint256 public claimedTokens = 0;

    AirdropToken public airdropToken;

    mapping (address => bool) public airdropReceivers;

    event AirDropped (
        address[] _recipients, 
        uint256 _amount, 
        uint256 claimedTokens);

    constructor() public {
        airdropToken = new AirdropToken(this);
    }

    function airDrop(address[] _recipients, uint256 _amount) external onlyOwner {
        require(_amount > 0);
        uint256 airdropped;
        uint256 amount = _amount * uint256(DECIMALFACTOR);
        for (uint256 index = 0; index < _recipients.length; index++) {
            if (!airdropReceivers[_recipients[index]]) {
                airdropReceivers[_recipients[index]] = true;
                airdropToken.transfer(_recipients[index], amount);
                airdropped = airdropped.add(amount);
            }
        }
    AIRDROP_SUPPLY = AIRDROP_SUPPLY.sub(airdropped);
    TOTAL_SUPPLY = TOTAL_SUPPLY.sub(airdropped);
    claimedTokens = claimedTokens.add(airdropped);
    emit AirDropped(_recipients, _amount, claimedTokens);
    }
}
票数 1
EN

Ethereum用户

发布于 2018-05-12 08:05:08

那个合同是不安全的。任何人都可以叫它,然后空投所有的令牌给自己。不要向它发送任何标记,除非你不介意丢失它们。

票数 1
EN

Ethereum用户

发布于 2018-05-12 10:58:35

几天前,我不能完全按照Remix所要求的那样做:传递数组来实现params函数。但是我可以用https://www.myetherwallet.com/ (MEW)做到这一点。

  1. 转到合同页面(https://www.myetherwallet.com/#contracts )
  2. 在“合同地址”字段中,指向已部署的合同。
  3. 在ABI/JSON接口字段中插入ABI,您可以从混合(编译页面-详细信息按钮-ABI部分)获取它。
  4. 按下存取按钮
  5. 从下拉框中选择空投方法
  6. 在下面的字段中,您将看到字段为您的params,现在!弃权!把你的地址和金额不带undefined,只要逗号。

看上去像这样。

然后连接到你的钱包,然后按下写。

在这个例子中没有空投方法,但是有multiTransfer --这是一样的,您可以在这里看到https://rinkeby.etherscan.io/address/0x0db720da802ea43ba7e725c868cd6fed2db06a9c#code

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/48290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档