solidity Dapp 积分批量投放合约

    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合约,空投合约也会有所不同。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0xweb3q

有钱的捧个钱场,没钱的捧个人场

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值