赞
踩
ERC20标准token空投方法,网上找了一些资料都比较有限,而且通过etherscan.io发现,很多空投方法都是集合到了token合约里;
但是我们需要的是别人给你token合约地址,而你用自己的空投合约帮别人空投。经过一系列测试,现在有一些眉目了,技术路线基本清晰了,做一下记录说明。
- 第一步,有一个token合约和空投合约;
- 第二部,向空投合约地址转需要空投的token;
- 第三部,使用空投合约进行空投;
- 第四部,取回空投合约账户下剩余的token;
首先写一个比较简单erc20的合约,用作测试。这里大家只要按照标准的erc20协议,部署一个就可以了;
下面看一下批量空投合约的写法。
这里主要看一下,AirTransfer方法,在这个方法里,我们先通过token合约地址获取到合约的实例,然后获取合约的transfer方法;通过for将传进来的地址依次空投token即可;
这里有一个坑需要注意,我们需要先把要空投的token转移到空投合约地址,然后在从空投合约地址转移到要空投的账户,为什么这么做呢?主要是因为大部分token合约的transfer函数影响的,因为transfer里,from地址都是调用该token合约的账户,如果该账户没有钱则必然失败,在该例中,token合约的调用者是空投合约,所以我们需要先向空投合约地址转钱。
总结一下,实际情况中,我们可能遇到不同的token合约,但是思路是不变的,将token转移到合约地址,然后向每个账户依次调用transfer进行转账就可以了;所以写空投合约最好根据token合约来写,不同token合约,空投合约也会有所不同。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。