developer-grants icon indicating copy to clipboard operation
developer-grants copied to clipboard

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

Open LanfordCai opened this issue 2 years ago • 7 comments

Grant category

Please select one:

  • Open source maintenance

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:

  • Launched for more than 4 months
  • More than 20 tokens supported
  • Support the check for accounts with invalid format or invalid account setting.
  • Support uploading recipients by using CSV

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

  • Target audience
    • The community operators / DAO core members #onFlow
  • Evidence for the need
    • The lack of NFT bulk transfer tools #onFlow

Proposed solution

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

  • Support transfer to .find and .fn domains
  • Support Lost&Found and Flowns Inbox to allow the transfer to accounts with invalid settings
  • Bulk transfer multiple kinds of NFT to one account
  • Bulk transfer multiple NFTs of one kind to multiple accounts
  • Advanced mode for users to bulk transfer customized Fungible Tokens (customized tokens should be recorded in the signer's account)
  • Advanced mode for users to bulk transfer customized NFTs (customized tokens should be recorded in the signer's account)

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

  • In what ways does this benefit the broader Flow developer ecosystem?
    • This tool will make the builders and operators in the ecosystem work in a more efficient manner.

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: [email protected]
discord: lanford33#2178

LanfordCai avatar Aug 26 '22 02:08 LanfordCai

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

LanfordCai avatar Aug 26 '22 02:08 LanfordCai

great, thank you @LanfordCai

alxflw avatar Aug 26 '22 16:08 alxflw

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!

chrisackermann avatar Nov 08 '22 20:11 chrisackermann

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.

LanfordCai avatar Nov 09 '22 03:11 LanfordCai

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)?

chrisackermann avatar Nov 16 '22 15:11 chrisackermann

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).

LanfordCai avatar Nov 16 '22 16:11 LanfordCai

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!

chrisackermann avatar Dec 20 '22 14:12 chrisackermann