Welcome to the global virtual hackathon created by GoodDollar to level up the current capabilities of decentralized giving via blockchain to reach the ultimate goal of distributing a universal basic income with the GoodDollar cryptocurrency.
Our society is on the cusp of a financial revolution. 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 blockchain as part of the hackathon for the Ethereal conference in 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. 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.
Submission Requirements
Code should be well documented
A working example should be deployed
Address the technical requirements and include explanations 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.
Implement an SDK and extend GoodDAPP to enable "Login with GoodDollar".
Every GoodDollar citizen has a verified "unique and live" self soveriegn 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.
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
When an account is whitelisted his blockchain address+profile public key are saved to the identity smart contract
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 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
Implement curation markets using DAOStack's tools and holographic consensus.
The GoodDollar citizens (DAO) would need to make different decisions and also manage common pool resources.
Two examples for such resources are:
The GoodReserve - a smart contract which acts as a reserve holding different erc20 tokens donated
or exchanged for GoodDollars. How would the citizens allocate these funds? which projects should the citizens invest in?
The GoodFeed - the feed every user sees when he opens his wallet, this a scarce and valuable resource for passing information
to the citizens of GoodDollar. How would the citizens decide which news and announcements are worthy to be displayed to everyone?
Technical Requirements
A script to deploy DAOStack's smart contracts on fusenet.io, with the GoodDollar as token for making stakes.
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
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 citizens
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 every one can exchange their GoodDollars
Citizen Dividend - When can you give GDX as a dividend part of the UBI
GoodInfrastracture
Implement a SAAS based on exisiting open source software that provides services only for GoodDollars
In order to create value for GoodDollars we would like to provide digital goods and services to our citizens.
We believe using open source software and the current cheap pricing of hosting services we could provide real added value for our citizens
and demand for GoodDollars.
Two examples for such services:
Wordpress hosting
MongoDB shared hosting
Technical Requirements
A UI for paying with GoodDollars for the service
A containerized SAAS platform that can open user accounts for users that paid with GoodDollars.
Each user would have his own dashboard/control panel to manage and access his service
Third Prize
Prize Bounty
TBD
Challenge Description
Welcome to the global virtual hackathon created by GoodDollar to level up the current capabilities of decentralized giving via blockchain to reach the ultimate goal of distributing a universal basic income with the GoodDollar cryptocurrency.
Our society is on the cusp of a financial revolution. 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 blockchain as part of the hackathon for the Ethereal conference in 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. 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.
Submission Requirements
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.
Basics
Developer Resources
Docs & Guides
Dev chat
Quick start dev env Installs and setup the repos GoodDAPP, GoodServer, GoodContracts and GoodGun
GunDB/GunDB chat
Challenges
GoodInfrastructure
GoodIdentity
Implement an SDK and extend GoodDAPP to enable "Login with GoodDollar". Every GoodDollar citizen has a verified "unique and live" self soveriegn 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.
An example flow:
Technical Requirements
GoodDAPP verifies details from link/QR GoodDAPP QR usage
GoodDAO
Implement curation markets using DAOStack's tools and holographic consensus. The GoodDollar citizens (DAO) would need to make different decisions and also manage common pool resources. Two examples for such resources are:
Technical Requirements
GoodReserve
Implement the reserve smart contract. The reserve has three main functions
Technical Requirements
GoodInfrastracture
Implement a SAAS based on exisiting open source software that provides services only for GoodDollars In order to create value for GoodDollars we would like to provide digital goods and services to our citizens. We believe using open source software and the current cheap pricing of hosting services we could provide real added value for our citizens and demand for GoodDollars. Two examples for such services:
Technical Requirements