fairDataSociety / registry

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fair Data Society Registry

The code in this repo allows to maintain a file in a FairOS decentralized storage, that is used to generate a static page with a browsable list of items.

Specifically, the items being references to data stored in decentralized storage.

Liberate Data Directory example

An example of a Directory generated by the process is the Liberate Data Directory located at: https://directory.fairdatasociety.org/

The FairOS reference of the pod is 5bb2cd9d685a7d98866eb00782a29ec9e8d0384210b455497c29382e85493edc.

You can view the file content with site above or manually by receiving all actual content with FairOS command

pod receive 5bb2cd9d685a7d98866eb00782a29ec9e8d0384210b455497c29382e85493edc

How to contribute to Liberate Data Directory?

Currently, the following decentralized storages are supported:

If you know of a public dataset stored in decentralized storage listed above, you can:

  • fork this repo
  • edit the file /cmd/files.json according to the structure provided below
  • issue a pull request

An editor will review the pull request and process it.

Alternatively, join the Fair Data Society Discord and use the #liberate-data-directory channel to gain more information and support.

How does it works?

A FairOS user is run by an organization. This user creates a FairOS pod and puts files.json inside it. The file contains a list of references to files / data from other providers. All of these files are stored in Swarm using FairOS. Knowing the reference file, any user can download it to their computer.

Registry management

cd cmd
yarn
cp example.env .env

Fill .env file with your credentials.

Upload file updates with this command

node upload.js

Download latest updates

node download.js

Registry list structure

[
    {
        "key": "Top directory/Sub directory/file.png",
        "size": 1572864, // bytes
        "reference-type": "fairos-dfs", // fairos-dfs or swarm
        "reference": "e3f8008136cae4550bf14dbf62640e7011a92bfeabfb36b736c684c98f3999301639402745",
        "license-information": "", // optional - should include link to license file
        "description": ""
    }
]

About

License:GNU General Public License v3.0


Languages

Language:JavaScript 71.4%Language:HTML 15.2%Language:CSS 5.9%Language:Dockerfile 4.6%Language:Shell 2.8%