Swarm is a decentralised data storage and distribution technology - a web3 cloud solution. Data uploaded to Swarm is hosted by a networks of peers, each one holding a piece of the data in a way that redundancy and some other properties are achieved. The data is reconstructed by the downloader, who can retrieve it by knowing a special reference hash of the file, which is calculated at upload.
The data can only be reconstructed by knowing this reference hash, but it is known only by the original uploader. For public data, this poses a problem of discoverability - "if the data is on Swarm, but no-one can find it, does it even exist?".
To help with the problem of discoverability, registries need to exists, that are writable by everyone. Such a public place to write to is made available with a Graffiti feed. Graffiti Feed is an architecture that describes how to form dApp consensus to write onto this commonly writable and readable area on Swarm.
This bounty is about extending the existing Swarm gateway UI to allow users the option to mark uploaded data as public and save its hash and some metadata into a graffiti feed.
Create public repo on Github that contains code (fork the Swarm gateway repo)
Add the following options to Swarm gateway backend:
the gateway admin can set all the needed info for a graffiti feed to be used / written to; though an existing graffiti feed is offered in the code
Add the following features to the Swarm gateway UI:
add option for user to mark uploaded data as "public"
if this option is selected, the user can enter a text as "description" of the uploaded data
when the upload finishes and the reference hash of uploaded data is known, the reference hash and the "description" are written into the graffiti feed
Take care all the parts are coded so they can be easily reused in another app (some kind of module / library to include in other solutions).
Record a short (e.g. 1 minute) demo video of the UI working and the contents of the Graffiti feed shown.
Approving criteria
A new public repo is opened with open source code and a link to the repo is in the Gitcoin issue.
Include Readme file with instructions on how to use the app
Use open source license Apache 2.0
All the tasks are completed
Anyone with a locally running Bee node can spin up the app to upload public data, registered to a Graffiti feed, following instructions in the readme file
Timeline
Deadline: One calendar week after bounty approval.
Compensation: In BZZ tokens in amount of 1000 DAI at the date of payment (as of the price of BZZ / DAI on the day of the payout as determined by Fair Data Society).
Bounty process
One contributor will be selected and approved to work on the project.
Upon completion, the bounty will be awarded to the chosen contributor, if the approving criteria is met.
If the approving criteria is not met, another contributor will be selected and approved. Consequentially the deadline will be extended.
If no project matches all the approving criteria, no bounty will be awarded.
References
References that might be helpful in completing the bounty.
Motivation / background / user story:
Swarm is a decentralised data storage and distribution technology - a web3 cloud solution. Data uploaded to Swarm is hosted by a networks of peers, each one holding a piece of the data in a way that redundancy and some other properties are achieved. The data is reconstructed by the downloader, who can retrieve it by knowing a special reference hash of the file, which is calculated at upload.
The data can only be reconstructed by knowing this reference hash, but it is known only by the original uploader. For public data, this poses a problem of discoverability - "if the data is on Swarm, but no-one can find it, does it even exist?".
To help with the problem of discoverability, registries need to exists, that are writable by everyone. Such a public place to write to is made available with a Graffiti feed. Graffiti Feed is an architecture that describes how to form dApp consensus to write onto this commonly writable and readable area on Swarm.
This bounty is about extending the existing Swarm gateway UI to allow users the option to mark uploaded data as public and save its hash and some metadata into a graffiti feed.
Tasks
Familiarize yourself with Graffiti feed tech:
Familiarize yourself with Swarm gateway:
Create public repo on Github that contains code (fork the Swarm gateway repo)
Add the following options to Swarm gateway backend:
Add the following features to the Swarm gateway UI:
Take care all the parts are coded so they can be easily reused in another app (some kind of module / library to include in other solutions).
Record a short (e.g. 1 minute) demo video of the UI working and the contents of the Graffiti feed shown.
Approving criteria
Timeline
Deadline: One calendar week after bounty approval.
Compensation: In BZZ tokens in amount of 1000 DAI at the date of payment (as of the price of BZZ / DAI on the day of the payout as determined by Fair Data Society).
Bounty process
References
References that might be helpful in completing the bounty.
Use the Fair Data Society Discord for more information and support.
Mind the Fair Data Society Principles in your tasks.