I read an article on hacknoon where a company said they implemented an airdrop to 40000 customers by using a function that takes an address[] recipients parameter. While they did repeatedly call the function with batches of 80 addresses I wondered if this was still the best practice to use ? after all doesnt it require a lot of gas and have high chances of some batches failing which requires complex retries etc.
I've also heard of other techniques where instead the tokens are just minted by the organization and then recipients merely claim/pull the airdrops individually via a separate process.
I guess the downside of the 'pull' approach is that anyone could claim the token - unless of course the intended recipients were whitelisted in the contract up front (which would probably be as much work as the batch transfer mentioned above)
Up side of the pull approach is that the gas fee is put upon the claimant.
just wondered if there were any other ways of doing this?