onflow / developer-grants

Grants for developers that contribute to the broader developer ecosystem
Apache License 2.0
50 stars 18 forks source link

Drizzle: Token Distribution Tool #onFlow #68

Open LanfordCai opened 2 years ago

LanfordCai commented 2 years ago

Grant category

Please select one:

Description

Problem statement

Token distribution (Airdrop/Raffle etc) is a common need in crypto space now. A project may want to send giveaway to its community; A DAO may need to reward some contributors; A member of a Discord channel may want to distribute some tokens to other members to show appreciation or just to liven up the channel.

Over the past two years, small DAOs are blooming in Web3, and there will be more and more DAOs crowding into the Web3 world, increasing the needs for Token Distribution. But it’s hard for small communities to find experienced smart contract developers to help them to make Token Distribution Tools, and the currently available tools on Flow are not user-friendly enough:

After collecting an access-list by using FLOAT or Hype.Day, you need to run a program locally or use a centralized service to determine how much an account in the access-list should get or who are the winners(well, this is more than just tedious, it is not transparent), and eventually transfer to the eligible accounts or winners one by one, or use bulk transfer tools like bayou (FT only now, and it seems that no universal NFT bulk transfer tool exist on Flow so far).

We need to make Token Distribution easier and more transparent to empower all the communities/DAOs on Flow.

Proposed solution

To address these problems, I’ve made a product named Drizzle for the Flow ecosystem:

To make Drizzle serve Flow ecosystem better, we are going to add following features:

Impact

Milestones and funding

Note: You can leave the USD proposal empty / "TBD". Please consider adoption and/or maintenance milestones at the end of your project.

Milestone Deliverables Timeline Risks USD proposal
1 - Support .find and .fn domain(both display and whitelist) Function available on website 1 week May need support from .find and .fn teams 2000
2 - Support more projects for raffling like NBATopShot / Flunks / Ballerz, etc, so that more communities can use Drizzle Support more than 10 NFT types (3 now) 1 month May need support from NFT projects 8000
3 - Support Merkle Drop for large-scale airdrop Function available on website 2 weeks May need more time 4000
4 - Support Fungible Token Raffle Function available on website 2 weeks May need more time 4000
5 - Maintenance Fix bugs/ Support / Cloud Service Maintenance 1 year 6000
6 - Adaption more than 10 communities have used Drizzle 3 months after completion 5000

Team

Name Role Bio Contact
Lanford33 Full-Stack Engineer ... email: lanfordcai@outlook.com
discord: lanford33#2178
alxflw commented 2 years ago

thanks for the submission @LanfordCai! we're going to review this and get back to you soon

alxflw commented 2 years ago

@LanfordCai after first review, we'd suggest you split this up into two grant applications - one for each tool. Can you also add a USD proposal to the list? thanks!

LanfordCai commented 2 years ago

@alxflw Hi! I have split this into two applications, this one is for Drizzle, and https://github.com/onflow/developer-grants/issues/79 is for Bayou! Thank you!

LanfordCai commented 2 years ago

@alxflw Hi! Are there some feedbacks about Drizzle or Bayou so that I can make necessary changes?

alxflw commented 2 years ago

sorry for the wait @LanfordCai - we're still gathering feedback to make a final review. please stay tuned. thanks!

chrisackermann commented 2 years ago

Hi @LanfordCai! Thanks for your patience - apologies that it took a little time to review with the right folks.

The proposal looks great! We have a few light pieces of feedback/questions for you:

Support .find and .fn domain(both display and whitelist)

Are there any specific use cases that you already have in mind for this?

Support more projects for raffling like NBATopShot / Flunks / Ballerz, etc, so that more communities can use Drizzle

What are the current challenges of onboarding NFT collections through Drizzle?

Lastly - can you please add a milestone that is tied to some level of adoption of the these tools? Perhaps an adoption milestone that is triggered when you have a certain number of projects that have used them?

LanfordCai commented 2 years ago

Hi @chrisackermann, thank you for your feedback!

  1. .find and .fn domains are very popular in Flow community, they can be used as a short name of people's Flow address, it will be make drizzle's pages more readable to users, and also make some operations more easily and convenient(e.g. add lanford33.fn to the whitelist directly rather than my Flow address)
  2. Some projects haven't fully implemented the standard defined in NFTCatalog(an example is TopShot at the time this proposal created -- they didn't implement the display view so that it was impossible to get the thumbnails of the NFT), and the NFT withdrawal is hard at that time(haven't check the condition now), like Flunks, I can't withdraw them from dapper wallet to do the test. All in all, there are problems like this and that, for some problems I need the help from the NFT projects.
  3. Milestones are updated now. I added "Support draw-only mode which will not require real NFT as reward but only draw the winner on-chain", this feature request is from the feedback of users, they want a mode which only draw the winner, like a on-chain random name picker.
chrisackermann commented 2 years ago

Hi @LanfordCai, thanks for these replies!

In terms of the list of features, could we please scope this proposal down to the feature additions that will address the biggest pain points at the moment? It seems like Milestones 5-8 could be longer-term improvements that we could perhaps break out into a follow-on grant after completion of this one.

Also on support - can you please propose a specific length of time for which you intend to provide support?

LanfordCai commented 2 years ago

Hi @chrisackermann !

I have removed Milestones 5-8 from this proposal and added the timeframe of maintenance! Thank you!

chrisackermann commented 2 years ago

Hi @LanfordCai, thanks for your patience! I just wanted to let you know that we've accepted your proposal and will be following up directly via email with next steps. Thanks!