openzeppelin-contracts icon indicating copy to clipboard operation
openzeppelin-contracts copied to clipboard

Add Airdrop contract

Open demibrener opened this issue 7 years ago • 11 comments

  • [ ] 🐛 This is a bug report.
  • [X] 📈 This is a feature request.

Introduce an Airdrop smart contract standard to the OpenZeppelin library.

Airdrops became a way for projects to distribute tokens to their community, in an effort to bootstrap the usage and support of their platform. During 2017, we've seen Airdrops performed by projects like OmiseGo and Kyber, among others: https://github.com/omisego/airdrop https://github.com/KyberNetwork/airdrop Also, products are emerging for projects to perform Airdrops: https://news.earn.com/launch-your-token-with-an-earn-com-airdrop-97715970f8c7

With an increasing number of emerging projects in the space struggling to get the adoption they need to justify their market prices, I believe Airdrops will become more popular during 2018. Therefore, it would be great to have an Airdrop smart contract standard in OpenZeppelin, the most popular smart contract library in the space today.

demibrener avatar Jan 24 '18 14:01 demibrener

Thanks @demibrener! I like the motivation for this feature.

If I understand correctly, an "airdropper" would basically be a "multisend" function.

frangio avatar Jan 24 '18 14:01 frangio

Thanks @frangio! I believe so.

demibrener avatar Jan 24 '18 14:01 demibrener

Note that most of the work in an airdrop are the off-chain tools for:

  • collecting the receiving addresses from a blockchain scan (or other criteria)
  • automating a huge number of batched transfers

The contract itself should not be that complex, it's just a transferMany method, tailored to use as little gas as possible.

spalladino avatar Jan 24 '18 15:01 spalladino

i wrote an open source airdrop tool using nodejs, require users to registers in a form, their email and phone number, the code is heavily asynchronous and can handle lots of users.

cedricwalter avatar Jan 26 '18 14:01 cedricwalter

Nice! Care to share a link?

spalladino avatar Jan 26 '18 14:01 spalladino

https://github.com/StutzCoin/airdrop

making it more generic is not difficult, after we have airdrop our token i will continue maintaining the tool for fun

cedricwalter avatar Jan 26 '18 14:01 cedricwalter

@cedricwalter Thank you.

FradSer avatar Jan 30 '18 13:01 FradSer

Is anybody working on this ? If not, I would like to send a PR for this feature

subramanianv avatar Mar 24 '18 18:03 subramanianv

Not that I know of, feel free to give it a shot!

spalladino avatar Mar 26 '18 13:03 spalladino

To keep in mind: https://blog.ricmoo.com/merkle-air-drops-e6406945584d

frangio avatar Apr 06 '18 13:04 frangio