当前位置:   article > 正文

solidity Dapp 积分批量投放合约_批量发布合约

批量发布合约

    ERC20标准token空投方法,网上找了一些资料都比较有限,而且通过etherscan.io发现,很多空投方法都是集合到了token合约里;

    但是我们需要的是别人给你token合约地址,而你用自己的空投合约帮别人空投。经过一系列测试,现在有一些眉目了,技术路线基本清晰了,做一下记录说明。

  1. 第一步,有一个token合约和空投合约;
  2. 第二部,向空投合约地址转需要空投的token;
  3. 第三部,使用空投合约进行空投;
  4. 第四部,取回空投合约账户下剩余的token;

    首先写一个比较简单erc20的合约,用作测试。这里大家只要按照标准的erc20协议,部署一个就可以了;

   下面看一下批量空投合约的写法。

        这里主要看一下,AirTransfer方法,在这个方法里,我们先通过token合约地址获取到合约的实例,然后获取合约的transfer方法;通过for将传进来的地址依次空投token即可;

        这里有一个坑需要注意,我们需要先把要空投的token转移到空投合约地址,然后在从空投合约地址转移到要空投的账户,为什么这么做呢?主要是因为大部分token合约的transfer函数影响的,因为transfer里,from地址都是调用该token合约的账户,如果该账户没有钱则必然失败,在该例中,token合约的调用者是空投合约,所以我们需要先向空投合约地址转钱。

        总结一下,实际情况中,我们可能遇到不同的token合约,但是思路是不变的,将token转移到合约地址,然后向每个账户依次调用transfer进行转账就可以了;所以写空投合约最好根据token合约来写,不同token合约,空投合约也会有所不同。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/369204
推荐阅读
  

闽ICP备14008679号