waku-org / bounties

Community bounties for the waku ecosystem
10 stars 2 forks source link

[BOUNTY] Build dApp of Your Choice Using Waku (Decentralized Communication) and React Native #12

Closed fryorcraken closed 6 months ago

fryorcraken commented 11 months ago

Context

Waku Is Uncompromising Web3 Communication at Scale. A family of robust, censorship-resistant communication protocols, designed to enable privacy-focused messaging for web3 apps.

The JavaScript implementation of Waku, js-waku, enables web apps to utilize the Waku network for off-chain message transmission.

Disclaimer: Waku is experimental, you may find blocking issues while developing your web app. We will prioritize their resolution to unblock you, which means you may have to pause development until done. Thank you for your patience and understanding.

Your participation in this bounty is subject to your acceptance of our terms and conditions. Please see https://github.com/waku-org/bounties#applying-for-a-bounty for details.

Rewards

1500 DAI.

Timeframe to Completion

Once the application is approved, the result must be submitted within 30 days.

Application Evaluation

To ensure you are selected for this bounty, provide the following information:

Bounty

This bounty specifies 3 deliverables, all needed to consider the bounty complete. Partial delivery of the bounty will not make you eligible for the prize. The deliverables are:

  1. A simple mobile app written using React Native
  2. A post on your blog to guide a reader through building the web app.
  3. A tweet thread explaining how your web app works and leverages Waku for private, decentralized communications.

The bounty aims to inspire developers to build applications using Waku. This is why the mobile app's nature is up to the hacker. However, to push for creative use of Waku, we will not accept chat apps or chat features using Waku.

Impact

The web ecosystem has a number of frameworks that each have different pre-configured bundler. To ensure a smooth dev ex for all web developer, it is best to not only test @waku/sdk against the last version of each framework but also provide examples on how @waku/sdk can be used with concepts unique of said framework (e.g. React Components).

It is difficult to have expert of all frameworks in a team, so best to outsource this to the community.

Deliverables

(1) Mobile App

Build a mobile app using React Native.

Acceptance Criteria

You must fulfil all the criteria below to consider the bounty valid:

Please describe your idea as part of the application to ensure your submission will fulfil the criteria.

We may add high-quality submissions to our example repo.

(2) Blogpost

Write a blog guide that takes a reader through building your mobile app. The reader should be able to build a working web app by following your guide.

We recommend building a simple web app to make the guide easy to write and read.

The blog post must be licensed under CC0.

High-quality guides maybe be edited and added to the Waku docs at https://docs.waku.org/.

Acceptance Criteria

We prefer moderate-length articles, ideally between 1500 to 3000 words (excluding code). While not mandatory, we strongly encourage you to adhere to this guideline.

When relevant, reference concepts and definitions from our documentation (https://docs.waku.org) and provide a link to our community (https://docs.waku.org/community) for additional assistance.

Avoid submitting articles you have already published or have a high plagiarism score to existing ones.

(3) Twitter thread

Post a Twitter thread from your Twitter account that describes how the mobile app uses Waku.

For example, if you build a tic-tac-toe game, describe how your web app finds another player using Waku and then exchange the moves over Waku.

Acceptance Criteria

Resources

Learn more about Waku at https://docs.waku.org/. Join our Discord to get support at https://discord.waku.org/. Various examples available at https://github.com/waku-org/js-waku-examples/.

b4s36t4 commented 11 months ago

IDEA: Party Pay

A simple and minimal Idea to accept payments using Web3 & Notify Users about the payment using waku

Plan:

1. Build an react-native that supports web3 payments (maybe solana for less learning curve ;)).

2. User comes to app login using his wallet and register a party date and we would create a QR code.

3. He can share the QR code with their friends & family where people can scan using the same and can pay to the User who created QR code.

4. Every entry that made using the QR code would be sent to User registered to topic to notify user about payment ;)

5. All the Party QR code a user created would be saved into a different topic.

Waku is the main & core part of the app to inform about payment receiving or sharing his party information.

Track Record:

I have a good knowledge about waku, and I have built few apps using waku.

Timeline:

Around 2 weeks.

fryorcraken commented 11 months ago

@b4s36t4 what is the added value? Wouldn't the user see the incoming transaction?

Or are you saying that the payer sends the "payment done" with transactionid to the payee, so the payee knows that this specific "invoice" or "party" has been paid?

What do you mean by "party" btw?

b4s36t4 commented 11 months ago

Or are you saying that the payer sends the "payment done" with transactionid to the payee, so the payee knows that this specific "invoice" or "party" has been paid?

Yes Notifying the user about payment is what Waku is adding the value.

It's just a name, Kind of accepting gifts or payments for a party.

@fryorcraken

b4s36t4 commented 11 months ago

Mainly splitting amount spent for a party, it's a thing in India 😁

fryorcraken commented 11 months ago

Or are you saying that the payer sends the "payment done" with transactionid to the payee, so the payee knows that this specific "invoice" or "party" has been paid?

Yes Notifying the user about payment is what Waku is adding the value.

It's just a name, Kind of accepting gifts or payments for a party.

@fryorcraken

Can you specify the information that will be sent over Waku just to double check I understand this correctly?

b4s36t4 commented 11 months ago

it contains the amount sent and from whom I received the amount.

Information related to the payment, we can even see the tx info in the wallet but we're notifying about the tx to user using waku and waku filter which User can recive notifications real-time.

b4s36t4 commented 10 months ago

Screenshot_2023-09-27-11-33-53-275_com.whatsapp.jpg

b4s36t4 commented 10 months ago

An example notification for reference.

fryorcraken commented 10 months ago

@b4s36t4 this looks good.

Please confirm your details haven't changed since you entered the information in typeform for #1.

b4s36t4 commented 10 months ago

@fryorcraken yes same details. But I'm just wondering which one to pick first, as we first have discussed about next.js bounty right? Pick this first or that one?

fryorcraken commented 10 months ago

@fryorcraken yes same details. But I'm just wondering which one to pick first, as we first have discussed about next.js bounty right? Pick this first or that one?

This react Native bounty would be a bigger contribution to the Waku ecosystem so I'd suggest to start with this one.

b4s36t4 commented 10 months ago

Sure, cool. Starting with react native it is.

b4s36t4 commented 10 months ago

@fryorcraken can you assign this to me, so that I'll start working on this.

fryorcraken commented 10 months ago

Bounty assigned to @b4s36t4

@b4s36t4 application approved, you can start the work.

Please remember that blogpost and Twitter must be delivered to complete the bounty and get the reward.

fryorcraken commented 9 months ago

@b4s36t4 it has been a month, any progress?

b4s36t4 commented 9 months ago

@fryorcraken Sorry for not responding earlier. I am making progress it was almost completed. I did have some difficulty in understanding the react-native SDK.

https://github.com/b4s36t4/wakuParty Current Repo. Should be able to complete all things by End of this week.

I know the deadline is for 30days, requesting you to consider extension of deadline. Thanks :)

fryorcraken commented 8 months ago

Extension done. Do note that I understand there may be some limitation from js-libp2p side regarding usage in react native. Let us know how it's going.

fryorcraken commented 8 months ago

https://github.com/waku-org/js-waku/issues/628#issuecomment-1819521736

mindsgn commented 7 months ago

hi @fryorcraken, is this bounty open?

OxMarco commented 7 months ago

Hi, would you be open to assign a bounty to build a mobile app using ReactJS and socket supply or capacitor?

fryorcraken commented 6 months ago

Not open yet, need to clarify few things

fryorcraken commented 6 months ago

We decided to handle this ourselves to ensure we can sort out any issue with js-libp2p and provide great UX. Tracked with https://github.com/waku-org/pm/issues/124 as part of 2024 roadmap.