Skip to content

[BOUNTY] Extend Swarm gateway to support registering uploaded files (to FairOS pod) #57

@crtahlin

Description

@crtahlin

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 can hold information about the uploaded data, if it is meant to be public.

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 FairOS pod

Tasks

Familiarize yourself with FairOS storage solution:

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:

  • the gateway admin can set all the needed info for a FairOS pod to be used / written to

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 FairOS pod, into a key value store

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 FairOS pod 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 gateway app to upload public data, registered to a FairOS pod, following instructions in the readme file

Timeline

Deadline: One calendar week after bounty approval.

Compensation: In BZZ tokens in amount of 1500 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.

Use the Fair Data Society Discord for more information and support.

Mind the Fair Data Society Principles in your tasks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions