onflow / developer-grants

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

Bayou: Bulk transfer tool for both FT and NFT #onFlow #79

Open LanfordCai opened 2 years ago

LanfordCai commented 2 years ago

Grant category

Please select one:

Description

Problem statement

With the blooming of DAOs, bulk transfer is an increasingly important feature for community operation in Web3. It would be annoying and inefficient for an operator to send tokens to the recipients one by one.

Currently, we have built a tool named bayou for the bulk transfer of Fungible tokens, and it works well so far:

but there is still no universal NFT bulk transfer tool now, and we want to add this to bayou!

Proposed solution

We are going to add some features to bayou to support the NFT bulk transfer and improve user experience:

The NFT bulk transfer feature is not only an input field for users to input tokenIDs, but comes with a much more user friendly click-to-choose UI, like what's on drizzle:

FlovatarComponent

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 Lost&Found and Flowns Inbox to allow the transfer to  accounts with invalid settings Function available on website 1 week  May need support from flowns and flowty teams 2000          
3 - Bulk transfer multiple kinds of NFT to one account   Function available on website 2 weeks    4000          
4 - Bulk transfer multiple NFTs of one kind to multiple accounts  Function available on website 2 weeks    4000          
5 - Advanced mode for users to bulk transfer customized Fungible Tokens (customized tokens should be recorded in the signer's account) Function available on website 1 week    2000          
6 - Advanced mode for users to bulk transfer customized NFTs  (customized tokens should be recorded in the signer's account) Function available on website 2 weeks    4000          
7 - Adoption  more than 200 bulk transactions created via Bayou 6 months   4000   
8 - Maintenance  Fix bugs/ Support / Cloud Service Maintenance 1 year   4000   

Team

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

@alxflw Hi, I have split #68 into two applications, this one is for Bayou, and #68 is for Drizzle, thank you!

alxflw commented 2 years ago

great, thank you @LanfordCai

chrisackermann commented 1 year ago

Hi @LanfordCai!

On this proposal, could you please include an adoption milestone (similar to your other proposal) and also propose a specific timeframe for how long you intend to support against the Maintenance milestone? Thanks!

LanfordCai commented 1 year ago

Hi, @chrisackermann ! Thank you for your feedback!

I have added the adoption milestone and the timeframe.

For the adoption, Bayou send the fund/NFTs directly by using a single Transaction instead of calling a contract, so it's hard to record how many uses now(But as far as I know, people from some teams, including Flow team are using it). If you think it's necessary to record the adoption condition, I will try to change it to a contract, but in this way, other people will easily know the fund is distributed by bulk transfer tool. Or I will add a button, people can click it to sign a message to show "Like" to Bayou, in this way the record might not be that precise.

For the timeframe, in fact, I'll maintain it as long as I can.

chrisackermann commented 1 year ago

Hi @LanfordCai - we've reviewed and just had a few small follow-up questions for you:

  1. Would you be able to share some more thoughts on how developers might use this?
  2. Have you thought about integration with wallets (i.e. a bulk transfer button)?
LanfordCai commented 1 year ago

Hi Chris!

  1. Bulk transfer tool is useful to anyone who manages a community or works with multiple collaborators, this tool saves users the time required to initiate transfers individually to large groups of people, so I think the main audience is community operator. For developers, I think it can be used to distribute Tokens(both FT and NFT) to multiple test accounts to do the integration tests.
  2. It's good if a wallet can integrate with bulk transfer tool and give the users a 'bulk transfer button'. Now Bayou exists as a dApp and people can connect and use it by using the wallet they like(Blocto, Lilico etc).
chrisackermann commented 1 year 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!