The
Rules
The
Rules
SR2 Slingshot is a community competition for storage clients and developers that rewards the storage of real, valuable, and usable data onto the Filecoin Space Race network (testnet). The more real, valuable and usable data you onboard onto the Filecoin network, the more FIL you earn!
false
# Filecoin Slingshot

# How to Participate

To participate in the Slingshot competition, you must store real, valuable, and usable data to the Filecoin network. You must also build an application or UI that uses that data in a meaningful way (whether reading that data directly from Filecoin or from a cache of that data stored elsewhere, like on IPFS). There are many paths to storing data to Filecoin and building these applications and UIs. You can read more about these paths in the Developer Guidance section below.

By "real, valuable, and usable data", we mean:

  1. Application data. You can build an end-user facing application that stores application and user data to Filecoin. The application UI is capable of retrieving the relevant data as needed.

  2. Data collections. You can store data from a curated list of data collections that the Slingshot admin team maintains and create an accompanying UI to utilize / access this data.

The main channels for the Slingshot competition are:

  • Slingshot leaderboard: https://slingshot.filecoin.io. This website is the source of truth for the entire Slingshot competition. It includes information about the general competition purpose, rules, events and programming, registration forms, and the leaderboard. The leaderboard maintains the total size of the reward pool based on the collective efforts of Slingshot participants. It also provides a listing of participants, their eligibility status, and potential rewards.

  • Slingshot repo: https://github.com/filecoin-project/slingshot. This repo is where you can submit PRs to include your project details in the Slingshot leaderboard. Community reviewers will leave feedback directly in the submitted PRs.

  • Slack: We are using these Slack channels in the Filecoin Project Slack workspace to provide Slingshot announcements and help debug any issues. If you are participating in the competition, please make sure you have joined these channels.

    • #fil-testnet-announce — For major announcements about the testnet and major software releases
    • #slingshot-announcements — For major announcements about the Slingshot program
    • #slingshot — For debugging help and community conversations throughout the course of the competition

To sign up for the competition and become eligible for rewards, please complete the following steps:

  1. Slack: Join the Filecoin Slack workspace and the following channels:

    1. #fil-testnet-announce
    2. #slingshot-announcements
    3. #slingshot
  2. Start your project: Decide what data you'd like to store to Filecoin, what application or UI you will build to interact with this data, and what technology stack you'd like to use (more info on this in the Developer Guidance section). Once you have successfully made your first storage deal to the Filecoin network, the Filecoin address you used to make that storage deal will automatically show up on the leaderboard. However, your project will not yet be eligible for rewards.

  3. Register to participate: There are two registration steps to complete:

  4. Pass community review: The team of Slingshot community reviewers will review your project details in the filecoin-project/slingshot GitHub repo to make sure you are eligible to participate in the competition. They will leave feedback for your team in your PR. If your application is accepted, the review team will merge the PR, update the leaderboard with your project information only (no personal information), and mark your project as "Reviewed" on the leaderboard. If your application is not immediately accepted, the review team will ask for more information, which you can provide by updating your PR.

  5. Follow competition rules: If you have completed the prior steps, and follow the competition rules throughout the competition, you will become eligible for rewards. These rules are automatically checked by the Slingshot leaderboard software or, in some cases, manually checked by the Slingshot community reviewers. If you are eligible for rewards, the leaderboard will mark your project as "Eligible". Please note that Eligible projects can become ineligible for rewards throughout the competition if they fail to follow the competition rules on an ongoing basis.

Participants should expect to improve their applications/UIs and grow their data storage on Filecoin throughout the course of the competition. Throughout the competition, the Slingshot leaderboard will be the source of truth, so monitor this leaderboard closely to make sure your project is properly represented there.

Watch this video if you’d like a quick tour through the structure and rules of the SR2 Slingshot competition.


# Competition Rules

  1. Leaderboard Listing:

    1. To show up on the Slingshot leaderboard, you must submit at least 1 successful deal to the Filecoin network.
    2. To be listed as "Reviewed" on the leaderboard, you must submit a registration form on the Slingshot website, submit a PR to the filecoin-project/slingshot GitHub repo, and pass community review.
    3. Note: Showing up on the leaderboard does not automatically make you eligible for rewards.
  2. Eligibility for Rewards: In order to be eligible for any Slingshot rewards, and be listed as "Eligible" on the leaderboard, you must meet the following requirements. These requirements are checked automatically by the Slingshot leaderboard or manually by the community review team throughout the course of the competition. The deadline for all final materials is October 23, 2020 at 1800 UTC.

    1. You must store real, valuable, and usable data to the Filecoin network. This can be application data or data collections (from a list maintained by the Slingshot team). The list of data collections can be found on the Slingshot repo.
    2. You must build an application or UI that uses the data in a meaningful way. You must submit this application or UI as part of the competition and it needs to work.
    3. Your project must pass community review to validate that your project is legitimate. Teams that were once reviewed can become disqualified throughout the course of the competition if they fail to continually follow the competition rules.
    4. You must make storage deals with at least 3 miners on the SR2 network.
    5. You must store each CID such that it can be retrieved from the Filecoin network. We will test for CID retrieval periodically throughout the course of the competition. You must provide a list of all data CIDs stored throughout this competition in deals being counted to your total. Please submit this list as a text-based CSV that includes the 8 columns listed below, with the same names and order (example in Google sheets here, CSV example here):

      1. deal_id: This is an integer uniquely identifying a deal on the Filecoin network. There may not be multiple rows with the same deal ID in this file. The deal ID must be findable on-chain (lotus state get-deal {{number}})
      2. miner_id: The id of form f0XXXX of the miner storing this particular deal
      3. payload_cid: The CID of the root of the DAG representing either the file or the directory contained in this deal. This is the CID you gave to lotus client deal if you are using Lotus
      4. filename: The filename of the resulting content (with any appropriate extensions and conventions)
      5. file_format: The data format (either mime-type or extension) for how a file recipient should interpret the data
      6. size_in_bytes: The size of the CID in bytes. The sum of all size_in_bytes should match all deals for which the project deserves credit
      7. date: The timestamp for when the deal was transacted in the following format (YYYY-MM-dd HH:mm)
      8. curated_dataset_if_applicable: The name of the curated dataset that this data is from, if applicable

        In addition, please provide any additional information that our team will need to retrieve and view the resulting data. This could include instructions to decrypt sensitive data or uncompress/decode the CID to be accessible.

    6. If you are storing application data to Filecoin, this data must be real data by real users (not just accounts created and/or solicited by you and your team). At the conclusion of Phase 1, you must provide data on your users validating that this user data is from legitimate users of your application (example in Google sheets here, CSV example here). You must provide data on your users, including:
      1. user: Unique identifier of user
      2. cid_count: Number of CIDs stored by each user
      3. total_data: How much total data is stored by each user
      4. url: UI link to see the data that was stored by this user in the application that you have developed
    7. You must participate in the Slingshot Showcase.
    8. You are allowed to store up to 10 replicas of the same piece of data on the network. Storing more than 10 replicas will be considered gaming the competition.
  3. Showcase: We are organizing a Slingshot Showcase to highlight the work all Slingshot participants will have done over the course of the competition. You must prepare a maximum 4 minute video that shows your project’s dataset, technical architecture, use case, and a complete demo of the fully functional project UI. This demo video is a requirement to be eligible for rewards! As part of this video, please include the following:

    1. Description of the project (max 1 minute):
      • Target audience
      • Technical design to process and store data on Filecoin
      • Technical design to retrieve and display user information
    2. Demo of the project application or UI (max 3 minutes): This should be a complete demonstration of the application or UI that can be used to explore and retrieve the data you stored for Slingshot. This application or UI also needs to be usable by anyone else in the world to interact with the same dataset.
  4. Disqualification: It is possible that your team may become disqualified at any point in the competition if you become ineligible for rewards, violate the competition rules, or are found to be gaming the competition in any way. You must not plagiarize other projects. Leaderboard results will not be truly final until shortly after the competition ends. The Slingshot admin team will aggregate all data from the leaderboard and community reviewers to determine final eligibility at the end of the competition and the final competition winners.

  5. We reserve the right to change the competition rules as needed in order to ensure healthy competition dynamics.

  6. Lawful Data: Some types of data (like images, videos, texts) have legal rights associated with them (such as copyright). These rights are generally described when you access the data in terms of service or a license agreement. Data used in the Slingshot competition must be lawfully obtained and lawfully used. You may be asked to describe the source(s) of data you store.


# Community Review

Slingshot community reviewers are members of the Filecoin community who have proven themselves to be deeply invested in the long-term health of the Filecoin network. Community reviewers come from different stakeholder communities -- a few storage miners, a few developer tooling builders, a few application developers, investors, and more. We will post on the Slingshot website when we have finalized the community review team!

Slingshot community reviewers will review submission PRs across a number of dimensions. Some of the criteria they will be reviewing for include:

  • Does this project follow the Filecoin Project Code of Conduct?
  • Does this project store authentic and usable data?
  • How does the project plan to structure data and store it? What are the data sizes and dataset details?
  • Does the project seem achievable?
  • Does a UI already exist and does the basic functionality already work? (necessary in order to be listed as "Reviewed" on the leaderboard)

If your project is accepted, the reviewers will merge your PR, update the leaderboard with your project info, and mark your project as "Reviewed". If your project is not immediately accepted, the reviewers will provide feedback in the PR on the revisions they would like to see for reconsideration.


# Rewards

SR2 Slingshot builds on the collaborative and competitive dynamics from SR1. Slingshot distributes a prize pool among all participants. The size of the prize pool is determined by the total amount of data stored on the network. The prize pool is distributed proportionally amongst participants according to the amount of data their project or application is storing on the network.

Slingshot will occur in two phases:

  • Phase 1: Onboard. This initial phase of the competition will start on September 23, 2020. The goal of this phase is to onboard the first PiB of real data onto the Filecoin network!
  • Phase 2: Scale. The second phase will start after Phase 1 completes. The goal of this phase is to go from 1PiB to 10PiB of data onboarded onto the Filecoin network. We will determine the exact timing of Phase 2 after Phase 1 completes.
  • We may add more prize pools or adjust the phases as needed, depending on the pace of the competition!

Current reward prize pools:

Total Data Onboarded Size of Additional Reward Pool (FIL)
Phase 1: Onboard
10TiB 10,000
100TiB 20,000
500TiB 50,000
1PiB 100,000
Phase 2: Scale
5PiB 250,000
10PiB 500,000

Here is an example to demonstrate how rewards will be distributed at the end of the competition.

  • There are four participants in the competition:
    • A stores 5TiB of data, passed the community review stage, and is listed as Eligible on the leaderboard.
    • B stores 5.5TiB of application data, passed the community review stage, and is listed as Eligible on the leaderboard.
    • C stores 5TiB of application data, but did not pass the community review stage and is not Reviewed or Eligible on the leaderboard.
    • D stores 0.5TiB of data and passed community review. However, D stores all their data with 1 miner (instead of 3 or more), and thus has not met all rewards eligibility requirements. D is listed as Reviewed, but not Eligible on the leaderboard.
  • In this case, C and D are not eligible for rewards in the Slingshot competition. This is because C did not pass the community review stage and D stored their data with fewer than 3 miners in aggregate. Thus, only the storage of A and B count for competition rewards.
  • Between A and B, the collective storage is 5 + 5.5 = 10.5TiB of eligible storage. This unlocks the lowest tier, the 10,000 FIL reward pool.
  • Since A and B are the only eligible winners, they split the reward pool proportionally between themselves:

    • Total data size = 5 + 5.5 TiB = 10.5 TiB
    • A's portion of the reward pool = (5/10.5) * 10,000 FIL = ~4,762 FIL
    • B's portion of the reward pool = (5.5/10.5) * 10,000 FIL = ~5,238 FIL
    • Both C and D are ineligible for rewards and receive 0 FIL.

Note: Note: Any rewards earned will vest linearly over six months from mainnet launch, or after the Slingshot competition officially ends, whichever is later.

Note: While we don't expect it, in the unlikely event that Protocol Labs or the Filecoin Foundation determine in their sole discretion that legal or regulatory issues prevent the delivery of any portion of rewards, the rewards may be restructured, postponed, or cancelled.


# Community Choice Awards

In addition to the Storage Rewards described above, we also have Booster Rewards and Community Choice Awards in Phase 1. The Slingshot community reviewers will award a 250FIL prize to the highest-scoring projects in each of the following categories:

  • Scientific Dataset
  • Music
  • Video
  • Machine Learning
  • Dazzling User Interface
  • Outstanding Creativity
  • Technical Complexity

An additional category, Personal User Storage, will have a 3,000FIL prize pool, with the following reward structure:

  • First place: 1,500FIL
  • Second place: 1,000FIL
  • Third place: 500FIL

# Booster Rewards

Every project that is eligible for rewards according to the Rules and stores over 1 GiB of data will receive 50FIL!

# Community Call Out Awards

Community reviewers will also have the option to award projects that do not win any Community Choice awards a “Community Call Out” prize of 50FIL. This will be to recognize projects deserving of recognition in competitive categories.


# Checklist for reward eligibility

The final review process will involve a few different steps to verify your project is following the rules and is eligible for rewards. One of these steps is checking your project against the below checklist. This list is non-exhaustive (there will be other things that the community reviewers check), but should be helpful as your project progresses.

Failure to pass these checks may lead to a decrease in your final rewards. We want to work with you to make sure you’re eligible for all rewards, so just think of these checklists as guides to help you!

There are two different checklists: one for application data storage, and one for curated dataset storage. In the final submission form, you will be signifying which type of project yours is.

# Checklist for Application Data Storage

If your project is a application storing application data on Filecoin, the following checks need to pass:

# UI

  • Users can make an account
  • Users can upload data to the Filecoin network, and files can be displayed in the UI by the user who uploaded it
  • Content is stored in a way where the Slingshot team can access any uploaded content and view the files that have stored by user (e.g., all data is publicly viewable, or you can give us access to an admin account for your project so we can see all uploads)
  • Data needs to be either rendered directly in the app or there should be a download page in your app that allows the data to be downloaded in an unencrypted, usable format
  • The CID of the data (“payload CID”) must be shown in the UI

# Data CID list

You must provide a list of all data CIDs (payload CIDs) that you stored throughout this competition. The total amount of data stored across all CIDs must equal the total data that is listed on the Slingshot leaderboard. Please submit this list as a text-based CSV that includes the 7 columns listed below, with the same names and order (example in Google sheets here, CSV example here - these examples include an extra column, curated_dataset_if_applicable, that you do not need to include if you are submitting an application):

  • deal_id: This is an integer uniquely identifying a deal on the Filecoin network. There can only be one row for each deal ID in your final CSV. The deal must be findable on-chain (lotus state get-deal {{number}} must return a response)
  • miner_id: The id of form f0XXXX of the miner storing this particular deal
  • payload_cid: The CID of the root of the DAG representing either the file or the directory contained in this deal. This is the CID you gave to lotus client deal if you are using Lotus. If you need to find the payload_cid, and only have your deal_id, you can enter your deal_id in a tool like filecoin.tools to find the corresponding payload_cid. This method isn’t guaranteed to work. In general, you should always maintain an index of payload_cid when you store data to Filecoin.
  • filename: The human-readable filename of the data being stored (including format/extension)
  • file_format: The data format (e.g. PDF, jpg, mp4, etc.) for how a file recipient should interpret the data
  • size_in_bytes: The size of the CID in bytes. The sum of all size_in_bytes should match all deals for which the project deserves credit
  • date: The timestamp for when the deal was transacted in the following format (YYYY-MM-dd HH:mm)

Community reviewers will pull a representative set of CIDs off the CID list, try to retrieve them from the Filecoin network, and view the data to validate it is real, useful data. In case you used unusual ways to split the data and/or are using an encryption/obfuscation scheme, you need to provide us supplemental instructions on how to interpret this data after we retrieve it from the Filecoin network.

# User List

The data must be real data by real users (not just accounts created and/or solicited by you and your team). You must provide data on your users, including (example in Google sheets here, CSV example here):

  • user: Unique identifier of user
  • cid_count: Number of CIDs stored by each user
  • total_data: How much total data is stored by each user
  • url: UI link to see the data that was stored by this user in the application that you have developed

# Showcase Video

A video (max 4 minutes), that shows your project’s dataset, technical architecture, use case, and a complete demo of the fully functional project UI. The video must include the following:

  • Description of the project (max 1 minute):
    • Target audience
    • Technical design to process and store data on Filecoin
    • Technical design to retrieve and display user information
  • Demo of the project application or UI (max 3 minutes): This should be a complete demonstration of the application or UI that can be used to explore and retrieve the data you stored for Slingshot. This application or UI also needs to be usable by anyone else in the world to interact with the same dataset.

# Checklist for Curated Dataset Storage

If your project is a storing a curated dataset on Filecoin with an associated UI, the following checks need to pass:

# UI

  • Content is stored publicly - anyone can access and view any uploaded content
  • Data needs to be rendered in the app or downloadable in a useful format
  • The CID of the data must be shown in the UI
  • If multiple curated datasets are being stored, there must be separate pages or filters to just view files from a given dataset

# CID list

  • All data stored on Filecoin should be data from the curated dataset(s).
  • If you are storing public datasets, these must be approved as curated datasets on the Github repo.
  • If you are using your own dataset you have the license to, you have to be willing to make this public and submit a PR to add it to the list of curated datasets in the repo.
  • You must provide a list of all data CIDs (payload CIDs) that you stored throughout this competition. The total amount of data stored across all CIDs must equal the total data that is listed on the Slingshot leaderboard. Please submit this list as a text-based CSV that includes the 8 columns listed below, with the same names and order (example in Google sheets here, CSV example here):
    • deal_id: This is an integer uniquely identifying a deal on the Filecoin network. There can only be one row for each deal ID in your final CSV. The deal must be findable on-chain (lotus state get-deal {{number}} must return a response) must return a response)
    • miner_id: The id of form f0XXXX of the miner storing this particular deal
    • payload_cid: The CID of the root of the DAG representing either the file or the directory contained in this deal. This is the CID you gave to lotus client deal if you are using Lotus. If you need to find the payload_cid, and only have your deal_id, you can enter your deal_id in a tool like filecoin.tools to find the corresponding payload_cid. This method isn’t guaranteed to work. In general, you should always maintain an index of payload_cid when you store data to Filecoin.
    • filename: The human-readable filename of the data being stored (including format/extension)
    • file_format: The data format (e.g. PDF, jpg, mp4, etc.) for how a file recipient should interpret the data
    • size_in_bytes: The size of the CID in bytes. The sum of all size_in_bytes should match all deals for which the project deserves credit
    • date: The timestamp for when the deal was transacted in the following format (YYYY-MM-dd HH:mm)
    • curated_dataset_if_applicable: The name of the curated dataset that this data is from

Community reviewers will pull a representative set of CIDs off the CID list, try to retrieve them from the Filecoin network, and view the data to validate it is real, useful data. In case you used unusual ways to split the data and/or are using an encryption/obfuscation scheme, you need to provide us supplemental instructions on how to interpret this data after we retrieve it from the Filecoin network.

# Showcase Video

A video (max 4 minutes), that shows your project’s dataset, technical architecture, use case, and a complete demo of the fully functional project UI. The video must include the following:

  • Description of the project (max 1 minute):
    • Target audience
    • Technical design to process and store data on Filecoin
    • Technical design to retrieve and display user information
  • Demo of the project application or UI (max 3 minutes): This should be a complete demonstration of the application or UI that can be used to explore and retrieve the data you stored for Slingshot. This application or UI also needs to be usable by anyone else in the world to interact with the same dataset.