I am planning an airdrop of an ERC20 mintable token created through a crowdsale contract based on Open Zeppelin.
Now what I am wondering, is what would be the cost effective way of adding an airdrop functionality. Here's what I could think of:
Send all tokens reserved for the airdrop to the crowdsale's owner wallet on contract creation and then write a small Node.js + Web3 + ethereumjs-tx app that simply loops through the list of airdrop wallets and sends to each one of them some tokens (wallet to wallet) using
Add an airdrop method to the Crowdsale contract that will receive the array of wallet addresses and loop through those,
mint()ing and transferring the tokens to each of them. Then call that method through Node.js + Web3 passing it the list of addresses?
Is there a better way that I am missing?
What would be cheapest way to do this?