algorandfoundation / grow-algorand

Grow Algorand and Earn ALGOs ❤️
91 stars 33 forks source link

Open DApp Competition [400 - 5000 ALGO] #43

Open michielmulders opened 3 years ago

michielmulders commented 3 years ago

Overview

Description

What is this task?

Open competition with multiple winners to create valuable DApps for the Algorand ecosystem. The DApp should use Reach or PyTeal. We accept submissions for various categories, such as DeFi, gaming, identity, NFTs, digital goods, and many others. Make sure to describe what you want to build in your Gitcoin submission so we can give you feedback.

Develop and deploy the DApp to the Algorand testnet so users can try it out. Preferably, you should develop a minimal frontend application to interact with the DApp. The goal is to publish the DApp to the mainnet eventually.

On top of that, we expect the bounty hunter to submit a solution blog post that explains the different components of their DApp and important code snippets so other developers can learn from your work. Algorand will assist with editing and formatting the blog post.

We accept two types of submissions:

  1. Beginner DApps: A simple DApp that shows people how to interact with the Algorand network like a Tic-Tac-Toe game. Be creative!
  2. Advanced DApps: A complex DApp like an automated market maker that takes several days to develop. Reach out if you have questions!

If the Algorand ecosystem likes one of the DApps, we will offer additional funding through our grants program to continue developing or maintaining your DApp. The Algorand team will choose up to 4 submissions per month to be published.

What are the requirements for the bounty taker?

What are the deliverables?

1. Deployed DApp

Description

Deploy the DApp to the Algorand testnet and provide a link to the code repository (DApp and/or frontend). The following criteria will be used:

Submission Procedure

2. Solution Document

Description

Submit a complete solution article that explains your DApp, its functioning, architecture, and relevant code snippets to provide other developers with a complete understanding of your project. The post should be a minimum of 1000 words.

Writing Guidelines:

Submission Procedure Submit your blog post following these steps:

Other Requirements

gitcoinbot commented 3 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 400.0 ALGO (412.0 USD @ $1.03/ALGO) attached to it as part of the algorandfoundation fund.

michielmulders commented 3 years ago

@fabianaugustus Can you reapply for this bounty as we had some issues. Sorry for the inconvenience!

Make sure to include your original text:

I am building an entire ecosystem called Cryptomorrow) that will seek to educate (through gameplay) and invest in the futures of the next generation of cryptocurrency users. I have created a game based on characters from my children's novel "Far Beyond" (available in paperback on Amazon or as an Android app on the Google Play Store). As an initial step towards bringing the entire ecosystem to fruition, I have created an online version of one of the stages of a game based on Far Beyond characters that can be played online here https://ipfs.fleek.co/ipfs/QmNbTRQ3KWArSV8L9YTPaZJSJ5KfUdJ7DoyoaRDkaYcyPz/

Thank you!

gitcoinbot commented 3 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 5 days, 3 hours ago. Please review their action plans below:

1) fabianaugustus has started work.

I am building an entire ecosystem called Cryptomorrow) that will seek to educate (through gameplay) and invest in the futures of the next generation of cryptocurrency users. I have created a game based on characters from my children's novel "Far Beyond" (available in paperback on Amazon or as an Android app on the Google Play Store). As an initial step towards bringing the entire ecosystem to fruition, I have created an online version of one of the stages of a game based on Far Beyond characters that can be played online here https://ipfs.fleek.co/ipfs/QmNbTRQ3KWArSV8L9YTPaZJSJ5KfUdJ7DoyoaRDkaYcyPz/

More details available here: https://github.com/fabianaugustus/Cryptomorrow/tree/main

Thank you 2) estelle544 has started work.

I'm going to work on this project 3) kingrockzombie has started work.

Continue to work to raise ths to be the best of them all. 4) tommyford-miner has started work.

Making the right move to be best among others in such a way that will make us unique 5) maestrolisboa has started work.

I am counting on you! Yo let us do this all together and make the impossible more than possible! 6) adriankjk has started work.

Jeszcze się nie zastanawiałem ;p 7) twisty18 has started work.

Let's work together, let's generate a better tomorrow for the upcoming generation of Bitcoin users. 8) letrongtruong has started work.

I understand that this bonus is a bonus for cooperating multiple employees. Other bounty hunters can work side-by-side with me 9) nexia10 has started work.

I'm going to work on this project. I'd like to inform you about the justification of the project and promotion. 10) peluwise has started work.

Being an active participant in all the tasks 11) caddy02 has started work.

I understand that this bonus is a bonus for cooperating multiple employees. Other bounty hunters can work side-by-side with me 12) developer-piyush has started work.

I INTEND TO DEVELOP AN DAPP ON ALGORAND BLOCKCHAIN. 13) fsly15 has started work.

Samakan seperti uniswap 30% detail nya 70% dengan karya sendiri bedakan tools nya dan posisi segala tombol 14) valentinmoreno has started work.

Crear una extensión 15) vilijan has started work.

I am developing an application that provides automated bidding for a single NFT i.e ASA on the Algorand Blockchain. The solution is developed using PyTeal and the official Python-SDK.

The application has the following flow:

  1. A creator initializes the application and the NFT for which the people will bid. This step deploys the app and initializes the smart contracts that handle the asset transfer and the algo transfer.
  2. Via atomic transfer of 4 transaction the user can bid for the NFT. The user submits some amount of ALGOS and If he outbids the previous owner of the NFT, the NFT is transfered to his wallet. Additionally the old owner of the NFT receives back his previously bidded ALGOs because he no longer poses the asset. 16) lucasvanmol has started work.

Create a wagering dapp on the Algorand blockchain. Users will be able to wager their Algo's (or perhaps a specialized ASA in the future) on one of two teams. The creator of the dapp can then define a winner, whereupon the users that bet on the right team will be able to collect their wager + winnings based on how much they wagered, and how much was wagered for the other team. The creator of the dapp will be able to collect a small percentage of the total amount wagered in order to fund the project. There will also be a reclaim option if no winner could be selected.

The dapp will also be accompanied by a frontend web application which will allow users to view active wagers and participate in them using the JavaScript SDK and the AlgoSigner extension to sign the necessary transactions and opt in to the dapp. 17) iamswain25 has started work.

People reserve seats on boarding train, planes, etc. Many are public transportation, yet their seats reservations are neither transparent nor easily accessible. Governments put much resources on maintaining and upgrading legacy systems. Algorand's transparent transactions recording with smart contract, can help building seats reservation system with three features.

  1. Users can reserve an address on the smart contracts with certain period of time.
  2. Users can check if the address is reserved over a certain period of time. 18) emg110 has started work.

Alpos is a point of sale solution dApp which provides: 1- Resource management via smart contracts with auto update on remaining goods, checkpoints and... 2- Goods and raw materials as standard assets and minting them as sales-ready products. 3- Auto generation of parametrized escrow accounts per goods items (Asset ---> product----> escrow) 4- Stateful smart contracts to control sales (limit order, HTLC and direct Algo payments) 5- Warehouse management, report and untampered history. 6- Dynamic update of smart applications with new rules and configurations (on mutable fields) 7- Auto generation of QRCodes on every step of the way to make everything able to be transmitted online and also offline (txns, sigs,...) 8-Auto generation of QRCode for every offline item (txn, Sig,..) 9- Series generation of assets, raw transactions and signed transactions with printable series labels. 10- Using new features : smart bonuses, smart coupons, smart discount themes and smart gifts.

Note: All QRCode features and UI/UX are re-used from the work already contributed by author, @emg110. Features described above and the Alpos solution are subject to dApp bounty not any of UI/UX components. 19) deanstef has started work.

This solution will guide the reader through the design and the implementation of an Algorand dApp created for the management of employee loans arrangements involving companies, employees, and national financial authorities.

This solution takes advantage of Algorand Standard Asset (ASA), Atomic Transfers (AT) and Algorand Stateful and Stateless Smart Contracts (ASC1), to simplify the process of employee loans arrangements. The proposed solution makes use of goal CLI commands to deploy the application and interact with its functions. The smart contracts source code is provided in TEAL v3 programming language.

Learn more on the Gitcoin Issue Details page.

gitcoinbot commented 3 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 400.0 ALGO (372.57 USD @ $0.93/ALGO) has been submitted by:


gitcoinbot commented 3 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 400.0 ALGO (376.48 USD @ $0.9/ALGO) has been submitted by:

  1. @caddy02
  2. @kevindang83
  3. @vilijan
  4. @jsmith-bitflipper
  5. @kingsdami
  6. @deanstef
  7. @lucasvanmol

@michielmulders please take a look at the submitted work:


michielmulders commented 3 years ago

@vilijan I'm very interested in this solution. Let us know your current status on the DApp?

michielmulders commented 3 years ago

@fabianaugustus Let us know what the status is of your DApp?

Vilijan commented 3 years ago

@michielmulders

I have fully completed it. You can find it on the following repo: https://github.com/Vilijan/ASABidding

Additionally, I have submitted a detailed Solution on the Algorand portal which is currently in a review by the Algorand Team.

This is my first time interacting with Gitcoin and I am still confused about what should be my next steps.

Should I go to the Submit Work button and add my project link, as well with my hours and wallet ? Or is it too early for that ?

I am sorry if my questiosns are little bit stupid, but as I said I still need to learn how the bounties system works.

Thank you for your help.

michielmulders commented 3 years ago

@Vilijan No problem for asking and thank you for submitting. I've recorded it on our internal board. So yes, please submit the link via Gitcoin then we can later pay you out via the platform. Also, make sure to add your wallet address. If you are based in the US (seems not), then you should opt-in to the USDCa asset because we can't pay out US residents in ALGO tokens. The number of hours worked doesn't matter that much as we have criteria for evaluating the project but feel free to add an estimate. Great solution btw! It will take some time to review probably as I'll be on holiday but let's see how fast we can give you a response! You can reach out to me in the Algorand Discord as well.

michielmulders commented 3 years ago

@Vilijan No problem for asking and thank you for submitting. I've recorded it on our internal board. So yes, please submit the link via Gitcoin then we can later pay you out via the platform. Also, make sure to add your wallet address. If you are based in the US (seems not), then you should opt-in to the USDCa asset because we can't pay out US residents in ALGO tokens. The number of hours worked doesn't matter that much as we have criteria for evaluating the project but feel free to add an estimate. Great solution btw! It will take some time to review probably as I'll be on holiday but let's see how fast we can give you a response! You can reach out to me in the Algorand Discord as well.

Thanks @Vilijan for submitting on Gitcoin!

Vilijan commented 3 years ago

@Vilijan No problem for asking and thank you for submitting. I've recorded it on our internal board. So yes, please submit the link via Gitcoin then we can later pay you out via the platform. Also, make sure to add your wallet address. If you are based in the US (seems not), then you should opt-in to the USDCa asset because we can't pay out US residents in ALGO tokens. The number of hours worked doesn't matter that much as we have criteria for evaluating the project but feel free to add an estimate. Great solution btw! It will take some time to review probably as I'll be on holiday but let's see how fast we can give you a response! You can reach out to me in the Algorand Discord as well.

Thanks @Vilijan for submitting on Gitcoin!

@michielmulders Thank you for your help and contributions. I am really starting to like to community and the whole development experience. Have a nice holiday.

Btw, you guessed right I am not from US nor live there.

See you on the next bounty :D

DamianB-BitFlipper commented 3 years ago

@michielmulders I have a submission in progress for DApp for this hackathon. It is a DApp for diploma issuance on the Algorand blockchain. Currently, the code and Python SDK interaction program are mostly complete, and I am working on writing the README, in a similar fashion as Vilijan.

What I have now is here: https://github.com/JSmith-BitFlipper/algo-diplom

I would just like to make sure that I am progressing correctly and that everything is OK and I'm not missing anything. Thanks!

Mine77 commented 3 years ago

Hi @JSmith-BitFlipper Michiel is currently on a leave and I'm his helper here. Your project looks cool and you are on the right path. Please proceed to complete it and submit it over Gitcoin to leave a record there as well. We are in the reviewing process already and will pay out all the bounties at once when we are done. Thanks again for the contribution.

DamianB-BitFlipper commented 3 years ago

Just checking in. I finished my work. I double-checked that it met all of the submission guidelines listed on the project description page. I used the "Submit Work" button on Gitcoin as well as submitted a link to the README.md (that is my "blog" post for this project) to the google form.

Is there anything else I need in order to submit correctly? Do I need to link a Gitcoin wallet? All I have added is my Algorand address during the project submission.

Thank you very much! Programming this little DApp was a lot of fun!

michielmulders commented 3 years ago

@gidonkatten We like the proposal for the charity funding but we don't think we need it at this point, thanks for understanding!

michielmulders commented 3 years ago

That's perfect @JSmith-BitFlipper , we will review this!

michielmulders commented 3 years ago

@Vilijan We've got some feedback for your code solution. Let me know what you think and if you can address this?

It is lacking in detail the final step: ending the bidding and completing the asset settlement to seller/bidder. I don't see anything to do with timeout/round indicating when the bidding would end (like an auction). Also, I don't see how seller could "accept" the current highest bid.

Oh, another thing was not clear to me in the first reading: If the ASA is created/defined with clawback of this smart contract, is it reuseable by the Nth owner of the ASA to accept bids when they want to sell it?

Overall, great details and exactly the kind of smart contract content we want published.

michielmulders commented 3 years ago

@iamswain25 We are not looking for a voting application, thanks for your proposal!

Vilijan commented 3 years ago

@Vilijan We've got some feedback for your code solution. Let me know what you think and if you can address this?

It is lacking in detail the final step: ending the bidding and completing the asset settlement to seller/bidder. I don't see anything to do with timeout/round indicating when the bidding would end (like an auction). Also, I don't see how seller could "accept" the current highest bid.

Oh, another thing was not clear to me in the first reading: If the ASA is created/defined with clawback of this smart contract, is it reuseable by the Nth owner of the ASA to accept bids when they want to sell it?

Overall, great details and exactly the kind of smart contract content we want published.

Hello @michielmulders ,

Thank you for the detailed feedback.

Final Step

You are right I haven't implemented anything about the final step so the bidding is running infinitely. I would suggest the following feature logic for ending the bidding process:

So basically the application can end either by timeout or by accepting the current bid. Please tell me what do you think about this feature so I can start working on it this weekend. I would need to change the explanation accordingly.

Second point

I don't quite understand this can you please elaborate more. To which contract do you refer when you mean 'this smart contract' ? An owner of the ASA does not recieve bids. If someone outbids the current owner, the ASA is automatically taken from his address and transfered to the new owner. All the bids are sent to the ALGO Delegate Authority clawback address. One additional thing that needs to be implemented is that after the termination of the bidding app, the ALGOs from the ALGO Delegate Auhtority should be sent to the ASA creator i.e the seller of the ASA. In this way he will get his money for the issued ASA.

michielmulders commented 3 years ago

@JSmith-BitFlipper Can you disclose if you are based in the US or not? It's important for paying out bounties. Also, if you have a Discord account, can you share your account ID for fast communication? Thanks!

michielmulders commented 3 years ago

@Vilijan We've got some feedback for your code solution. Let me know what you think and if you can address this?

It is lacking in detail the final step: ending the bidding and completing the asset settlement to seller/bidder. I don't see anything to do with timeout/round indicating when the bidding would end (like an auction). Also, I don't see how seller could "accept" the current highest bid.

Oh, another thing was not clear to me in the first reading: If the ASA is created/defined with clawback of this smart contract, is it reuseable by the Nth owner of the ASA to accept bids when they want to sell it?

Overall, great details and exactly the kind of smart contract content we want published.

Hello @michielmulders ,

Thank you for the detailed feedback.

Final Step

You are right I haven't implemented anything about the final step so the bidding is running infinitely. I would suggest the following feature logic for ending the bidding process:

  • In the initialization step of the app we need to provide an integer number which will define for how many rounds we want the bidding app to be available which will indicate the duration of the auction.
  • If the seller wants to accept the current bidding he should pass an argument to the application which will indicate that the bidding app should not accept biddings anymore.

So basically the application can end either by timeout or by accepting the current bid. Please tell me what do you think about this feature so I can start working on it this weekend. I would need to change the explanation accordingly.

Second point

I don't quite understand this can you please elaborate more. To which contract do you refer when you mean 'this smart contract' ? An owner of the ASA does not recieve bids. If someone outbids the current owner, the ASA is automatically taken from his address and transfered to the new owner. All the bids are sent to the ALGO Delegate Authority clawback address. One additional thing that needs to be implemented is that after the termination of the bidding app, the ALGOs from the ALGO Delegate Auhtority should be sent to the ASA creator i.e the seller of the ASA. In this way he will get his money for the issued ASA.

Thank you for explaining! RE point 1: Yes, that would be perfect! That will make the tutorial more complete. RE point 2: Thanks for clarifying this. Feel free to also implement that functionality related to the end of the bidding process.

Also, feel free to share your Discord ID for faster communication or you can look me up in the Algorand Discord.

gidonkatten commented 3 years ago

@gidonkatten We like the proposal for the charity funding but we don't think we need it at this point, thanks for understanding!

@michielmulders no problem. For future reference how would I in the future avoid this problem? As far as I know there is nothing like a match funding application implemented so what criteria should I be looking at?

DamianB-BitFlipper commented 3 years ago

@michielmulders I am in the US and JSmith-BitFlipper#7843 on Discord.

michielmulders commented 3 years ago

@gidonkatten We like the proposal for the charity funding but we don't think we need it at this point, thanks for understanding!

@michielmulders no problem. For future reference how would I in the future avoid this problem? As far as I know there is nothing like a match funding application implemented so what criteria should I be looking at?

You can make suggestions here and get our feedback or talk to us directly in the chat on Discord to discuss what would be a great idea to implement. So, we are mostly looking at DeFi applications or new ideas instead of recreating existing apps like a funding application. But if it works well on Algorand (e.g. leverages Algorand speed or fast block finality), we can always accept it.

michielmulders commented 3 years ago

@lucasvanmol great idea! We are happy for you to start work on your DApp idea! Feel free to share frequent updates on your progress :) Also, you can reach me in the Algorand Discord

lucasvanmol commented 3 years ago

@michielmulders Hi! I've uploaded my progress on the teal program over at https://github.com/lucasvanmol/algobets if you want to take a look, although there are some minor things I have to add. The frontend part is getting along nicely, and I will push it to the repo soon. Could you add me on discord (drip#6716) so that I can send some questions your way?