No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
Create Impactful Solutions based on the GoodDollar ERC20 Protocol
gooddollar
GoodDollar, Ethereum
### Prize Bounty
First Prize: $1500
Second Prize: $500
Third Prize: $100 + a ticket to [Ethereal Tel Aviv!](https://etherealsummit.com)
### Challenge Description
GoodDollar is a non-profit digital coin created to serve the many and not just the few, by giving everyone who joins a small daily income in the form of UBI. To elevate the poor out of poverty and into financial freedom. To create new trade, new marketplaces, new entrepreneurs, new jobs, new economic growth, new business, for everyone.ˇ
Our society is on the cusp of a financial revolution, at the tipping point of a massive change. Blockchain technology and cryptocurrencies have provided us with an alternative to outdated financial institutions like banks and credit companies but the solutions are not yet complete and the future is still being determined.
We are seeking programmers to propose and create impactful solutions based on the GoodDollar ERC20 Protocol as part of Consensys for Social Impact Global hackathon. The winners will be announced just in time for the first Ethereal conference outside of the US, in the lovely coastal city of Tel Aviv.
Together we now have the means to form our own financial frameworks, decentralized ones, that can be programmed to serve common human interests rather than corporate ones.
Here’s Yoni Assia, Presenting a 15m vision of GoodDollar - [Here](https://www.youtube.com/watch?v=m5LlMwTD2bA)
The Impact of UBI - Now let's solve this globally - [Here](https://youtu.be/UvErJvuWrWc)
### Submission Requirements
- Code should be well documented
- A working example should be deployed
- Address the technical requirements and include explanations of how they have been implemented, with code references.
- Submit your repo(s) with a README file explaining how to deploy your solution
- GoodDollar extensions/modifications should be forked from the relevant repo and submitted as a PR
### Submission Deadline
11:59pm Eastern on September 11th
### Judging Criteria
The winner/winners will be chosen accordingly to the feasibility of the implementation of their solution.
### Winner Announcement Date
We will review the submissions on a rolling basis upon submission. Winners will be notified at the end of the hackathon.
---
Developer Resources
--
- [live alpha version](https://dapp.gooddollar.org)
- [master branch live version](https://gooddev.netlify.com)
- [Quick start dev env](https://github.com/GoodDollar/GoodBootstrap)
- [Docs & Guides](https://docs.gooddollar.org)
- JSDocs and some guides about the architecture
- [UI designed screens](https://xd.adobe.com/spec/8f259bcd-550e-4f0c-40bb-bdce2ed36fe5-f914/grid)
- [UI design patterns](https://xd.adobe.com/spec/0952fd91-2063-4074-7930-b73f863096a6-7f63/grid/)
- [Dev chat](https://gitter.im/GoodDollar)
- Ask us anything
Installs and setup the repos GoodDAPP, GoodServer, GoodContracts and GoodGun
- [GunDB](https://gun.eco)/[GunDB chat](https://gitter.im/amark/gun)
Challenges
--
- [GoodIdentity](#GoodIdentity)
- [GoodDAO](#GoodDAO)
- [GoodReserve](#GoodReserve)
### GoodIdentity
Implement an SDK and extend GoodDAPP to enable "Login with GoodDollar".
Every GoodDollar member has a verified "unique and live" self-sovereign identity (profile).
Profile details are stored encrypted with the user private key over gundb using gun encryption and user management library SEA.
You should implement a system that would enable a 3rd party to request the user details in order for him to login to that 3rd party website/service.
Use case: A Work Marketplace enables its users to login with GoodDollar. The Marketplace, which is trying to reach more people, will implement a sign-in with GoodDollar account in order to speed up user onboarding, and let a registered GoodDollar community member to fill in their details in a click of a button to start receiving remittance for work, received by the site provider, into their GoodDollar wallet.
An example flow:
- user clicks on a "Login with GoodDollar" button
- A QR code and/or a link is displayed to the user
- The user scans the QR code with his GoodDAPP
- The user sees the request details, the requester details and what details does the requester require
- The user then chooses which data to share
- GoodDAPP sends the data to the requester
Technical Requirements
- Javascript snippet for generating the Login button and QR/Link
- QR/Link should include the 3rd party GoodDollar account wallet address/[gundb profile](https://github.com/GoodDollar/GoodDAPP/tree/e17074702ef6fdbb49430cd02002fcd1c453bc8b/src/lib/gundb)
- When an account is whitelisted his blockchain address+profile public key are saved to the [identity smart contract](https://github.com/GoodDollar/GoodContracts/blob/alphav2/contracts/Identity.sol)
- GoodDAPP verifies details from link/QR [GoodDAPP QR usage](https://github.com/GoodDollar/GoodDAPP/blob/e17074702ef6fdbb49430cd02002fcd1c453bc8b/src/components/dashboard/SendByQR.web.js)
- login request came from a whitelisted account
- login request website/details were signed by the requester profile public key. If link was used its possible to compare the referer website to the details
- GoodDAPP shows user a [modal](https://github.com/GoodDollar/GoodDAPP/blob/4af2b2d3bc5e4ce2d2ffc4d8b9e1f52367165578/src/lib/undux/utils/dialog.js) asking which details to send
- The requester details are shown
- The request specific details are shown
- wallet address, profile public key, full name, image, username are always sent
- email/mobile are optional and can be enabled/disabled by the user
- GoodDAPP needs to prove to requester he's the owner of the profile public key
- need some kind of handshake between requester server and GoodDAPP. maybe server sends a nonce that GoodDAPP signs with public key
- Communication can be done via regular https end points or via gundb (websockets based)
- requester server redirects user
- in order for requester page showing QR to refresh, there probably should be a unique identifier generated by the server that is also
send via the QR. this identifier could be the unique channel over gundb that they communicate over. in any case communication should be
encrypted with public keys.
- The QR page could be also listening on that gundb channel to know when user was logged in
- optional: requester is added with permissions to read the user profile fields that were enabled using SEA .grant method
- requester can always be updated when details change
- requester doesnt need to keep any data at all since he can always access the details
- user can revoke access
## GoodDAO
GoodDollar is a community by the people for the people. It offers a model for managing the monetary policy based on its members voting.
The ask: Implement curation markets using [DAOStack's tools](https://github.com/daostack/DAOstack-Hackers-Kit) and [holographic consensus](https://medium.com/daostack/holographic-consensus-part-1-116a73ba1e1c).
The GoodDollar members (DAO) would need to make different decisions and also manage common pool resources.
-Map governance needs for a community-driven to run
-Implement a proposal and voting mechanic which users could participate on.
-The GoodFeed - the feed every user sees when he opens his wallet, this a scarce and valuable resource for passing information to the members of GoodDollar. How would the members decide which news and announcements are worthy to be displayed to everyone?
Technical Requirements
- GoodDollar should be the token for staking
- A script to deploy the smart contracts from DAOStack you've used with the GoodDollar the staking token.
- Choose a topic for curation, could be one of the two examples above or anything else you think might be important
- UI for one of or all:
- submitting proposals, preferably through the GoodDAPP
- voting on proposals, preferably through the GoodDAPP
- staking on proposals, preferably through the GoodDAPP
- list of winning proposals in GoodDAPP
##GoodDonations:
Build an extension to the GoodDollar usage cloud - This could be a seperate Marketplace site, to bring community members together, in order to faciliate direct / pool base donation schemes between people:
****GoodBusiness** →** A mechanic for Any entrepreneur or business to attract GD users community.
Stake yourself or ask to finance your business growth to your customers (Buy GD)
Accept GD as a mean to unlock fiat finance for GDs (Sell GD)
**GoodFund →** Donate to a pool of resources managed by DAO
**GoodPeeps →** Stake a person with monthly UBI
**GoodCommunity →** A mechanic for GD users community to
Ask crowed to finance their community by onboarding multiple businesses (Buy GD)
Accept GD as a mean to unlock fiat finance for GDs (Sell GD)
## GoodReserve
Implement the reserve smart contract. The reserve has three main functions
- Accept donations in Ether (or other ERC20 tokens)
- Sell/Buy GoodDollars for Ether using bonding curves
- Manage the foreign currency reserves for the benefit of the GoodDollar members
Technical Requirements
- Read our economic paper draft, specifically chapter 5.
- Implement a smart contract with the above 3 main functionalities and key things in mind
- How would you try to prevent GoodDollar from being a speculative currency through market making?
- GDX, a token that can give access to the reserve, not everyone can exchange their GoodDollars
- Citizen Dividend - When can you give GDX as a dividend part of the UBI
- Extend GoodDAPP with a UI for interacting with one or more of the reserve contracts functionalities
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save