Skip to content

Commit

Permalink
docs: add openrank data challenge (#1875)
Browse files Browse the repository at this point in the history
  • Loading branch information
ccerv1 authored Jul 30, 2024
1 parent a886e90 commit f18f467
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
title: OSO Data Challenge 01
sidebar_position: 2
sidebar_class_name: hidden
sidebar_position: 8
---

# Earn OP rewards for proposing onchain impact metrics
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
---
title: Audit of RF4 Impact Metric Calculations
sidebar_position: 3
title: OSO Data Challenge 02
sidebar_position: 7
---

# Audit of RF4 Impact Metric Calculations

## Objective

Conduct a code and data audit of the 16 impact metrics implemented by Open Source Observer for Optimism Retro Funding 4.
Expand Down
57 changes: 57 additions & 0 deletions apps/docs/docs/contribute/challenges/2024-07-30-openrank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: OSO Data Challenge 03
sidebar_position: 6
---

# Run OpenRank on the Events Table

## Objective

Identify promising use cases for the OpenRank algorithm on top of OSO's events tables. This challenge is being led by Andrew Hong of Bytexplorers (see [here](https://read.cryptodatabytes.com/p/bytexplorers-mission-2-creating-reputation)), but we will provide a prize of $100 for up to three top submissions that leverage the OSO dataset in a novel way.

## Context

Andrew has a [great overview](https://read.cryptodatabytes.com/p/openrank-powering-apps-with-contextual) of the OpenRank algorithm and its potential applications in the blockchain space:

> Crypto frontends today mostly contain simple leaderboards - top tokens by volume, liquidity, mints, points, votes, etc. If we want to move into consumer crypto experiences that beat the behemoths of web2 today, we’ll need more than leaderboards in our app feeds.
Andrew continues to explain how OpenRank's implementation of the eigentrust algorithm is part of a broader trend away from "one feed" for every user and towards a more personalized, context-aware feed that can be tuned by the user:

> The [eigentrust algorithm](https://docs.openrank.com/reputation-algorithms/eigentrust) is similar to pagerank in that it ranks nodes in a graph network. The difference is that it focuses on capturing complex peer-to-peer relationships, as a distribution of trust. It was first built for assigning trust scores in a file sharing network. In crypto, you could imagine using this to proxy high-quality governance delegates or identify trustworthy smart contracts.
For more context, read Andrew's [full post](https://read.cryptodatabytes.com/p/openrank-powering-apps-with-contextual) and also see the [OpenRank documentation](https://docs.openrank.com/).

## Challenge Description

Although the use cases for OpenRank are broad, we are most interested in applications that leverage the OSO events tables. These table contain records of onchain and off-chain events from a variety of sources, including GitHub, Gitcoin Grants, Farcaster, and of course, the Superchain itself.

### Focus Areas

We've queued up a few ideas to get you started:

- **Developer Rank**. This [Hex Notebook](https://app.hex.tech/00bffd76-9d33-4243-8e7e-9add359f25c7/app/1488806c-cc70-4245-b8f6-78ace4a5a0e7/latest) creates a trust seed from early contributors to Ethereum (pre-2018) and identifies a new set of trusted developers (and repos) who are active today. We also have a Jupyter-based [notebook](https://github.com/opensource-observer/insights/blob/main/community/data_challenges/openrank/OpenRank_DevRank.ipynb) here.
- **Repo Rank**. This [notebook](https://github.com/opensource-observer/insights/blob/main/community/data_challenges/openrank/OpenRank_RepoRank.ipynb) looks for recent contributors to any of the repos in the Ethereum GitHub org space (based on commit history). These commits form our "pretrust events". Then, we identify the repos that those developers have starred or forked.

- **Protocol Rank**. This [notebook](https://github.com/opensource-observer/insights/blob/main/community/data_challenges/openrank/OpenRank_ProtocolRank.ipynb) uses the same logic as the Repo Rank notebook, but narrows the curation space to only include projects that have deployed contracts on an Ethereum Layer 2.

- **Gitcoin Project Rank**. This [notebook](https://github.com/opensource-observer/insights/blob/main/community/data_challenges/openrank/OpenRank_GitcoinProjectRank.ipynb) builds on top of our recently-added [Gitcoin Grants dataset](https://docs.opensource.observer/docs/integrate/overview/#gitcoin-and-passport-data), which includes a history of every peer-to-peer donation on the Gitcoin platform. It also taps the Farcaster dataset to identify usernames associated with donors.

### Requirements

To be considered eligible for the challenge, submit a Jupyter notebook (GitHub, Google Colab, Hex) that fulfills the [following requirements](https://read.cryptodatabytes.com/i/146078461/mission-participation-rewards-and-guidelines) listed in the Crypto Data Bytes post **AND** tag us on an issue in the [OSO Insights repo](https://github.com/opensource-observer/insights/issues/new/choose)

A submission should include the following documented steps:

- Running your localtrust and pretrust queries
- Inputting your processed query results into the eigentrust algorithm using the OpenRank SDK
- Applying your eigentrust results to a feed query, returning some weighted ranking of objects.

Please simply include a link to your work in the issue description. (You don't need to submit a pull request.)

## Deadline

The submission deadline is 2024-08-14 23:59 UTC.

## Amount

Up to $100 per submission, with up to three winning submissions. No more than two submissions per contributor. Participants are also eligible for rewards from Bytexplorers per the requirements outlined on their site. Participants will be required to KYC in order to receive payment.

0 comments on commit f18f467

Please sign in to comment.